设置启动挂载

目录

1. 设置启动挂载

手动处理挂载不是很人性化,我们总需要让系统自动在启动时就进行挂载
直接去 /etc/fstab 内进行修改

1.1 启动挂载 /etc/fstab 及 /etc/mtab

/etc/fstab】是启动时的配置文件,实际文件系统的挂载是记录到【/etc/mtab】与 【/proc/mounts】 这两个文件中

系统挂载限制:

  • 根目录( / )是必须挂载的,而且一定要先于其他挂载点被挂载
  • 其他挂载点必须为已建立的目录(可任意指定)但一定要遵守必需的系统目录架构原则(FHS)
  • 所有挂载点在同一时间内,只能挂载一次
  • 所有硬盘分区在同一时间内,只能挂载一次
  • 如若进行卸载必须先将工作目录(当前所处目录)移到挂载点(及其子目录)之外

查看 /etc/fstab 中的内容

[root@study ~] cat /etc/fstab

设置启动挂载

 [设备 / UUID等]   [挂载点]   [文件系统]  [文件系统参数]  [dump]  [fsck]

设置启动挂载
范例:
假设我们每次启动都将【/dev/vda4】自动挂载到【/data/xfs】该如何操作?

1.首先,用nano编辑器将下面一行写入到【/etc/fstab】的最后面

[root@study ~] nano /etc/fstab
UUID = "e0fa7252-b374-4a06-987a-3cb14f415488"  /data/xfs  xfs  defaults  0  0

2.观察【/dev/vda4】是否已经挂载,如已经挂载,请先将其卸载

[root@study ~] df
Filesystem   1K-blocks  Used  Available  Use%  Mounted On
/dev/vda4    1038336   32864  1005472    4%    /data/xfs
[root@study ~] umount /dev/vda4

3.测试刚刚写入【/etc/fstab】的语法有无错误,如果此文件写错,可能导致Linux无法顺利启动完成。

[root@study ~] mount -a
[root@study ~] df /data/xfs

最终看到【/dev/vda4】被挂载起来的信息代表挂载成功,以后每次启动都会顺利地将此文件系统挂载起来。

4.万一【/etc/fstab】输入地数据错误,导致无法顺利启动成功,而进入单人维护模式中,可利用以下命令:

[root@study ~] mount -n -o remount,rw /

1.2 特殊设备 loop 挂载(镜像文件不刻录就挂载使用)

无需将文件刻录成光盘或 DVD 就能够读取内部的数据

1.2.0 挂载CD/DVD镜像文件

范例:
将CentOS 7.x 的DVD镜像文件进行挂载

[root@study ~] ll -h /tmp/CentOS-7.0-1406-x86-64-DVD.iso #查看镜像文件
-rw-r--r--  1  root  root  3.9G  Jul  7  2014  /tmp/CentOS-7.0-1406-x86-64-DVD.iso
[root@study ~] mkdir /data/centos_dvd #建立空目录作为挂载点
[root@study ~] mount -o loop /tmp/CentOS-7.0-1406-x86-64-DVD.iso  /data/centos_dvd #利用 loop 设备将镜像文件挂载到空目录/data/centos_dvd(挂载点是文件系统的入口)
[root@study ~] df /data/centos_dvd
Filesystem   1K-blocks  Used  Available  Use%  Mounted On
/dev/loop0   4050860  4050860     0      100%  /data/centos_dvd
[root@study ~] ll /data/centos_dvd
total 607
-rw-r--r--  1  500  502  14  Jul 5 2014 CentOS_BuildTag #DVD 内容
......
[root@study ~] umount /data/centos_dvd #卸载挂载点

无需将文件刻录成光盘或 DVD 就能够读取内部的数据,也可以在此文件中去修改文件,这也就是为什么许多镜像文件提供后,还得提供验证码(MD5)给用户确认该镜像文件没有问题

1.2.1 建立大文件以制作loop设备文件

解决系统的分区不合理情况
举例:
如果当初分区时,只划分了一个根目录( / )假设没有多余的容量进行额外分区,但根目录容量很大。此时制作出一个大文件,然后将这个文件挂载,如此一来感觉上就会多一个分区

1.建立大型文件
dd】可用来建立空文件,假设要在【/srv/loopdev】建立一个空文件

[root@study ~] dd if=/dev/zero of=/srv/loopdev bs=1M count=512
512+0 records in #读入512条数据
512+0 records out #输出512条数据
536870912 Bytes  (537 MB) copied, 12.3484 seconds, 43.5 MB/s
# if : input file,输入文件,/dev/zero 是会一直输出 0 的设备
# of : output file,将一堆 0 写入到后面的文件中(这里是/srv/loopdev) 
# bs : 是block的size,就像文件系统那样的block意义
# count : 总共bs的个数,文件容量=bs*count
[root@study ~] ll -h /srv/loopdev
-rw-r--r--  1  root  root  512M  Jun  25  19:46  /srv/loopdev #512M=1M*512

2.大型文件的格式化
默认xfs是不能格式化文件的,所以格式化文件要加入特别的参数:

[root@study ~] mkfs.xfs -f /srv/loopdev
[root@study ~] blkid /srv/loopdev
/srv/loopdev: UUID="7dd97bd2-4446-48fd-9d23-a8b03ffdd5ee" TYPE="xfs"

3.挂载

[root@study ~] mount -o loop UUID="7dd97bd2-4446-48fd-9d23-a8b03ffdd5ee" /mnt
[root@study ~] df /mnt
Filesystem   1K-blocks  Used  Available  Use%  Mounted On
/dev/loop0   520876    26372   494504     6%     /mnt

4.将这个文件系统永远地自动挂载起来

[root@study ~] nano /etc/fstab #nano文本编辑器编辑【etc/fstab】启动时的配置文件
/srv/loopdev  /data/file  xfs  defaults,loop  0  0 
[root@study ~] umount /mnt #卸载临时挂载点
[root@study ~] mkdir /data/file #建立空目录作为新挂载点
[root@study ~] mount -a #挂载
[root@study ~] df /data/file #读取该目录中的数据
Filesystem   1K-blocks  Used  Available  Use%  Mounted On
/dev/loop0   520876    26372   494504     6%   /data/file
上一篇:/etc/fstab


下一篇:SHELL小知识SHELL小知识SHELL小知识SHELL小知识SHELL小知识SHELL小知识