在拿到一块全新的硬盘存储设备后要先分区,然后格式化,最后才能挂载并正常使用。当用户需要使用硬盘设备或分区中的数据时,需要先将其与一个已存在的目录文件进行关联,而这个关联动作就是“挂载”。
mount 命令
mount 命令用于挂载文件系统,格式为“ mount 文件系统 挂载目录 ”。
使用 mount 命令把硬盘设备或分区与一个目录文件进行关联,然后就能在这个目录中看到硬件设备中的数据了。mount 中的 -a 参数会在执行后自动检查/etc/fstab文件中有无被疏漏挂载的设备文件,如果有,则进行自动挂载操作。
参数 | 作用 |
---|---|
-a | 挂载所有在 /etc/fstab 中定义的文件系统 |
-t | 指定文件系统的类型 |
如要把设备 /dev/sdb2 挂载到 /backup 目录,只需要在 mount 命令中填写设备与挂载目录参数就行,系统会自动判断要挂载文件的类型,命令如下:
[root@serverA ~]# mkdir /backup //创建目录
[root@serverA ~]# mount /dev/sda1 /backup //将/dev/sda1挂载到 /backup
设备的名字可能会变来变去,在生产环境这样挂载设备名 sdb 就不太合适了。这时推荐用 UUID(Universally Unique Identifier,通用唯一识别码)进行挂载操作。UUID 是一串用于标识每块独立硬盘的字符串,具有唯一性及稳定性,特别适合用来挂载网络设备。那么,怎么才能得知独立硬盘的 UUID 呢?
使用
blkid
命令。
blkid 命令
blkid 命令用于显示设备的属性信息,英文全称为“block id”,语法格式为“ blkid [设备名] ”。
[root@serverA ~]# blkid //查看设备UUID号
/dev/sda1: UUID="c2de5a25-4f65-4bd0-ad28-a76305371a9f" TYPE="xfs" PARTUUID="6365ed09-01"
/dev/sda2: UUID="MYkZSe-PNiY-YLh5-U19i-kT9M-RUZQ-H1vgB1" TYPE="LVM2_member" PARTUUID="6365ed09-02"
......省略
查询到设备的 UUID 值之后,就可以用它挂载网络设备了:
[root@serverA ~]# mount UUID="c2de5a25-4f65-4bd0-ad28-a76305371a9f" /backup
永久挂载
按照上面的方法执行 mount 命令后就能立即使用文件系统了,但系统在重启后挂载就会失效,也就是说需要每次开机后都手动挂载一下。如果想让硬件设备和目录永久地进行自动关联,就必须把挂载信息按照指定的填写格式“设备文件 挂载目录 格式类型 权限选项 是否备份 是否自检”(各字段的意义见表)写入到 /etc/fstab 文件中。
字段 | 意义 |
---|---|
设备文件 | 一般为设备的路径+设备名称,也可以写通用唯一识别码(UUID) |
挂载目录 | 指定要挂载到的目录,需在挂载前创建好 |
格式类型 | 指定文件系统的格式,比如 Ext3、Ext4、XFS、SWAP、iso9660(此为光盘设备)等 |
权限选项 | 若设置为 defaults,则默认权限为 rw、suid、dev、exec、auto、nouser、async |
是否备份 | 若为 1 则开机后使用 dump 进行磁盘备份,为 0 则不备份 |
是否自检 | 若为 1 则开机后自动进行磁盘自检,为 0 则不自检 |
如果想将文件系统为 xfs 的硬件设备/dev/sdb1 在开机后自动挂载到 /backup 目录上,并保持默认权限且无须开机自检,就需要在/etc/fstab 文件中写入下面的信息,这样在系统重启后也会成功挂载。
[root@serverA /]# blkid //查看设备的UUID
/dev/sdb1: UUID="f17c4201-61ce-472f-b003-77b3cc1b4822" TYPE="xfs" PARTUUID="f06dcfb2-01"
/dev/sdb2: UUID="a0d7d571-0d25-4ffa-a4c9-c41bb84eec98" TYPE="xfs" PARTUUID="f06dcfb2-02"
[root@serverA /]# vim /etc/fstab
......省略 写入以下内容
UUID="f17c4201-61ce-472f-b003-77b3cc1b4822" /backup xfs defaults 0 0
例如挂载光盘,配置YUM仓库,光盘设备的文件系统格式是 iso9660:
[root@serverA /]# vim /etc/fstab //编辑配置文件
/dev/cdrom /mnt/cdrom iso9660 defaults 0 0
[root@serverA /]# mount -a //检查挂载
mount: /mnt/cdrom: WARNING: device write-protected, mounted read-only.
[root@serverA /]# mount | grep cdrom //查询挂载是否成功
/dev/sr0 on /mnt/cdrom type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048)
umount 命令
umount 命令用于卸载设备或文件系统,英文全称为“un mount”,语法格式为“ umount [设备文件/挂载目录] ”。
如果当前就处于设备所挂载的目录,系统会提示该设备繁忙,只需退出到其他目录后再尝试就行了。
[root@serverA /]# umount /backup
[root@serverA /]# mount | grep /backup
df 命令
df 命令用于查看已挂载的磁盘空间使用情况,英文全称为“disk free”,语法格式为“ df -Th ”。-T 参数查看文件类型 , -h 参数便捷地对存储容量进行“进位”操作。 例如在遇到 10240K 的时候会自动进位写成 10M,方便阅读。
[root@serverA /]# df -Th //查看磁盘使用情况
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 969M 0 969M 0% /dev
tmpfs tmpfs 984M 0 984M 0% /dev/shm
tmpfs tmpfs 984M 18M 966M 2% /run
tmpfs tmpfs 984M 0 984M 0% /sys/fs/cgroup
/dev/mapper/rhel-root xfs 17G 3.9G 14G 23% /
/dev/sda1 xfs 1014M 152M 863M 15% /boot
tmpfs tmpfs 197M 16K 197M 1% /run/user/42
tmpfs tmpfs 197M 4.0K 197M 1% /run/user/0
/dev/sdb1 xfs 10G 104M 9.9G 2% /backup
/dev/sr0 iso9660 6.7G 6.7G 0 100% /mnt/cdrom
说到网络存储设备,建议您在 fstab 文件挂载信息中加上
_netdev
参数。加上后系统会等联网成功后再尝试挂载这块网络存储设备,从而避免了开机时间过长或失败的情况
lsblk 命令
若系统中硬盘特别多,分区特别多,都不知道它们是否有被使用,又或者是做了些什么。此时,就可以用 lsblk 命令以树状图的形式列举一下了。
lsblk 命令用于查看已挂载的磁盘的空间使用情况,英文全称为“list block id”,输入该命令后按回车键执行即可。
[root@serverA ~]# lsblk //以树形结构查看磁盘使用情况
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─rhel-root 253:0 0 17G 0 lvm /
└─rhel-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 10G 0 part /backup
└─sdb2 8:18 0 10G 0 part
sr0 11:0 1 6.6G 0 rom /mnt/cdrom
[root@serverA ~]# lsblk -f //查看设备的UUID