文件系统
1、文件系统概述
文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即
在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件结
构称为文件管理系统,简称文件系统
从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文
件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立
文件,存入、读出、修改、转储文件,控制文件的存取,安全控制,日志,压
缩,加密等
支持的文件系统:/lib/modules/`uname –r`/kernel/fs
[root@centos7 ~]#ls /lib/modules/3.10.0-862.el7.x86_64/kernel/fs
binfmt_misc.ko.xz cifs ext4 gfs2 mbcache.ko.xz nls udf
btrfs cramfs fat isofs nfs overlayfs xfs
cachefiles dlm fscache jbd2 nfs_common pstore
ceph exofs fuse lockd nfsd squashfs
2、文件系统类型
Linux文件系统:ext2(Extended file system), ext3, ext4, xfs(SGI), btrfs(Oracle), reiserfs, jfs(AIX), swap
[root@centos7 ~]#df -T #查看分区文件系统类型
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda2 xfs 20961280 3761660 17199620 18% /
devtmpfs devtmpfs 722676 0 722676 0% /dev
tmpfs tmpfs 738604 0 738604 0% /dev/shm
tmpfs tmpfs 738604 10448 728156 2% /run
tmpfs tmpfs 738604 0 738604 0% /sys/fs/cgroup
/dev/sda5 xfs 10475520 97648 10377872 1% /app
/dev/sda1 xfs 303780 140632 163148 47% /boot
tmpfs tmpfs 147724 12 147712 1% /run/user/42
tmpfs tmpfs 147724 0 147724 0% /run/user/0
光盘:iso9660
Windows:FAT32, exFAT,NTFS
Unix: FFS(fast), UFS(unix), JFS2
网络文件系统:NFS, CIFS
集群文件系统:GFS2, OCFS2(oracle)
分布式文件系统: fastdfs,ceph, moosefs, mogilefs, glusterfs, Lustre
RAW:未经处理或者未经格式化产生的文件系统
3、文件系统分类
根据其是否支持"journal"功能:
日志型文件系统: ext3, ext4, xfs, ...
非日志型文件系统: ext2, vfat
文件系统的组成部分:
内核中的模块:ext4, xfs, vfat
用户空间的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat
Linux的虚拟文件系统:VFS
查前支持的文件系统:cat /proc/filesystems
[root@centos7 ~]#cat /proc/filesystems
nodev sysfs
nodev rootfs
nodev ramfs
nodev bdev
nodev proc
nodev cgroup
nodev cpuset
nodev tmpfs
nodev devtmpfs
nodev debugfs
nodev securityfs
nodev sockfs
nodev dax
nodev pipefs
nodev anon_inodefs
nodev configfs
nodev devpts
nodev hugetlbfs
nodev autofs
nodev pstore
nodev mqueue
nodev selinuxfs
xfs
nodev rpc_pipefs
iso9660
nodev binfmt_mis
4、VFS
5、创建文件系统
mkfs命令:
(1) mkfs.FS_TYPE /dev/DEVICE
ext4
xfs
btrfs
vfat
例子:
[root@centos6 ~]#mkfs.vfat /dev/sdb2 #创建文件系统
mkfs.vfat 3.0.9 (31 Jan 2010)
[root@centos6 ~]#blkid #查看块设备属性信息
/dev/sda1: UUID="fcf2e544-0db0-4f27-9bdd-380bddaaee4d" TYPE="ext4"
/dev/sda2: UUID="d7c928d9-40b6-420e-99de-74877dbdccf5" TYPE="ext4"
/dev/sda3: UUID="d9193730-2fc6-44d0-93cb-a8b7a120a5bf" TYPE="ext4"
/dev/sda5: UUID="858ff62c-536c-4e5a-b7aa-bc949fcf20d2" TYPE="swap"
/dev/sdb1: UUID="68853309-76d3-428e-bc73-383f83639e2d" TYPE="ext4"
/dev/sdb2: UUID="8ADA-1202" TYPE="vfat"
[root@centos7 ~]#mkfs.xfs /dev/sdb1
(2) mkfs -t FS_TYPE /dev/DEVICE
-L 'LABEL': 设定卷标
[root@centos6 ~]#mkfs -t ext4 /dev/sdb1 #创建文件系统
[root@centos6 ~]#blkid /dev/sdb1 #查看块设备文件系统信息
/dev/sdb1: UUID="68853309-76d3-428e-bc73-383f83639e2d" TYPE="ext4"
[root@centos6 ~]#df -T #仅查看挂载好的文件系统
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda2 ext4 20511356 4372072 15090708 23% /
tmpfs tmpfs 502056 72 501984 1% /dev/shm
/dev/sda3 ext4 10190136 23012 9642836 1% /app
/dev/sda1 ext4 289293 35675 238258 14% /boot
[root@centos6 ~]#mkfs.ext4 /dev/sdb2 -L /dev/sdb2 #创建卷标
[root@centos6 ~]#blkid -L /dev/sdb2 #查看卷标
/dev/sdb2
5.1、创建ext文件系统
mke2fs:ext系列文件系统专用管理工具
-t {ext2|ext3|ext4} :指定文件系统类型
-b {1024|2048|4096} :指定块大小
-L 'LABEL' :创建卷标
-j: 相当于 -t ext3
mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
-i #: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小
-N #:指定分区中创建多少个inode
-I 一个inode记录占用的磁盘空间大小,128---4096
-m #: 默认5%,为管理人员预留空间占总空间的百分比
-O FEATURE[,...]:启用指定特性
-O ^FEATURE:关闭指定特性
例子:
[root@centos6 ~]#tune2fs -O has_journal /dev/sdb1 #增加日志功能
tune2fs 1.41.12 (17-May-2010)
Creating journal inode: done
This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@centos6 ~]#tune2fs -l /dev/sdb1|grep "features" #查看日志功能
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
[root@centos6 ~]#tune2fs -O ^has_journal /dev/sdb1 #取消日志功能
tune2fs 1.41.12 (17-May-2010)
[root@centos6 ~]#tune2fs -l /dev/sdb1|grep "features"
Filesystem features: ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
#日志功能已取消
5.2、文件系统标签
指向设备的另一种方法
与设备无关
1)blkid:块设备属性信息查看
blkid [OPTION]... [DEVICE]
-U UUID: 根据指定的UUID来查找对应的设备
-L LABEL:根据指定的LABEL来查找对应的设备
例子:
[root@centos6 ~]#blkid #查看块设备属性信息
/dev/sda1: UUID="fcf2e544-0db0-4f27-9bdd-380bddaaee4d" TYPE="ext4"
/dev/sda2: UUID="d7c928d9-40b6-420e-99de-74877dbdccf5" TYPE="ext4"
/dev/sda3: UUID="d9193730-2fc6-44d0-93cb-a8b7a120a5bf" TYPE="ext4"
/dev/sda5: UUID="858ff62c-536c-4e5a-b7aa-bc949fcf20d2" TYPE="swap"
/dev/sdb1: UUID="68853309-76d3-428e-bc73-383f83639e2d" TYPE="ext4"
/dev/sdb2: UUID="4b4bc6cd-e3b5-4d31-8911-21b59a18b2ec" TYPE="ext4" LABEL="/dev/sdb2"
[root@centos6 ~]#blkid -U fcf2e544-0db0-4f27-9bdd-380bddaaee4d #通过UUID查看设备
/dev/sda1
[root@centos6 ~]#blkid -L /dev/sdb2 #通过卷标查看设备
/dev/sdb2
[root@centos6 ~]#blkid /dev/sdb1 #查看指定设备属性信息
/dev/sdb1: UUID="68853309-76d3-428e-bc73-383f83639e2d" TYPE="ext4"
2)e2label:管理ext系列文件系统的LABEL
e2label DEVICE [LABEL]
例子:
[root@centos6 ~]#e2label /dev/sdb2 /app/sdb2 #修改卷标
[root@centos6 ~]#e2label /dev/sdb2 #查看卷标
/app/sdb2
3)findfs :查找分区
findfs [options] LABEL=
findfs [options] UUID=
例子:
[root@centos6 ~]#findfs LABEL=/app/sdb2 #通过卷标查找设备
/dev/sdb2
[root@centos6 ~]#findfs UUID="4b4bc6cd-e3b5-4d31-8911-21b59a18b2ec" #通过UUID查找设备
/dev/sdb2
5.3 tune2fs
1)tune2fs:重新设定ext系列文件系统可调整参数的值
-l:查看指定文件系统超级块信息;super block
-L 'LABEL':修改卷标
-m #:修预留给管理员的空间百分比
-j: 将ext2升级为ext3
-O: 文件系统属性启用或禁用, –O ^has_journal
-o: 调整文件系统的默认挂载选项,–o ^acl
-U UUID: 修改UUID号
例子:
[root@centos6 ~]#tune2fs -l /dev/sdb1 #查看ext系列文件系统信息
tune2fs 1.41.12 (17-May-2010)
Filesystem volume name:
Last mounted on:
Filesystem UUID: 68853309-76d3-428e-bc73-383f83639e2d
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: (none) #centos6手动分配分区没有ACL功能,需要手动添加ACL功能;centos7手动创建的文件系统默认自带ACL功能
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 131648
Block count: 526120
Reserved block count: 26306
Free blocks: 500688
Free inodes: 131637
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 128
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 7744
Inode blocks per group: 484
Flex block group size: 16
Filesystem created: Wed Jun 6 19:35:21 2018
Last mount time: n/a
Last write time: Wed Jun 6 19:35:21 2018
Mount count: 0
Maximum mount count: 29
Last checked: Wed Jun 6 19:35:21 2018
Check interval: 15552000 (6 months)
Next check after: Mon Dec 3 19:35:21 2018
Lifetime writes: 97 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: 0f36b4d1-e28f-4232-8dfa-88a6f03f3f3c
Journal backup: inode blocks
[root@centos6 ~]#cd /app/sdb1 #进入挂载点
[root@centos6 /app/sdb1]#touch f1 #创建文件
[root@centos6 /app/sdb1]#ls
f1 lost+found
[root@centos6 /app/sdb1]#setfacl -m u:wang:0 f1 #设置acl权限
setfacl: Option -m: Invalid argument near character 3 #提示:不支持
[root@centos6 ~]#tune2fs -o acl /dev/sdb1 #手动增加ACL
tune2fs 1.41.12 (17-May-2010)
[root@centos6 ~]#tune2fs -l /dev/sdb1|grep "mount options" #查看默认挂载选项
Default mount options: acl
提示:acl功能启用了,但不没有生效,需要重新挂载,才可以对挂载点设置acl权限
[root@centos6 ~]#umount /dev/sdb1 #卸载挂载点
[root@centos6 ~]#mount /dev/sdb1 /app/sdb1 #重新挂载
[root@centos6 /app/sdb1]#setfacl -m u:wang:0 f1 #在目录下对某个文件设置acl权限
[root@centos6 /app/sdb1]#getfacl f1 #查看某个文件acl权限
# file: f1
# owner: root
# group: root
user::rw-
user:wang:---
group::r--
mask::r--
other::r--
禁用文件系统某属×××:“-o ^…”
[root@centos6 ~]#tune2fs -o ^acl /dev/sdb1 #取消设备上acl功能
tune2fs 1.41.12 (17-May-2010)
[root@centos6 ~]#tune2fs -l /dev/sdb1|grep "mount options" #查看设备acl功能
Default mount options: (none) #已取消acl功能
手动修改UUID号
[root@centos6 ~]#blkid /dev/sdb2 #修改前UUID
/dev/sdb2: UUID="4b4bc6cd-e3b5-4d31-8911-21b59a18b2ec" TYPE="ext4" LABEL="/app/sdb2"
[root@centos6 ~]#tune2fs -U `uuidgen` /dev/sdb2 #修改UUID(不建议手动修改)
tune2fs 1.41.12 (17-May-2010)
提示:uuidgen #手动创建UUID
[root@centos6 ~]#blkid /dev/sdb2 #修改后的UUID
/dev/sdb2: UUID="86c8cee6-9ddf-4f94-bc7d-9d5d6b36d914" TYPE="ext4" LABEL="/app/sdb2"
2)dumpe2fs:
块分组管理,32768块
-h:查看超级块信息,不显示分组信息
[root@centos6 ~]#dumpe2fs /dev/sdb1 #查看元数据信息及块分组信息
[root@centos6 ~]#dumpe2fs -h /dev/sdb2 #仅显示元数据信息
5.4、文件系统检测和修复
常发生于死机或者非正常关机之后
挂载为文件系统标记为“no clean”
注意:一定不要在挂载状态下修复
1)fsck: File System Check
fsck.FS_TYPE
fsck -t FS_TYPE
-p: 自动修复错误
-r: 交互式修复错误
FS_TYPE一定要与分区上已经文件类型相同
例子:
[root@centos6 ~]#fsck /dev/sdb1 -y #修复错误(fsck大概修复错误)
fsck from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
fsck.ext2: Superblock invalid, trying backup blocks...
。。。
Pass 1: Checking inodes, blocks, and sizes
Root inode is not a directory. Clear? yes
/dev/sdb1: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sdb1: 11/131648 files (0.0% non-contiguous), 9045/526120 blocks
[root@centos6 ~]#tune2fs -l /dev/sdb1 #查看指定文件系统信息
tune2fs 1.41.12 (17-May-2010)
Filesystem volume name:
Last mounted on:
Filesystem UUID: c5030ba7-4da8-43d7-abe3-52772d26ef37
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: ext_attr resize_inode dir_index filetype sparse_super large_file
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
。。。
2)e2fsck:ext系列文件专用的检测修复工具
-y:自动回答为yes
-f:强制修复
[root@centos6 ~]#e2fsck -f /dev/sdb1 #强制检查(将分区每个地方强制检查一边)
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 11/131648 files (0.0% non-contiguous), 9045/526120 blocks
6、挂载mount
挂载:将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为
卸载:为解除此关联关系的过程
把设备关联挂载点:mount Point
mount
卸载时:可使用设备,也可以使用挂载点
umount
挂载点下原有文件在挂载完成后会被临时隐藏
一个挂载点同一时间只能挂载一个设备,只能生效最后挂载点
一个设备可以同时挂载多个文件夹下
挂载点目录一般为空
6.1、用mount命令挂载文件系统
1)挂载方法:
mount DEVICE MOUNT_POINT
mount:通过查看/etc/mtab文件显示当前已挂载的所有设备
mount [-fnrsvw] [-t vfstype] [-o options] device dir
device:指明要挂载的设备;
(1) 设备文件:例如/dev/sda5
(2) 卷标:-L 'LABEL', 例如 -L 'MYDATA'
(3) UUID, -U 'UUID':例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'
(4) 伪文件系统名称:proc, sysfs, devtmpfs, configfs
2)dir:挂载点
事先存在;建议使用空目录
进程正在使用中的设备无法被卸载
例子:
挂载
[root@centos6 ~]#mkdir /app/sdb2 #创建挂载点空目录
[root@centos6 ~]#mount /dev/sdb2 /app/sdb2 #将设备挂载到挂载占目录上
[root@centos6 ~]#df #查看挂载
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 20511356 4372508 15090272 23% /
tmpfs 502056 72 501984 1% /dev/shm
/dev/sda3 10190136 23016 9642832 1% /app
/dev/sda1 289293 35675 238258 14% /boot
/dev/sdb2 2005880 3096 1897560 1% /app/sdb2
[root@centos6 ~]#mount #查看挂载情况
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda3 on /app type ext4 (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb2 on /app/sdb2 type ext4 (rw)
[root@centos6 ~]#cat /etc/mtab #查看挂载情况
/dev/sda2 / ext4 rw 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs rw,rootcontext="system_u:object_r:tmpfs_t:s0" 0 0
/dev/sda3 /app ext4 rw 0 0
/dev/sda1 /boot ext4 rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
/dev/sdb2 /app/sdb2 ext4 rw 0 0
提示:
1、此文件根据挂载信息自动更新文件内容
卸载挂载
[root@centos6 ~]#umount /app/sdb2
[root@centos6 ~]#df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 20511356 4372512 15090268 23% /
tmpfs 502056 72 501984 1% /dev/shm
/dev/sda3 10190136 23016 9642832 1% /app
/dev/sda1 289293 35675 238258 14% /boot
通过卷标挂载
[root@centos6 ~]#mount LABEL=/app/sdb2 /app/sdb2
[root@centos6 ~]#df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 20511356 4372512 15090268 23% /
tmpfs 502056 72 501984 1% /dev/shm
/dev/sda3 10190136 23016 9642832 1% /app
/dev/sda1 289293 35675 238258 14% /boot
/dev/sdb2 2005880 3096 1897560 1% /app/sdb2
一个设备挂载两个挂载点(实现共享文件)
[root@centos6 ~]#mkdir /app/sdb22 #创建目录
[root@centos6 ~]#blkid #查看设备属性信息
/dev/sda1: UUID="fcf2e544-0db0-4f27-9bdd-380bddaaee4d" TYPE="ext4"
/dev/sda2: UUID="d7c928d9-40b6-420e-99de-74877dbdccf5" TYPE="ext4"
/dev/sda3: UUID="d9193730-2fc6-44d0-93cb-a8b7a120a5bf" TYPE="ext4"
/dev/sda5: UUID="858ff62c-536c-4e5a-b7aa-bc949fcf20d2" TYPE="swap"
/dev/sdb2: UUID="86c8cee6-9ddf-4f94-bc7d-9d5d6b36d914" TYPE="ext4" LABEL="/app/sdb2"
/dev/sdb1: UUID="c5030ba7-4da8-43d7-abe3-52772d26ef37" SEC_TYPE="ext2" TYPE="ext3"
[root@centos6 ~]#mount UUID="86c8cee6-9ddf-4f94-bc7d-9d5d6b36d914" /app/sdb22
#通过UUID挂载
[root@centos6 ~]#df #查看设备挂载点
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 20511356 4372512 15090268 23% /
tmpfs 502056 72 501984 1% /dev/shm
/dev/sda3 10190136 23020 9642828 1% /app
/dev/sda1 289293 35675 238258 14% /boot
/dev/sdb2 2005880 3096 1897560 1% /app/sdb2
/dev/sdb2 2005880 3096 1897560 1% /app/sdb22
#一个设备挂载两个目录
[root@centos6 ~]#ls /app/sdb2
lost+found
[root@centos6 ~]#ls /app/sdb22
lost+found
[root@centos6 ~]#touch /app/sdb2/f1 #/app/sdb2创建文件
[root@centos6 ~]#ls /app/sdb2 #查看新建文件
f1 lost+found
[root@centos6 ~]#ls /app/sdb22 #查看/app/sdb22目录下文件,可以查看到sdb2目录下创建的文件
f1 lost+found
演示:不同设备挂载到同一个挂载点上
[root@centos6 ~]#mount /dev/sdb1 /app/sdb2 #将sdb1设备也挂载到/app/sdb2目录上
[root@centos6 ~]#ls /app/sdb2 #查看刚创建的文件是否可以看到
lost+found
[root@centos6 ~]#df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 20511356 4372572 15090208 23% /
tmpfs 502056 72 501984 1% /dev/shm
/dev/sda3 10190136 23020 9642828 1% /app
/dev/sda1 289293 35675 238258 14% /boot
/dev/sdb2 2071384 68688 1897472 4% /app/sdb2
/dev/sdb2 2005880 3096 1897560 1% /app/sdb22
/dev/sdb1 2071384 68688 1897472 4% /app/sdb2
[root@centos6 ~]#umount /app/sdb2 #卸载挂载
[root@centos6 ~]#df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 20511356 4372588 15090192 23% /
tmpfs 502056 72 501984 1% /dev/shm
/dev/sda3 10190136 23020 9642828 1% /app
/dev/sda1 289293 35675 238258 14% /boot
/dev/sdb2 2005880 3096 1897560 1% /app/sdb2
/dev/sdb2 2005880 3096 1897560 1% /app/sdb22
提示:/dev/sdb1设备被取消挂载点
总结:
1、不同设备挂载到同一个挂载点只能最后挂载的挂载点生效
2、隐藏原有设备创建的文件
3、取消挂载时只会取消最后生效的挂载点
进程正在使用中的设备无法被卸载
[root@centos6 ~]#mount /dev/sdb1 /app/sdb1 #挂载
[root@centos6 ~]#touch /app/sdb1/f1
[root@centos6 ~]#cd /app/sdb1 #进入目录中
[root@centos6 /app/sdb1]#umount /app/sdb1 #卸载挂载
umount: /app/sdb1: device is busy. #提示设备忙,无法卸载挂载
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
提示:此处问题解决方法请往后面查找。
6.2、mount常用命令选项
-t vsftype:指定要挂载的设备上的文件系统类型
-r: readonly,只读挂载
-w: read and write, 读写挂载(默认可读写)
-n: 不更新/etc/mtab,mount不可见
-a:自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有auto功能)
-L 'LABEL': 以卷标指定挂载设备
-U 'UUID': 以UUID指定要挂载的设备
-B, --bind: 绑定目录到另一个目录上
查看内核追踪到的已挂载的所有设备
cat /proc/mounts
例子:
-r: readonly,只读挂载
[root@centos7 ~]#mount -r /dev/sdb1 /app/sdb1/ #只读挂载
[root@centos7 ~]#ls /app/sdb1/
f1
[root@centos7 ~]#rm -f /app/sdb1/f1 #不能删除
rm: cannot remove ‘/app/sdb1/f1’: Read-only file system
[root@centos7 ~]#touch /app/sdb1/f2 #不能创建
touch: cannot touch ‘/app/sdb1/f2’: Read-only file system
-n: 不更新/etc/mtab,mount不可见(centos6生效)
[root@centos6 ~]#mount -n /dev/sdb1 /app/sdb1 #不更新mount,/etc/mtab挂载信息
[root@centos6 ~]#df #查看不到/dev/sdb1挂载点
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 20511356 4372636 15090144 23% /
tmpfs 502056 72 501984 1% /dev/shm
/dev/sda3 10190136 23024 9642824 1% /app
/dev/sda1 289293 35675 238258 14% /boot
/dev/sdb2 2005880 3096 1897560 1% /app/sdb2
/dev/sdb2 2005880 3096 1897560 1% /app/sdb22
[root@centos6 ~]#ls /app/sdb1/ #可以查看到挂载点目录下文件,证明挂载成功
f1 lost+found
[root@centos6 ~]#mount #查看不到/dev/sdb1挂载信息
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda3 on /app type ext4 (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb2 on /app/sdb2 type ext4 (rw)
/dev/sdb2 on /app/sdb22 type ext4 (rw)
[root@centos6 ~]#cat /etc/mtab #查看不到/dev/sdb1挂载信息
/dev/sda2 / ext4 rw 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs rw,rootcontext="system_u:object_r:tmpfs_t:s0" 0 0
/dev/sda3 /app ext4 rw 0 0
/dev/sda1 /boot ext4 rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
/dev/sdb2 /app/sdb2 ext4 rw 0 0
/dev/sdb2 /app/sdb22 ext4 rw 0 0
[root@centos6 ~]#cat /proc/mounts #查看内核追踪到已挂载的所有设备
rootfs / rootfs rw 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
devtmpfs /dev devtmpfs rw,seclabel,relatime,size=487272k,nr_inodes=121818,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /dev/shm tmpfs rw,seclabel,relatime 0 0
/dev/sda2 / ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0
none /selinux selinuxfs rw,relatime 0 0
devtmpfs /dev devtmpfs rw,seclabel,relatime,size=487272k,nr_inodes=121818,mode=755 0 0
/proc/bus/usb /proc/bus/usb usbfs rw,relatime 0 0
/dev/sda3 /app ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0
/dev/sda1 /boot ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0
/etc/auto.misc /misc autofs rw,relatime,fd=7,pgrp=2035,timeout=300,minproto=5,maxproto=5,indirect 0 0
-hosts /net autofs rw,relatime,fd=13,pgrp=2035,timeout=300,minproto=5,maxproto=5,indirect 0 0
/dev/sdb2 /app/sdb2 ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0
/dev/sdb2 /app/sdb22 ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0
/dev/sdb1 /app/sdb1 ext3 rw,seclabel,relatime,errors=continue,barrier=1,data=ordered 0 0
[root@centos7 ~]#mount -n /dev/sdb1 /app/sdb1 #使用-n挂载
[root@centos7 ~]#df #查看到/dev/sdb1挂载点(-n对centos7无效)
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 20961280 3761916 17199364 18% /
devtmpfs 722676 0 722676 0% /dev
tmpfs 738604 0 738604 0% /dev/shm
tmpfs 738604 10464 728140 2% /run
tmpfs 738604 0 738604 0% /sys/fs/cgroup
/dev/sda5 10475520 97648 10377872 1% /app
/dev/sda1 303780 140632 163148 47% /boot
tmpfs 147724 12 147712 1% /run/user/42
/dev/sr0 9176232 9176232 0 100% /mnt/cdrom
tmpfs 147724 0 147724 0% /run/user/0
/dev/sdb1 2086912 32944 2053968 2% /app/sdb1
[root@centos7 ~]#ll /etc/mtab
lrwxrwxrwx. 1 root root 17 May 15 12:37 /etc/mtab -> /proc/self/mounts
#centos7可以看到隐藏挂载点是因为/etc/mtab链接到/proc/self/mounts,直接查看/proc下的mount挂载点信息。
-a:自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有auto功能)
[root@centos6 ~]#vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue May 15 20:06:26 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=d7c928d9-40b6-420e-99de-74877dbdccf5 / ext4 defau
lts 1 1
UUID=d9193730-2fc6-44d0-93cb-a8b7a120a5bf /app ext4 defau
lts 1 2
UUID=fcf2e544-0db0-4f27-9bdd-380bddaaee4d /boot ext4 defau
lts 1 2
UUID=858ff62c-536c-4e5a-b7aa-bc949fcf20d2 swap swap defau
lts 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
UUID=c5030ba7-4da8-43d7-abe3-52772d26ef37 /app/sdb1 ext4 defaults 0 0 #新增挂载
[root@centos6 ~]#mount -a #自动挂载/etc/fstab文件中,且挂载选项中有auto功能
[root@centos6 ~]#df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 20511356 4579420 14883360 24% /
tmpfs 502056 72 501984 1% /dev/shm
/dev/sda3 10190136 23024 9642824 1% /app
/dev/sda1 289293 35675 238258 14% /boot
/dev/sdb2 2005880 3096 1897560 1% /app/sdb22
/dev/sdb1 2071384 70968 1895192 4% /app/sdb1
/root/p1 95054 1551 88383 2% /mnt
提示:实现某个设备开机自动挂载到某个目录上,需要将挂载信息写到/etc/fstab配置文件中
-B, --bind: 绑定目录到另一个目录上
[root@centos7 ~]#mount --bind /app/sdb1/ /mnt/sdb1/ #目录挂载目录
[root@centos7 ~]#touch /app/sdb1/f1
[root@centos7 ~]#ls /app/sdb1
f1
[root@centos7 ~]#ls /mnt/sdb1/
f1
-o options:(挂载文件系统的选项),多个选项使用逗号分隔
async:异步模式(默认)
sync:同步模式,内存更改时,同时写磁盘
atime(默认)/noatime:包含目录和文件
diratime(默认)/nodiratime:目录的访问时间戳
auto(默认)/noauto:是否支持自动挂载,是否支持-a选项
exec(默认)/noexec:是否支持将文件系统上运行应用程序
dev(默认)/nodev:是否支持在此文件系统上使用设备文件
suid/nosuid:是否支持suid和sgid权限
remount:重新挂载
ro:只读
rw:读写(默认)
user/nouser(默认):是否允许普通用户挂载此设备,/etc/fstab使用
acl:启用此文件系统上的acl功能
loop: 使用loop设备
defaults:相当于rw, suid, dev, exec, auto, nouser, async
例子:
exec/noexec:是否支持将文件系统上运行应用程序
默认exec选项
[root@centos6 ~]#cd /app/sdb1
[root@centos6 /app/sdb1]#cat >f1.sh #创建脚本
#!/bin/sh
echo test
[root@centos6 ~]#/app/sdb1/f1.sh #执行脚本
test
提示:挂载文件系统设备默认自带执行权限
[root@centos6 ~]#mount -o remount,noexec /app/sdb1 #挂载时禁用执行权限
[root@centos6 /app/sdb1]#mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda3 on /app type ext4 (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb2 on /app/sdb22 type ext4 (rw)
/dev/sdb1 on /app/sdb1 type ext3 (rw,noexec)
[root@centos6 ~]#/app/sdb1/f1.sh #全路径执行脚本
-bash: /app/sdb1/f1.sh: Permission denied #权限拒绝
[root@centos6 ~]#bash /app/sdb1/f1.sh #使用bash可以执行
test
dev/nodev:是否支持在此文件系统上使用设备文件
例子:默认dev选项
[root@centos6 /app/sdb1]#mknod zero c 1 5 #在此分区上创建设备文件
[root@centos6 /app/sdb1]#ll
total 8
-rw-r--r--. 1 root root 0 Jun 7 11:55 f1
-rw-r--r--. 1 root root 20 Jun 7 15:09 f1.sh
drwx------. 2 root root 4096 Jun 6 21:40 lost+found
crw-r--r--. 1 root root 1, 5 Jun 7 15:23 zero
[root@centos6 /app/sdb1]#dd if=/app/sdb1/zero of=/root/f1 bs=1M count=1 #使用此设备写内容
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.00164247 s, 638 MB/s
[root@centos6 /app/sdb1]#ll /root/f1
-rw-rw-r--+ 1 magedu zabbix 1048576 Jun 7 15:23 /root/f1
[root@centos6 /app/sdb1]#hexdump -C /root/f1 #查看f1内容
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00100000
[root@centos6 ~]#mount -o remount,nodev /app/sdb1 #禁用此分区使用设备文件
[root@centos6 ~]#dd if=/app/sdb1/zero of=/root/f1 bs=1M count=1 #使用分区上设备文件给其他文件写内容
dd: opening `/app/sdb1/zero': Permission denied #提示权限拒绝
[root@centos6 ~]#mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda3 on /app type ext4 (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb2 on /app/sdb22 type ext4 (rw)
/dev/sdb1 on /app/sdb1 type ext3 (rw,nodev)
suid/nosuid:是否支持suid和sgid权限
[root@centos6 ~]#cp /usr/bin/vim /app/sdb1 #复制vim命令到/app/sdb1目录下
[root@centos6 ~]#ll /app/sdb1/vim
-rwxr-xr-x. 1 root root 2324712 Jun 7 16:06 /app/sdb1/vim
[root@centos6 ~]#su - wang #切换到普通用户
[wang@centos6 ~]$/app/sdb1/vim /etc/shadow #修改密码文件,提示没有权限修改
[wang@centos6 ~]$exit
logout
[root@centos6 ~]#chmod u+s /app/sdb1/vim #增加特殊权限位
[root@centos6 ~]#ll /app/sdb1/vim #查看vim命令特殊权限位
-rwsr-xr-x. 1 root root 2324712 Jun 7 16:06 /app/sdb1/vim
[root@centos6 ~]#su - wang
[wang@centos6 ~]$/app/sdb1/vim /etc/shadow #可以修改文件
root:$6$5vgqd02eX5Th/kOF$UbDUrrq0UluZMmtA7WjAfDiHdrf8HmueUBMZ7iDTOnI8dM1ZD8bPI6
EDy7CLX.xcg6uiOKAI5gO4qV6XAm9HL/:17666:0:99999:7:::
bin:*:17246:0:99999:7:::
daemon:*:17246:0:99999:7:::
。。。
[wang@centos6 ~]$ll /app/sdb1/vim #查看特殊权限位有执行权限
-rwsr-xr-x. 1 root root 2324712 Jun 7 16:06 /app/sdb1/vim
[root@centos6 ~]#mount -o remount,nosuid /app/sdb1 #禁用suid特殊权限位执行权限
[root@centos6 ~]#su - wang
[wang@centos6 ~]$/app/sdb1/vim /etc/shadow #编辑文件
"/etc/shadow" [Permission Denied] #拒绝修改
loop: 使用loop设备,将文件挂载到目录上
[root@centos6 ~]#dd if=/dev/zero of=/root/p1 bs=1M count=100 #创建文件
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 1.84154 s, 56.9 MB/s
[root@centos6 ~]#ll p1 -h 查看创建文件属性信息
-rw-r--r--. 1 root root 100M Jun 7 16:35 p1
[root@centos6 ~]#mkfs.ext4 p1 #将文件当作分区来用,进行格式
mke2fs 1.41.12 (17-May-2010)
p1 is not a block special device. #由于不是块设备,所以就会提示
Proceed anyway? (y,n) y #输入y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@centos6 ~]#blkid #查看设备属性信息,但看不到p1属性信息
/dev/sda1: UUID="fcf2e544-0db0-4f27-9bdd-380bddaaee4d" TYPE="ext4"
/dev/sda2: UUID="d7c928d9-40b6-420e-99de-74877dbdccf5" TYPE="ext4"
/dev/sda3: UUID="d9193730-2fc6-44d0-93cb-a8b7a120a5bf" TYPE="ext4"
/dev/sda5: UUID="858ff62c-536c-4e5a-b7aa-bc949fcf20d2" TYPE="swap"
/dev/sdb2: UUID="86c8cee6-9ddf-4f94-bc7d-9d5d6b36d914" TYPE="ext4" LABEL="/app/sdb2"
/dev/sdb1: UUID="c5030ba7-4da8-43d7-abe3-52772d26ef37" SEC_TYPE="ext2" TYPE="ext3"
[root@centos6 ~]#blkid p1 #需要指定文件名查看设备属性信息
p1: UUID="0ca29d02-de01-4e6b-bbe3-c52968d5a26d" TYPE="ext4"
[root@centos6 ~]#mount /root/p1 /mnt #直接挂载
mount: /root/p1 is not a block device (maybe try `-o loop'?) #提示p1不是块设备需要使用-o loop
[root@centos6 ~]#mount -o loop /root/p1 /mnt #使用loop挂载(centos7不需要加此选项)
[root@centos6 ~]#mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda3 on /app type ext4 (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb2 on /app/sdb22 type ext4 (rw)
/dev/sdb1 on /app/sdb1 type ext3 (rw,nosuid)
/root/p1 on /mnt type ext4 (rw,loop=/dev/loop0)
[root@centos6 ~]#touch /mnt/f1 #创建文件到挂载点
[root@centos6 ~]#ls /mnt/
f1 lost+found
[root@centos6 ~]#ls /dev/loop* #centos6系统默认有8个loop设备
/dev/loop0 /dev/loop2 /dev/loop4 /dev/loop6
/dev/loop1 /dev/loop3 /dev/loop5 /dev/loop7
提示:将文件挂载到目录上时会自动分配loop设备替代文件进行挂载,使用loop挂载会减少一个loop设备。
[root@centos6 ~]#mknod /dev/loop8 b 7 8 #可以手动增加loop设备
[root@centos6 ~]#ll /dev/loop*
brw-rw----. 1 root disk 7, 0 Jun 6 19:30 /dev/loop0
brw-rw----. 1 root disk 7, 1 Jun 6 19:30 /dev/loop1
brw-rw----. 1 root disk 7, 2 Jun 6 19:30 /dev/loop2
brw-rw----. 1 root disk 7, 3 Jun 6 19:30 /dev/loop3
brw-rw----. 1 root disk 7, 4 Jun 6 19:30 /dev/loop4
brw-rw----. 1 root disk 7, 5 Jun 6 19:30 /dev/loop5
brw-rw----. 1 root disk 7, 6 Jun 6 19:30 /dev/loop6
brw-rw----. 1 root disk 7, 7 Jun 6 19:30 /dev/loop7
brw-r--r--. 1 root root 7, 8 Jun 7 17:12 /dev/loop8 #增加loop设备
[root@centos6 ~]#losetup /dev/loop8 p2 #手动关联loop设备到指定文件
将p1文件拷贝到centos7系统上挂载使用
[root@centos7 ~]#mount /app/p1 /mnt #将文件挂载到目录上不需要加-o loop
[root@centos7 ~]#df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 20961280 3763376 17197904 18% /
devtmpfs 722676 0 722676 0% /dev
tmpfs 738604 0 738604 0% /dev/shm
tmpfs 738604 10468 728136 2% /run
tmpfs 738604 0 738604 0% /sys/fs/cgroup
/dev/sda5 10475520 200048 10275472 2% /app
/dev/sda1 303780 140632 163148 47% /boot
tmpfs 147724 12 147712 1% /run/user/42
tmpfs 147724 0 147724 0% /run/user/0
/dev/sdb1 2086912 176 2086736 1% /app/sdb1
/dev/loop0 95054 1551 86335 2% /mnt
[root@centos7 ~]#ls /mnt/ #查看/mnt下文件
f1 lost+found
[root@centos7 ~]#losetup -a #查看loop设备对应哪个文件
/dev/loop0: [2053]:73 (/app/p1)
[root@centos7 ~]#ls /dev/loop* #查看loop设备
/dev/loop0 /dev/loop-control
提示:centos7系统使用loop设备挂载时会自动创建loop设备
acl:启用此文件系统上的acl功能
[root@centos6 ~]#mount -o acl /dev/sdb1 /app/sdb1 #启用文件系统上的acl功能
[root@centos6 ~]#setfacl -m u:wang:rw f1 #设置acl权限
[root@centos6 ~]#mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda3 on /app type ext4 (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb2 on /app/sdb2 type ext4 (rw)
/dev/sdb2 on /app/sdb22 type ext4 (rw)
/dev/sdb1 on /app/sdb1 type ext3 (rw,acl)
取消acl功能:-o noacl,remount
[root@centos6 ~]#mount -o noacl,remount /dev/sdb1 /app/sdb1 #取消acl功能
[root@centos6 ~]#mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda3 on /app type ext4 (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb2 on /app/sdb2 type ext4 (rw)
/dev/sdb2 on /app/sdb22 type ext4 (rw)
/dev/sdb1 on /app/sdb1 type ext3 (rw,noacl)
[root@centos6 /app/sdb1]#setfacl -m u:wang:rw f1 #设置acl功能不支持
setfacl: f1: Operation not supported
remount:重新挂载
[root@centos6 ~]#mount -o remount,ro /app/sdb1 #使用remount重新挂载选项
[root@centos6 ~]#mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda3 on /app type ext4 (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb2 on /app/sdb2 type ext4 (rw)
/dev/sdb2 on /app/sdb22 type ext4 (rw)
/dev/sdb1 on /app/sdb1 type ext3 (ro,noacl)
6.3、卸载命令
1)查看挂载情况
findmnt MOUNT_POINT|device
2)查看正在访问指定文件系统的进程
lsof MOUNT_POINT
fuser -v MOUNT_POINT
3)终止所有在正访问指定的文件系统的进程
fuser -km MOUNT_POINT
4)卸载
umount DEVICE
umount MOUNT_POINT
例子:
[root@centos6 ~]#fuser -v /app/sdb1 #查看正在访问文件系统的进程
USER PID ACCESS COMMAND
/app/sdb1: root 5554 ..c.. bash
[root@centos6 ~]#fuser -km /app/sdb1 #强制杀掉正在访问文件系统进程(慎用)
/app/sdb1: 5554c
[root@centos6 ~]#umount /app/sdb1 #卸载挂载
[root@centos6 ~]#lsof /app/sdb1 #查看正在访问文件系统的进程
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 6526 root cwd DIR 8,17 4096 2 /app/sdb1
[root@centos6 ~]#findmnt /app/sdb1 #查看挂载情况
TARGET SOURCE FSTYPE OPTIONS
/app/sdb1 /dev/sdb1 ext3 rw,relatime,seclabel,errors=continue,barrier=1,data=
[root@centos6 ~]#findmnt /app/sdb2 #查看挂载情况若没有信息表示没有挂载
7、挂载点和/etc/fstab
配置文件系统体系
被mount、fsck和其它程序使用
系统重启时保留文件系统体系
可以在设备栏使用文件系统卷标
使用mount -a 命令挂载/etc/fstab中的所有文件系统
例子:mount -a和remount命令对/etc/fstab中所有文件系统用法
[root@centos6 ~]#vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue May 15 20:06:26 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=d7c928d9-40b6-420e-99de-74877dbdccf5 / ext4 defau
lts 1 1
UUID=d9193730-2fc6-44d0-93cb-a8b7a120a5bf /app ext4 defau
lts 1 2
UUID=fcf2e544-0db0-4f27-9bdd-380bddaaee4d /boot ext4 defau
lts 1 2
UUID=858ff62c-536c-4e5a-b7aa-bc949fcf20d2 swap swap defau
lts 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
UUID=c5030ba7-4da8-43d7-abe3-52772d26ef37 /app/sdb1 ext4 acl 0 0 #修改默认选项
[root@centos6 ~]#mount -a #只能新增的挂载设备使用mount -a有效,已存在进行修改则无效
[root@centos6 ~]#mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda3 on /app type ext4 (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb2 on /app/sdb22 type ext4 (rw)
/root/p1 on /mnt type ext4 (rw,loop=/dev/loop0)
/dev/sdb1 on /app/sdb1 type ext4 (rw)
[root@centos6 ~]#umount /app/sdb1 #取消挂载;若某个用户正在访问,是无法取消挂载,所以此方法不可行(本例中没有正在访问所以可以取消挂载)
[root@centos6 ~]#mount -a #重新自动
[root@centos6 ~]#mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda3 on /app type ext4 (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb2 on /app/sdb22 type ext4 (rw)
/root/p1 on /mnt type ext4 (rw,loop=/dev/loop0)
/dev/sdb1 on /app/sdb1 type ext4 (rw,acl)
[root@centos6 ~]#mount -o remount /app/sdb1 #使用remount重新挂载(此方法最有效)
[root@centos6 ~]#mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda3 on /app type ext4 (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb2 on /app/sdb22 type ext4 (rw)
/root/p1 on /mnt type ext4 (rw,loop=/dev/loop0)
/dev/sdb1 on /app/sdb1 type ext4 (ro,noexec,nosuid)
7.1、文件挂载配置文件
/etc/fstab每行定义一个要挂载的文件系统
1)要挂载的设备或伪文件系统:
设备文件:
LABEL:LABEL=""
UUID:UUID=""
伪文件系统名称:proc, sysfs
2)挂载点
3)文件系统类型
4)挂载选项:defaults
5)转储频率:0:不做备份 1:每天转储 2:每隔一天转储
6)自检次序: 0:不自检
1:首先自检;一般只有rootfs才用1
/etc/fstab配置文件哪些配置错误导致系统启动失败
1)如果设备不存在或配置错误及自检次序非0会导致系统启动失败
2)如果挂载点错误,会影响挂载,不影响系统启动