news 2026/10/1 4:31:38

Linux磁盘挂载从入门到实战:原理、fstab配置与NAS网络存储详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux磁盘挂载从入门到实战:原理、fstab配置与NAS网络存储详解

搞Linux这些年,磁盘挂载算是遇到频次最高的操作之一了。不管你是刚入行的运维新人,还是自己折腾NAS、装双系统的玩家,都会发现一个问题:网上教程东一榔头西一棒子,这个帖子讲临时挂载,那个帖子讲开机自动挂载,真到自己上手总差那么点意思。今天这篇我就把磁盘挂载这事从头到尾捋一遍,从基础原理到实操命令,再到桌面版Ubuntu永久挂载、NAS网络存储挂载这些高频场景,一次说透,看完你基本能自己搞定绝大多数挂载需求。

1. 搞清楚挂载到底在干什么

很多新手上来就敲命令,mount半天报错,根本原因是没理解Linux里"挂载"这个动作的本质。先把这个基础打牢,后面所有操作都会顺手很多。

1.1 设备、文件系统与挂载点三者的关系

在Linux世界里,一切皆文件,磁盘也不例外。你插上一块硬盘,系统里会多出一个设备文件,比如/dev/sdb,但这时候你还不能直接往里写数据。原因很简单:这块硬盘刚出厂或者刚格式化完,它只是一片存储介质,系统不知道里面数据以什么结构组织。这时候就需要文件系统来定义数据的存储格式,比如ext4、xfs、btrfs,相当于给硬盘规定了"书的目录怎么写、章节怎么排版"。

有了文件系统还不够,你访问数据需要一个入口,这个入口就是挂载点。挂载点本质就是一个普通目录,或者说一个空的目录节点。你把/dev/sdb1挂载到/mnt/data,系统就把这块分区的文件系统和这个目录绑定起来,之后你访问/mnt/data就是访问这块硬盘的数据。

用生活类比就是:设备是仓库,文件系统是仓库里摆放货物的规则,挂载点就是仓库大门上的门牌号。没有门牌号,你找不到仓库;没有摆放规则,你进去了也拿不到想要的东西。

1.2 为什么Linux不主张直接访问设备名

Windows系统里,插上U盘自动分配一个盘符,双击就能进。Linux下体验完全不同,需要手动挂载,这是由它的设计哲学决定的。Linux将设备当作文件放在/dev目录下,但这个目录是动态生成的,设备名会随着插入顺序变化。比如你机器上本来有个/dev/sdb,下次重启后可能变成/dev/sdc,因为启动时枚举设备的顺序变了。

如果直接在服务配置里写死设备名,万一设备名变了,服务就起不来。因此,生产环境推荐使用UUID(全局唯一标识符)或LABEL(卷标)来标识设备,它们不会因为设备名变化而改变。用blkid命令就能查看设备的UUID。

提示:挂载的本质是把文件系统树挂到根目录/的某个节点上,而不是把磁盘挂到磁盘上。理解了这个,你才能理解为什么同一个分区可以挂到不同目录,为什么挂载点目录里的原文件会"隐藏"。

2. 临时挂载实操:从识别设备到成功挂载

临时挂载是最基础的场景,比如你临时插一块U盘拷贝数据,或者测试一块新硬盘。别小看这个过程,里面有几个隐蔽的坑,踩一次就记住了。

2.1 使用lsblk和blkid识别新磁盘

拿到一块未知的磁盘,第一步千万别急着mount,先用两个命令摸底。lsblk能列出所有块设备及其分区关系,直观看到磁盘大小、是否有分区、挂载在哪。blkid能显示设备的文件系统类型和UUID。

# 查看块设备树状图 lsblk # 查看设备详细信息(文件系统类型、UUID) sudo blkid

我记得有次给一台机器加数据盘,lsblk一看,/dev/sdb是存在的,但/dev/sdb1分区还没有建立,所以/dev/sdb下面没有子项。这种情况直接挂载整个磁盘会报错"wrong fs type, bad option, bad superblock"。必须先分区,或者直接在整块盘上创建文件系统(不推荐,最好还是分区)。

区分一下几个常见输出:

  • sda、sdb这种不带数字的,是整块磁盘设备
  • sda1、sdb2这种带着数字的,是磁盘上的分区
  • lsblk里带└─前缀的,是分区或逻辑卷

2.2 使用mount命令完成首次挂载

假设你已经看到/dev/sdb1存在,且文件系统是ext4,挂载操作就三步:

# 1. 创建挂载点目录 sudo mkdir -p /mnt/data # 2. 挂载设备到目录 sudo mount /dev/sdb1 /mnt/data # 3. 验证是否成功 df -h /mnt/data

这里有几个细节要注意。挂载点目录必须是空目录,如果目录里原本有文件,挂载后这些文件会被隐藏,直到卸载后才会重新出现。这个特性有人觉得坑,但它其实是Linux的防御机制,防止你在挂载时误删数据。

另外,mount命令如果不指定文件系统类型,系统会自动检测。遇到无法自动识别的情况,可以显式指定:

sudo mount -t ext4 /dev/sdb1 /mnt/data

-t参数指定文件系统类型,-o参数则是指定挂载选项,比如只读挂载就加-o ro。我建议新手在刚接触时,养成用mount -o的习惯,因为很多时候你需要加权限、性能、特殊功能相关的选项。

2.3 卸载的正确姿势:umount操作

有挂载就有卸载,umount命令看似简单,实际经常翻车。最常见的报错是target is busy,意思是设备正被某个进程占用。这通常是因为你的shell当前目录正好在这个挂载点里,或者有服务在读写这个目录。

# 卸载挂载点 sudo umount /mnt/data # 如果提示busy,先查谁在用 sudo lsof /mnt/data # 或者 fuser -m -v /mnt/data

查出占用进程后,干掉进程再卸载,或者用懒卸载:

sudo umount -l /mnt/data

-l表示懒卸载,先脱离文件系统树,等进程结束后再彻底卸载。这个选项在NFS挂载点卡死时尤其好用,但注意它治标不治本,进程可能还会在后台操作旧挂载点数据。

注意:卸载操作务必要在数据同步完成后进行。虽然现代文件系统有日志和缓存机制,但强制卸载可能造成数据不一致,严重的话文件系统需要fsck修复。

3. 永久挂载:fstab配置精讲

临时挂载重启就没了,服务器重启后还得手动mount,这不现实。永久挂载需要配置/etc/fstab文件,这个文件是Linux开机自动挂载的核心。

3.1 /etc/fstab文件结构逐列解读

fstab里每一行代表一个挂载项,共6列,用空格或制表符分隔。以最典型的开机挂载为例:

# 设备标识 挂载点 文件系统类型 挂载选项 dump pass UUID=xxx /mnt/data ext4 defaults 0 2

第一列指定设备,强烈建议用UUID而不是/dev/sdb1,原因前面说过,设备名会漂移。第二列是挂载点。第三列是文件系统类型,比如ext4、xfs、nfs、cifs等。第四列是挂载选项,defaults代表rw、suid、dev、exec、auto、nouser、async这些默认组合,大多数场景够用。第五列是dump备份标记,生产环境一般填0。第六列是开机自检顺序,根文件系统填1,其他可填2,不需要自检填0。

3.2 桌面版Ubuntu永久挂载磁盘的正确方法

插上移动硬盘或者加了块数据盘,在Ubuntu桌面版上双击能打开,但重启后又要手动点击,很不优雅。永久挂载和服务器没啥区别,也是改/etc/fstab,但有几个桌面版特有的坑要注意。

先获取分区的UUID:

sudo blkid /dev/sdb1

然后编辑/etc/fstab,追加一行:

UUID=你的UUID /mnt/data ext4 defaults 0 2

接下来是重点,一定不要重启验证!先执行:

sudo mount -a

mount -a会重新挂载fstab里所有未挂载的项。这条命令能当场检验fstab配置是否正确,如果这里报错,重启后大概率会卡在开机界面进不了系统。

桌面版Ubuntu还有一个常见需求:希望磁盘挂载后有图形化权限,能直接通过文件管理器读写。这就要在挂载选项里加uid和gid,或者fmask和dmask。比如NTFS分区,设置所有用户可读写:

UUID=你的UUID /mnt/data ntfs-3g defaults,uid=1000,gid=1000,dmask=022,fmask=133 0 0

uid=1000是第一个安装系统的用户,如果是其他用户就改成对应的uid。加dmask=022是让目录权限为755,fmask=133让文件权限为644。用这块命令处理NTFS分区,比每次手动chmod靠谱得多。

3.3 fstab写错导致无法开机的应急恢复

说实话,fstab写错是Linux运维翻车率最高的操作之一,我自己也踩过,开机卡在emergency mode,提示Failed to mount。正因此更要提前知道怎么自救。

系统启动时如果发现fstab配置有问题,会进入紧急模式(emergency mode)或者直接停在登录界面前。这时候系统不是完全死了,root密码可以的话直接登录。如果连root密码验证都过不去,就要用启动盘。

在紧急模式下,先以只读方式检查fstab:

cat /etc/fstab

看到配置哪里错了,直接改掉,然后重启。但问题是紧急模式下根文件系统是只读的,得先重新挂载为读写:

mount -o remount,rw /

然后再编辑fstab修正错误。修正完之后,执行mount -a验证,确认无误再重启。

我自己常用的一个保险做法:修改fstab前先备份,把当前fstab复制一份:

sudo cp /etc/fstab /etc/fstab.bak

这样就算改出问题,只要还能进紧急模式,用备份恢复就行:

cp /etc/fstab.bak /etc/fstab

上传这个技巧给新手,能少流不少冷汗。

4. NAS网络存储挂载:NFS与CIFS实战

现在很多家庭和公司都有NAS,Linux挂载NAS存储是高频需求。这涉及网络文件系统,和本地磁盘挂载原理一致,但多了网络这一层变数,配置选项也更复杂。

4.1 NFS挂载详细配置及性能优化参数

NFS是Linux/Unix系统之间共享文件的标准协议。场景很典型:你有台群晖NAS,想在多台Linux服务器上挂载同一个目录,方便集中存储数据。

先确保系统有NFS客户端工具:

# Debian/Ubuntu sudo apt install nfs-common # CentOS/Rocky sudo dnf install nfs-utils

然后直接挂载:

sudo mount -t nfs 192.168.31.100:/volume1/data /mnt/nas

NFS挂载有几个参数直接影响性能和稳定性。vers=4.2指定NFS协议版本,新版协议对锁、安全性和性能都有优化。noatime禁止更新访问时间戳,能减少大量写操作。hard和intr配合使用,服务端恢复后客户端能自动重连,避免挂死。

生产环境,我一般这样挂:

sudo mount -t nfs -o vers=4.2,noatime,hard,intr,rw 192.168.31.100:/volume1/data /mnt/nas

写入fstab实现开机自动挂载时,要特别注意_netdev选项。这个选项告诉系统等到网络就绪后再挂载,没有它,开机时网络还没起来,fstab急着挂载NFS就会失败,导致开机卡住。

192.168.31.100:/volume1/data /mnt/nas nfs rw,hard,intr,noatime,vers=4.2,_netdev 0 0

4.2 SMB/CIFS挂载Windows共享与NAS的差异

Windows共享文件夹用的SMB协议,在Linux下用CIFS方式挂载。挂载NAS的SMB共享时,需要指定用户名和密码。

安装客户端:

sudo apt install cifs-utils

挂载命令:

sudo mount -t cifs //192.168.31.100/share /mnt/share -o username=yourname,password=yourpass,vers=3.0

有个安全细节:直接在命令行写密码会留在shell历史里,安全性很差。推荐做法是把凭据存到单独文件,设置600权限,然后通过credentials选项引用:

# 创建凭据文件 sudo vim /etc/samba/credentials # 写入内容: # username=你的用户名 # password=你的密码 # 挂载时引用 sudo mount -t cifs //192.168.31.100/share /mnt/share -o credentials=/etc/samba/credentials,vers=3.0,uid=1000,gid=1000,file_mode=0755,dir_mode=0755

vers=3.0是SMB协议版本,老版本SMB1在安全上有严重漏洞,除非是十几年前的老设备否则不建议用。uid、gid和文件权限选项解决了Linux权限和Windows权限的映射问题,不配置的话挂载后文件所有者大概率是root,普通用户只读。

4.3 网络存储挂载常见的连接超时与中断问题

网络存储和本地磁盘最大的区别是,网络会抖动,设备会掉线。有次我在生产服务器挂NFS,运行好好的,隔几天发现写数据特别慢,dmesg一看全是nfs: server not responding。

排查思路要清晰,先确认网络通不通:

ping 192.168.31.100

再确认NFS服务端是否正常:

showmount -e 192.168.31.100

如果服务端正常而挂载点响应慢,多半是网络链路问题或者服务端负载过高。NFS挂载参数里的timeo(超时时间)和retrans(重传次数)可以调整,但根本办法是排查NAS网口、交换机端口的协商速率,必要时换网线。

CIFS挂载遇到"broken pipe"或"connection reset"时,先看是不是SMB协议版本不匹配,再看内核日志:

sudo dmesg | tail -50

多实践几次,你会发现网络存储挂载出问题,八成是协议版本或网络链路,而不是参数配错。

5. 挂载选项选择与权限问题深度解析

挂载选项直接决定了你对这块存储的访问方式。很多新手挂载后发现能读不能写,或者写入了但权限不对,都是这里的问题。

5.1 defaults与noexec、nosuid等安全选项用在哪里

defaults是大多数教程默认给的选项,包含rw、suid、dev、exec、auto、nouser和async。但有些场景下用defaults并非最优,甚至不安全。

noexec表示该文件系统上不能执行可执行文件。挂载/tmp分区时加上这个选项,能避免攻击者在临时目录放恶意程序。很多安全加固文档里都会强调。nosuid表示忽略setuid和setgid位,防止普通用户通过/tmp下的程序提权。nodev表示不解释设备文件,防止在这个挂载点创建设备文件造成安全隐患。

挂载外部移动磁盘,我习惯加:

sudo mount -o rw,nosuid,nodev,noexec /dev/sdb1 /mnt/usb

这相当于给U盘访问加了一层沙箱,即使U盘里有恶意程序,也无法通过这个挂载点执行。对于PHP上传目录、临时文件目录等场景,noexec也是标配。别觉得麻烦,安全是一票否决项。等真出问题时,后悔都晚了。

5.2 权限不足与用户映射的排查顺序

挂载NTFS或exFAT分区后,发现只有root能写,普通用户写不了,这是权限映射没配好。现代挂载工具会自动处理一部分,但手动挂载时还是容易踩坑。

排查顺序:

  1. 先看文件系统类型:NTFS用ntfs-3g,exFAT用exfat-fuse,FAT32直接用vfat驱动,不同文件系统的权限模型不同
  2. 再看挂载选项里有没有指定uid、gid,没指定默认是root
  3. 最后检查挂载点目录本身的权限是否能被对应用户访问

比如挂载exFAT格式的移动硬盘,普通用户要读写:

sudo mount -t exfat /dev/sdb1 /mnt/usb -o uid=1000,gid=1000,umask=022

Windows分区没有Linux的权限概念,所以用uid、gid强制指定文件所有者为特定用户,再用umask或fmask、dmask控制默认权限位。这些参数的作用原理都一样:文件系统本身不具备权限元数据,所以在挂载层把权限"做"出来。

5.3 开机自动挂载与桌面文件管理器显示的关系

在桌面Linux发行版中,除了fstab,还可能有桌面环境自带的挂载管理机制。Ubuntu的GNOME桌面有个特性:如果fstab里写了某个分区挂载到/mnt/data,文件管理器的侧边栏还会显示这个分区的独立入口。点击它,系统可能尝试再次挂载,导致"already mounted"提示。

想避免这种困惑,两种做法:

一是直接使用同一挂载点,不要在意桌面侧边栏的显示,那不是错误,只是桌面环境整合了系统挂载信息。

二是用x-gvfs-show选项,让GNOME桌面在侧边栏显示一个有明确名字的挂载项,方便识别:

UUID=你的UUID /mnt/data ext4 defaults,x-gvfs-show 0 2

如果你的需求是插入U盘自动弹窗,那反而不建议写fstab,桌面环境自带的udisks机制就做得很好,不需要系统级挂载来插手。

6. 常见问题与排查技巧实录

挂载踩坑多了,总结几个高频问题。每个问题我都备注了排查思路和应对方法,照着查能省不少时间。

6.1 高频问题速查表

问题现象可能原因排查命令解决方法
mount时报wrong fs type文件系统类型未安装或指定错误blkid查看类型安装对应工具,如ntfs-3g、exfat-fuse
target is busy目录被进程占用lsof 挂载点结束进程或用umount -l懒卸载
no medium found设备无介质(光驱常见)lsblk查看设备状态检查设备连接,或忽略该设备
开机卡在emergency modefstab配置错误cat /etc/fstab修复错误项,Remount rw后恢复
写权限为只读文件系统以ro挂载或权限映射不对`mountgrep 挂载点`
NFS连接超时网络不通或服务端宕机ping、showmount -e排查网络,检查NAS状态
挂载后看不到内容挂载点下有旧文件被隐藏ls -a查看挂载点卸载后访问原目录即可看到

这张表是我从实操记录里整理出来的,基本覆盖了90%的日常问题。值得注意的是,排查问题时务必按"设备识别 → 文件系统识别 → 挂载参数 → 权限验证"这个顺序,不要跳步,不要凭感觉。很多时候,问题就出在你以为绝对正确的那一步。

6.2 一个完整的挂载故障排查实录

有次帮朋友处理一台Ubuntu机器,他插了块移动硬盘,说双击打不开,提示not authorized。桌面文件管理器无权挂载,这种问题很典型,但排查起来却涉及好几层。

先用lsusb确认移动硬盘被系统识别,再用lsblk看分区,发现/dev/sdc1正常。接着用udisksctl手动挂载:

udisksctl mount -b /dev/sdc1

这个命令以当前用户身份触发挂载,如果报权限不足,就需要看polkit策略。桌面环境的自动挂载由polkit授权控制,某些精简系统或者自编译的桌面,策略配置缺失,普通用户就无法挂载。

最简单的解决方案是把挂载动作交给fstab解决,前提是设备固定。移动硬盘这种经常插拔的设备,用fstab管理会有点别扭,每次插入挂载点不变但你得手动mount -a。

更灵活的做法是配置udev规则,检测到特定设备插入时自动执行挂载脚本。这个方案门槛稍高,但一劳永逸。我给朋友写了个简单的udev规则,检测移动硬盘插入后自动mount到/media/backup,拔掉后自动umount,体验和Windows差不多了。

这种"搞不定就给个更自动化的方案"的思路,其实也适合很多Linux问题的处理路径。死磕桌面权限策略不如换个角度,从系统层面主动接管。

6.3 避免踩坑的几条独家经验

经验这东西,真得自己趟过水才记得牢。下面几条是我实际操作中反复验证过的,对新手上路特别有用。

第一,任何生产配置改动前,先备份。改fstab前备份fstab,改网络配置前备份网卡文件,改挂载脚本前备份脚本。花三十秒备份,能避免几小时的救火时间。

第二,不要相信设备名,尤其是多块硬盘的机器。今天/dev/sdb是数据盘,明天可能就变了。脚本里尽量用UUID,手工操作时也先用blkid确认。

第三,挂载网络存储时,永远要考虑断网情况。不加hard,intr或_netdev的NFS挂载,断网后可能导致整个系统负载飙升,连ls都卡住。要是服务器重启还因为fstab里的NFS挂载卡住,那滋味相当酸爽。

第四,学会用findmnt这个命令。它比mount命令输出更清晰,树状显示挂载关系,排查挂载点是利器:

findmnt /mnt/data

7. 桌面版与服务器版场景下的差异总结

前面讲的很多内容,桌面版和服务器版都通用,但两者在使用场景上确实有些不一样的讲究,这里专门拎出来说说。

7.1 桌面版Ubuntu的挂载特点与文件管理器集成

桌面版的核心诉求是易用。GNOME桌面环境下,USB设备插入会自动挂载到/run/media/用户名/卷标目录,弹出U盘时当心别直接拔,先在文件管理器点"安全移除"。这个流程由udisks管理,不需要你配置fstab。

但桌面版的"易用"有时候反而是障碍。比如你想开机挂载一块内置NTFS数据盘到固定目录,桌面环境下文件管理器能访问,但命令行工具的权限模型和桌面环境未必一致,经常遇到终端里写不了、文件管理器里能写的情况。

针对这种情况,我建议在桌面版上明确"系统数据盘"和"移动存储"的边界。系统数据盘写入fstab做固定挂载,用前面说的uid、gid、fmask参数保证桌面用户可写。移动存储就让udisks自动管理,不要写fstab,以免插拔时挂载状态混乱。

7.2 服务器版突出稳定性与自动化的挂载策略

服务器上挂载东西,核心诉求是稳定和可预期。服务器不会有人去桌面环境点击"弹出U盘",都是脚本和配置驱动。因此,服务器挂载更多关注这几个点:是否开机自动挂载、挂载选项是否合理、网络存储是否配置了断线重连、是否有监控能告警。

服务器加数据盘的流程可以固化为:

# 1. 分区与格式化 sudo fdisk /dev/sdb sudo mkfs.xfs /dev/sdb1 # 2. 创建挂载点并挂载 sudo mkdir /data sudo mount /dev/sdb1 /data # 3. 写fstab实现开机自动挂载 echo "UUID=$(blkid -s UUID -o value /dev/sdb1) /data xfs defaults 0 2" | sudo tee -a /etc/fstab # 4. 验证 sudo mount -a df -h /data

这套流程看着简单,却是很多生产环境的标准操作模板。每一步都规范执行,大大减少后续故障率。

7.3 根据使用场景选择合适的文件系统

挂载前想清楚用什么文件系统,比挂载时反复调参数重要得多。当前主流的Linux文件系统里,ext4兼容性好、稳定成熟,是通用场景首选。xfs有更好的大文件和高并发写入性能,适合数据库、大数据存储。btrfs自带快照、压缩、校验功能,适合个人NAS,但生产环境中对它的稳定性仍有争议。

外接移动设备则是另一套逻辑。NTFS是Windows的默认格式,用在跨平台U盘和移动硬盘上最方便,Linux通过ntfs-3g支持有限度地读写。exFAT适合存大于4GB的单文件,又不需要NTFS的复杂权限机制,是U盘、SD卡的好选择。FAT32兼容性最好但单文件不能超过4GB,除了老设备基本可以淘汰了。

提示:对自用NAS和服务器数据盘,如果不是有特别的跨平台需求,用Linux原生文件系统会比NTFS、exFAT可靠得多。NTFS在Linux下毕竟是兼容层,异常断电后的恢复能力不如ext4和xfs。

8. 几个实用扩展:LVM逻辑卷与挂载点管理

基础挂载搞定了,进阶的玩法也得了解一点。这里说下LVM逻辑卷和挂载点目录的规划,它们能让你的磁盘管理更加灵活。

8.1 LVM逻辑卷创建与挂载完整流程

LVM(逻辑卷管理)的价值在于动态调整大小。传统分区一旦建好,要扩容就得折腾相邻分区,风险很大。LVM把物理分区抽象成物理卷(PV)、卷组(VG)和逻辑卷(LV)三层,逻辑卷可以随时扩大甚至缩小。

创建LVM并挂载的流程:

# 1. 初始化物理卷 sudo pvcreate /dev/sdb # 2. 创建卷组 sudo vgcreate vg_data /dev/sdb # 3. 创建逻辑卷 sudo lvcreate -L 100G -n lv_data vg_data # 4. 创建文件系统并挂载 sudo mkfs.xfs /dev/vg_data/lv_data sudo mkdir /data sudo mount /dev/vg_data/lv_data /data

后续扩容时,只需扩逻辑卷再扩文件系统:

sudo lvextend -L +50G /dev/vg_data/lv_data sudo xfs_growfs /data

用LVM管理数据盘的好处是,哪天空间不够了,加一块物理盘,扩展卷组和逻辑卷,文件系统在线扩容,业务几乎不受影响。这个优势在公司生产环境中体现得尤为明显。

8.2 挂载点规划原则与目录结构建议

挂载点不是随便建个目录就完事,规划得好能省很多心。我给几个自己常用的原则:

第一,挂载点命名要有明确含义。/data、/mnt/backup这种一眼能看出用途的命名,比/mnt/sdb1这种设备名命名强太多。设备名会变,但目录名不会,服务配置里写死目录名是安全的。

第二,不要把挂载点建在系统关键目录下。比如直接在/home下面挂一块盘,把用户目录顶掉,操作失误就麻烦了。独立分区挂到独立目录,互不干扰。

第三,FHS(文件系统层次标准)约定的目录要善用。/mnt用于临时挂载,/media用于可移动设备,/srv用于服务数据。遵循约定,别人接手时能快速理解你的布局。

挂载点规划这种事,看似不起眼,实际上决定了你后续运维的舒适度。我自己见过把数据盘挂到/root/Downloads下面的,后来服务权限一改,全乱套了。

8.3 磁盘挂载后监控磁盘空间的使用量命令

挂载完成只是开始,运维日常里看磁盘空间是高频操作。df -h是查看磁盘空间的第一命令,但还有几个组合技巧。

# 查看磁盘空间和使用率 df -h # 查看inode使用率(inode耗尽也会导致无法写入) df -i # 查看当前目录下占用最大的目录 sudo du -sh /* | sort -rh | head -20

df -i特别容易被人忽略。有次一台机器明明df -h显示空间还剩好多,但应用就是报"no space left on device",一查inode全满了,就是因为目录里小文件太多,把inode表耗尽了。养成每次看df时顺便看一眼df -i的习惯,能提前避开这种坑。

挂载工作做到这里,基本已经覆盖了入门到进阶的绝大多数环节。Linux磁盘挂载的难度不在于命令复杂,而在于你需要理解它背后的抽象机制,理解设备、文件系统、挂载点三者之间的关系。理解了这个模型,不管是本地磁盘、LVM还是NAS网络存储,都只是同一个挂载思维在不同场景下的应用罢了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/1 4:30:10

C++输入缓冲区的换行符陷阱:cin与getline混用排查指南

1. 输入缓冲区里的那个"吃不完"的换行符很多人学C学到输入输出的时候,都会遇到一个特别诡异的场景:明明代码写得没毛病,逻辑也对,可程序跑起来就是不按套路出牌,输入完一个数字以后,后面的字符串…

作者头像 李华
网站建设 2026/10/1 4:30:09

从命令行到脚本:掌握Shell编程的核心逻辑与避坑指南

先问个问题:你在Shell里敲过的最长一条命令是什么?是一长串管道,还是带了一堆awk的ps aux | grep xxx?如果你能熟练拆解这些命令,却始终写不出一份像样的Shell脚本,那大概率卡在同一个小坎上——你一直把Sh…

作者头像 李华
网站建设 2026/10/1 4:28:58

macOS下原生MAME模拟器完全配置指南:从编译到ROM管理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/1 4:28:12

配电网N-1扩展规划建模:约束线性化与Matlab实现

干过配电网规划的朋友应该都有体会:光做"负荷预测网架校验"远远不够,真正让方案落地的挑战在于安全准则的约束,尤其是N-1校验。近两年各省配电网规划逐步从"缺什么补什么"转为"全要素扩展规划",新建…

作者头像 李华
网站建设 2026/10/1 4:28:08

Windows下MinIO后台运行指南:用NSSM实现开机自启与崩溃恢复

在Windows上跑MinIO,最让人头疼的不是下载和安装,而是“怎么让它一直活着”。我见过太多人把minio.exe双击运行后往那一丢,结果Windows半夜自动更新重启了一次,机器起来了MinIO却没跟着起来,第二天整个团队的图片上传全…

作者头像 李华
网站建设 2026/10/1 4:27:37

Flask实战:环卫工人管理系统开发复盘——从数据库到前端

先直接说结论。这个项目就是用 Python 的 Flask 框架做一套网页版环卫工人管理系统,核心功能是:环卫工人的档案登记、排班考勤、绩效打分和工资汇总。管理员在浏览器里就能完成日常操作,不用再抱着 Excel 表格换来换去。我之所以想把整个项目…

作者头像 李华