前言
在Linux上,磁盘挂载也是通过配置文件自动挂载的。系统开机时会主动读取/etc/fstab这个文件中的内容,根据文件里面的配置挂载磁盘,我们只要配置好挂载点和挂载选项就可以。
文件系统树
在Linux上只有一个文件系统树,不像windows系统,每个分区都有独立的树(C:、D:、E: ...)。
根(/)目录是文件系统树的顶点,所以根分区需要优先挂载的,其他挂载都是基于根(/ )衍生出来的。
挂载点必须存在,系统不会自动创建挂载点,因此,在配置的时候要创建对应的挂载目录。
一个挂载点只能被一个分区挂载,不然会导致先挂载的分区会被覆盖,操作的只是后挂载的分区。
例子
cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=611240bb-78f2-4d76-9afb-23417c32e157 swap swap defaults,noatime 0 0
UUID=5f543816-8bcb-477a-a356-341b62df19d0 / ext4 defaults,noatime 0 1
UUID=7d8ccded-504f-46ce-8469-fc825052cb3b /home ext4 defaults,noatime 0 0
UUID=ac62fe73-157a-4031-985f-a7931038db3c /data ext4 defaults,noatime 0 0
1、第一列分区的label、uuid或者分区名称:Label就是分区的标签,分区可以设置标签,然后根据标签的名称进行挂载,可以使用e2label查看磁盘的标签;blkid可以查看到磁盘的UUID;fdisk -l 可以列出所有磁盘设备,就可以找到对应的分区名称。
注意:分区名称是根据系统启动的时候识别到的顺序生成的(例如:sda、sdb、sdc...),如果添加一块磁盘,有可能存在分区名称变了,导致挂载异常;使用label挂载就不会出现这个问题,但是必须注意标签的名称;UUID,每个分区被格式化以后都有有一个UUID作为唯一标识符,所以使用UUID是最靠谱的方式。
2、第二列挂载点:就是制定要挂载到那个目录,swap比较特殊。
3、第三列文件系统的格式,根据不同的文件系统填写对应的名称就可以了,例如ext2、ext3、reiserfs、nfs、vfat等
4、第四列挂载参数:
async/sync 设置是否为同步方式运行,默认为async
auto/noauto 当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto
rw/ro 是否以以只读或者读写模式挂载
exec/noexec 限制此文件系统内是否能够进行"执行"的操作
user/nouser 是否允许用户使用mount命令挂载
suid/nosuid 是否允许SUID的存在
usrquota 启动文件系统支持磁盘配额模式
grpquota 启动文件系统对群组磁盘配额模式的支持
defaults 同时具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置
一般指定defaults就可以了,如果需要添加其他参数,以逗号为分隔符,添加上就可以了。
5、第五列能否被dump备份命令作用:dump是一个用来作为备份的命令。通常这个参数的值为0或者1
0 代表不要做dump备份
1 代表要每天进行dump的操作
2 代表不定日期的进行dump操作
6、第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean)。
0 不要检验
1 最早检验(一般根目录会选择)
2 1级别检验完成之后进行检验
一般根分区做下校验就可以了。