有关/etc/fstab

来源:互联网 发布:阿里云 lnmp 无法访问 编辑:程序博客网 时间:2024/05/23 19:21

开机挂载/etc/fstab

/etc/fstab 记录开机要挂载的文件系统的一个文件。当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录。
简单的说,就是设置文件系统挂载信息的文件,使得开机能够自动挂载磁盘分区。

想要在开机的时候就将需要的文件系统都挂好,使得每次进入Linux系统不用再次挂载,我们可以对/etc/fstab进行修改。

fstab - static information about the filesystems有关文件系统的静态信息。
fstab一旦配置错误,会导致服务器无法启动。

系统挂载的一些限制:

  • 根目录/是必须挂载的,且一定要先于其他挂载点被挂载进来
  • 其他的挂载点必须为已新建的目录,可任意指定,但一定要遵守必需的系统目录架构原则
  • 所有的挂载点在同一时间内,只能挂载一次
  • 所有分区在同一时间之内,只能挂载一次
  • 如若进行卸载,必须先将工作目录移到挂载点(及其子目录)之外
[root@ianLinux ~]# df -h #查看磁盘分区的情况Filesystem      Size  Used Avail Use% Mounted on/dev/sda3       9.2G  1.6G  7.2G  18% /tmpfs           731M     0  731M   0% /dev/shm/dev/sda1       194M   29M  155M  16% /boot

/etc/fstab文件中的六个字段

[root@ianLinux ~]# cat /etc/fstab...tmpfs  /dev/shm  tmpfs   defaults  0  0sysfs  /sys      sysfs   defaults  0  0proc   /proc     proc    defaults  0  0...

这里写图片描述

第一列:挂载的设备,可以是设备名,或UUID,或磁盘标签。

第二列:挂载点。找一个或创建一个目录,然后把文件系统挂到这个目录上,然后就可以从这个目录中访问要挂载的文件系统。

第三列:type,指定文件系统的类型。ext3,ntfs等等。

第四列:设置选项,文件系统参数,各个选项用逗号隔开。可用man mount查看。defaults,它代表包含了选项rw,suid,dev,exec,auto,nouser,async。

第五列:能否被dump备份命令作用。dump为0,表示不备份。

第六列:是否以fsck检验扇区。开机的过程中,系统默认会以fsck检验我们的文件系统是否完整(clean)。0是不要检验,1表示最早检验(一般只有跟目录会设置为1),2也是要检验。

挂载实例

1.创建一个虚拟的块设备

[root@ianLinux ~]# dd if=/dev/zero of=/dev/sdb1 bs=4096 count=100记录了100+0 的读入记录了100+0 的写出409600字节(410 kB)已复制,0.0060427 秒,67.8 MB/秒[root@ianLinux ~]# ll /dev/sdb1-rw-r--r-- 1 root root 409600 826 18:01 /dev/sdb1

dd命令:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
if=文件名,输入文件名;
of=文件名,输出文件名;
bs=bytes,同时设置读入/输出的块大小为bytes个字节;
count=blocks,仅拷贝blocks个块。

2.挂载前先格式化

[root@ianLinux ~]# mkfs.ext4 /dev/sdb1

这里写图片描述

3.挂载

(1)命令行手动挂载

[root@ianLinux ~]# mount -t ext4 -o loop,noatime,noexec /dev/sdb1 /mnt[root@ianLinux ~]# df -h #查看是否挂载成功Filesystem      Size  Used Avail Use% Mounted on/dev/sda3       9.2G  1.6G  7.2G  18% /tmpfs           731M     0  731M   0% /dev/shm/dev/sda1       194M   29M  155M  16% /boot/dev/sdb1       388K   15K  353K   5% /mnt[root@ianLinux ~]# cd /mnt/[root@ianLinux mnt]# 

这里写图片描述
这是说你正在使用该文件系统,所以不能卸载这个设备。离开该文件系统的挂载点即可卸载了。

[root@ianLinux mnt]# cd ..[root@ianLinux /]# umount /mnt[root@ianLinux /]# df -hFilesystem      Size  Used Avail Use% Mounted on/dev/sda3       9.2G  1.6G  7.2G  18% /tmpfs           731M     0  731M   0% /dev/shm/dev/sda1       194M   29M  155M  16% /boot

指定挂载点卸载 umount /mnt
df -h 查看挂载的情况

(2)放到/etc/fstab中,使得开机自动挂载

不知道为什么啊,用这种方式挂载/dev/sdb1,最后ll /dev/sdb1这个文件,都找不这个文件了。
ls: 无法访问/dev/sdb1: 没有那个文件或目录。

重新按上面步骤来:
①创建虚拟块设备[root@ianLinux ~]# dd if=/dev/zero of=/opt/sdb1 bs=4096 count=100

②格式化[root@ianLinux ~]# mkfs.ext4 /opt/sdb1

vi /etc/fstab

这里写图片描述

④最后[root@ianLinux ~]# reboot 检验是否开机自动挂载
这里写图片描述

[root@ianLinux ~]# df -h

这里写图片描述

0 0