29、Linux磁盘使用及文件系统管理企业级实战
根文件系统除外的其它文件系统要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”;此目录即为“挂载点”;
挂载点:mount_point,用于作为另一个文件系统的访问入口;
(1)事先存在;
(2)应该使用未被或不会被其它进程使用到的目录;
(3)挂载点下原有的文件将会被隐藏;
mount命令:
mount [-fnrsvw] [-t vfstype] [-o options] device dir
命令选项:
-r:readonly,只读挂载;
-w:read and write,读写挂载;
-n:默认情况下,设备挂载或卸载的操作会同步更新至/etc/mtab文件中;-n用于禁止此特性;
-t vfstype:指名要挂载的设备上的文件系统的类型;多数情况下可省略,此时mount会通过blkld来判断要挂载的设备的文件系统类型;
-L LABEL:挂载时以卷标的方式指明设备;
mount -L LABEL dir
-U UUID:挂载时以UUID的方式指明设备;
mount -U UUID dir
-o options:挂载选型
sync/async:同步/异步操作;
atime/noatime:文件或目录在被访问时是否更新其访问时间戳;
diratime/nodiratime:目录在被访问时是否更新其访问时间戳;
remount:重新挂载;
acl:支持使用facl功能;
#mount -o acl device dir
#tune2fs -o acl device
ro:只读
rw:读写
dev/nodev:此设备上是否允许创建设备文件;
exec/noexec:是否允许运行此设备上的程序文件;
auto/noauto:
user/nouser:是否允许普通用户挂载此文件系统;
suid/nosuid:是否允许程序文件上的suid和sgid特殊权限生效;
defaults:Use default options:rw,suid,dev,exec,auto,nouser,async,and relatime.
一个使用技巧:
可以实现将目录绑定至另一个目录上,作为其临时访问入口;
mount -bind 源目录 目标目录
查看当前系统所有已挂载的设备:
#mount
#cat /etc/mtab
#cat /proc/mounts
挂载光盘:
mount -r /dev/cdrom mount_point
光盘设备文件:/dev/cdrom,/dev/dvd
挂载U盘:
事先识别U盘的设备文件;
挂载本地的回环设备:
#mount -o loop /PATH/TO/SOME_LOOP_FILE MOUNT_POINT
umount命令:
umount device | dir
注意:正在被进程访问到的挂载点无法被卸载;
查看被哪个或哪些进程所占用:
#lsof MOUNT_POINT
#fuser -v MOUNT_POINT
终止所有正在访问某挂载点的进程:
#fuser -km MOUNT_POINT
交换分区的启用和禁用:
创建交换分区的命令:mkswap
启用:swapon
swapon [OPTION] [DEVICE
-a:定义在/etc/fstab文件中的所有swap设备;
禁用:swapoff
swapoff DEVICE
设定除根文件系统以外的其它文件系统能够开机时自动挂载:/etc/fstab文件
每行定义一个要挂载的文件系统及相关属性:
6个字段:
(1)要挂载的设备:
设备文件:
LABEL
UUID
伪文件系统:如sysfs,proc,tmpfs等
(2)挂载点
swap类型的设备的挂载点为swap;
(3)文件系统类型:
(4)挂载选型
defaults:使用默认挂载选型;
如果要同时指明多个挂载选型,彼此间以事情分隔;
(5)转储频率
0:从不备份
1:每天备份
2:每隔一天备份
(6)自检次序
0:不自检;
1:首先自检,通常只能是根文件系统可用1;
2:次级自检
...
mount -a:可自动挂载定义在此文件中的所支持自动挂载的设备;
两个命令:df和du
df命令:
df [OPTION]...[FILE]...
-l:仅显示本地文件的相关信息;
-h:human-readable
-i:显示inode的使用状态而非blocks
du命令:
du [OPTION]...[FILE]...
-s:summary
-h:human-readable
练习:
1、创建一个10G的分区,并格式化为ext4文件系统;
(1)block大小为2048;预留空间为2%,卷标为MYDATA;
(2)挂载至/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳;
(3)可开机自动挂载;
2、创建一个大小为1G的swap分区,并启动之;