原创系统笔记

Linux挂载硬件设备

本文阅读 6 分钟
首页 系统笔记 正文

在拿到一块全新的硬盘存储设备后要先分区,然后格式化,最后才能挂载并正常使用。当用户需要使用硬盘设备或分区中的数据时,需要先将其与一个已存在的目录文件进行关联,而这个关联动作就是“挂载”。

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
原创文章,作者:張旭,如若转载,请注明出处:http://www.zxbke.cn/54.html/