挂载文件系统
挂载的基本概念
挂载是将存储设备(如硬盘分区、U 盘、光盘等)连接到 Linux 文件系统的特定目录(挂载点),使得系统能够访问存储设备上的数据。
查看已挂载的文件系统
命令:mount 或 df -h
mount 命令示例:
bash
mount
/dev/sda2 on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/cpuset,memory,devices,cpu,cpuacct,blkio,pids type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset,memory,devices,cpu,cpuacct,blkio,pids)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=31,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime,seclabel)
debugfs on /sys/kernel/debug type debugfs (rw,relatime,seclabel)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
overlay on /var/lib/docker/overlay2/l/3ZJ5XQ3FZ34R724J2V67Y7F37N type overlay (rw,relatime,seclabel,lowerdir=/var/lib/docker/overlay2/lower,upperdir=/var/lib/docker/overlay2/upper/3ZJ5XQ3FZ34R724J2V67Y7F37N,workdir=/var/lib/docker/overlay2/work/3ZJ5XQ3FZ34R724J2V67Y7F37N)
bash
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 45G 3.0G 42G 7% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.8M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 976M 137M 840M 14% /boot
tmpfs 379M 0 379M 0% /run/user/0
手动挂载文件系统
命令格式:sudo mount [选项] [设备文件] [挂载点]
常用选项:
-t:指定文件系统类型,如 ext4、xfs、ntfs 等。例如 sudo mount -t ext4 /dev/sdb1 /mnt/data。
-o:设置挂载选项,如 ro(只读)、rw(读写)等。例如 sudo mount -o ro /dev/sdc1 /mnt/readonly。
示例:挂载一个 ext4 格式的分区 /dev/sdb1 到 /mnt/newdisk 目录
bash
sudo mkdir /mnt/newdisk
sudo mount /dev/sdb1 /mnt/newdisk
自动挂载(设置开机自动挂载)
编辑 /etc/fstab 文件:sudo vi /etc/fstab
文件格式:设备文件 挂载点 文件系统类型 挂载选项 转储频率 文件系统检查顺序
示例:/dev/sdb1 /mnt/newdisk ext4 defaults 0 0
解释:/dev/sdb1 是设备文件,/mnt/newdisk 是挂载点,ext4 是文件系统类型,defaults 表示使用默认挂载选项(rw, suid, dev, exec, auto, nouser, async),0 表示不进行转储(备份),0 表示不进行文件系统检查(根分区为 1,其他分区为 2)。
保存并退出编辑器:在 vi 中输入 :wq 保存并退出。
测试挂载配置:sudo mount -a,该命令会根据 /etc/fstab 的配置挂载所有未挂载的文件系统。
**卸载文件系统
- 卸载的基本概念
卸载是将已挂载的存储设备从文件系统中分离,使其无法通过挂载点访问,以便进行设备移除、维护等操作。**
卸载文件系统
命令格式:sudo umount [设备文件或挂载点]
示例:
已知挂载点 /mnt/newdisk,卸载该挂载的文件系统:sudo umount /mnt/newdisk
已知设备文件 /dev/sdb1,卸载该设备挂载的文件系统:sudo umount /dev/sdb1
注意事项:
如果有进程正在使用挂载点下的文件或目录,卸载操作会失败。可以使用 lsof 命令查看哪些进程在使用挂载点,如 sudo lsof /mnt/newdisk,然后关闭相关进程再进行卸载。
可以使用 sudo umount -l(懒惰卸载),它会立即从文件系统中卸载文件系统,但在所有相关进程关闭后才真正完成卸载操作。
通过以上步骤和操作,可以在 CentOS 7 系统中熟练地进行文件系统的挂载和卸载操作,合理管理存储设备和数据访问。