我们接着第一篇文章讲起。
文件系统挂载与卸载
创建完文件系统,我们需要将新建的文件系统挂载到根文件系统上的某个目录上,进而我们便可以通过该目录来访问该文件系统。建立这种关联关系的过程称为挂载,所挂载的目录称为挂载点;若解除这种关联关系,则称之为卸载;
由于在某一目录下挂在新设备后,该目录原有文件会被临时隐藏,因此要尽量以空目录作为挂载点;
mount 将设备挂载到挂载点(mount point)
用法
~]# mount
通过读取/etc/fstab文件中的信息,来显示当前系统已挂载的所有设备;
~]# mount [option] Device Mount_Point
将文件系统挂载到根文件系统的目录下;
~]# cat /proc/mounts
上述关键字进行解读:
Device:挂载设备,包括:
(1)设备文件:如/dev/sdb1
(2)卷标:-L LABEL ,例如 -L MYDATA
(3)UUID:-U uuid ,例如 -U cc6ed223-ea32-459d-b639-f77e8da35b72
(4)伪文件系统名称:proc,sysfs,devtmpfs,configfs
Mount_Point:挂载点,建议使用空目录
选项
- -t VFS_TYPE 指定Device的文件系统类型,可省略
- -r 只读挂载,即 readonly
- -w 读写挂载,即 read and write
- -a 自动挂载;所有支持自动挂载的设备,所谓支持自动挂载,就是定义在/etc/fstab文件中,且挂载选项中有自动挂载功能
- -n 不更新/etc/fstab,这是由于挂载一个新文件系统,会在/etc/fstab中添加信息,卸载一个文件系统,则会删除掉该文件中的信息;
- -L LABEL 以卷标指定Device
- -U UUID 以UUID指定Device
- -B ,–bind 绑定目录到另一个目录上
示例:
首先,格式化分区/dev/sdb1,文件系统类型为ext4,block大小为2048b,卷标为MYDATA,为每3个块创建一个inode;
[root@localhost mysdb1]# mke2fs -t ext4 -b 2048 -L MYDATA -m 3 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=MYDATA
OS type: Linux
Block size=2048 (log=1)
Fragment size=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 1048576 blocks
31457 blocks (3.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=269484032
64 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
[root@localhost mysdb1]# mount /dev/sdb1 /mydata
[root@localhost mysdb1]# mount
……
……
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
/dev/sdb1 on /mydata type ext4 (rw,relatime,seclabel,data=ordered)
然后,我们卸载了/dev/sdb1
[root@localhost mysdb1]# umount /dev/sdb1
[root@localhost mysdb1]# mount
……
……
……
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
这次,我们根据卷标(-L MYDATA)指定的设备进行只读(-r)挂载:
[root@localhost mysdb1]# blkid /dev/sdb1
/dev/sdb1: LABEL="MYDATA" UUID="baff75a8-916c-42d9-b395-7086d3a63f6a" TYPE="ext4"
[root@localhost mysdb1]# mount -L MYDATA -r /mydata
[root@localhost mysdb1]# mount
……
……
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
/dev/sdb1 on /mydata type ext4 (ro,relatime,seclabel,data=ordered)
mount还有一个特殊的用法:
~]# mount -o [option] /dev/Dvice Mount_Point
多个选项用逗号,
隔开
option:
- async/sync 指定异步模式/同步模式;cow 即(Copy on Write)写