文件系统管理
创建文件系统
创建文件系统的命令格式:
mkfs.ext4 <设备名>
创建 ext4 类型的文件系统
mkfs.xfs <设备名>
创建 xfs 类型的文件系统
也可以使用带 -t<fstype> 选项的 mkfs 命令创建各种类型的文件系统。
使用 mount 命令挂载文件系统
mount 的命令格式如下:
格式1:mount [-t<文件系统类型>] [-o<挂载选项>] <设备名> <挂装点>
- 用于挂载 /etc/fstab 中为列出的文件系统
- 使用 -t 选项可以指定文件类型
- 若省略,以此试探 /proc/filesystems 中不包含 nodev 的行
- 必须同时指定使用<设备名>或<挂装点>
格式2:mount [-o<挂载选项>] <设备名>或<挂装点>
- 用于挂载 /etc/fstab 中以列出的文件系统
- 选择使用<设备名>或<挂装点>
- 若 -o 省略,使用 /etc/fstab 中该文件系统的挂装选项。
格式3:mount -a [-t<文件系统类型>] [-o<挂载选项>]
- 用于挂载 /etc/fstab 中所有不包含 noauto (非自动挂装)挂装选择的文件系统
- -t 若指定此参数,则只挂装 /etc/fstab 中指定类型的文件系统
- -o 用于指定挂装 /etc/fstab 中包含指定挂装选项的文件系统
- 若同时指定 -t 和 -o ,则为或者的关系
使用 mount 命令可查看当前挂装的文件系统。
挂装点就是文件系统中的一个目录,必须把文件系统挂装在目录树中的某个目录中。
挂装点目录在实施挂装操作之前必须存在,如其不存在则应该使用 mkidir 命令创建。
通常挂装点目录必须是空的,否则目录中原有文件将内系统隐藏。
使用 umount 命令卸载文件系统
格式:umount <设备名或挂装点>
注:如果一个文件系统处于 busy 状态,则不能卸载该文件系统。
fuser 命令
fuser 命令可以根据文件(目录、设备)查找使用它的进程,同时也提供了杀死这些进程的方法。当文件处于 busy 状态时可以使用该命令。
fuser -cu /mount_point
查看挂接点有哪些进程需要杀掉
fuser -ck /mount_point
杀死这些进程,发送 kill -9 命令
fuser -c /mount_point
查看是否还有进程在访问挂接点
umount /mount_point
卸载挂接点上的设备
在系统启动时自动挂载文件系统
使用 mount 命令手动挂装的文件系统在关机时会被自动卸载,但系统再次启动时不会被自动挂装,要在启动时自动挂装文件系统必须修改挂装表配置文件 /etc/fstab。
/etc/fstab 文件每一行书写一个文件系统的挂装情况,以#开头的行为注释行,文件中每一列的说明如下表:
栏名 | 说明 |
---|---|
file system | 要挂装的设备,可以使用设备名,也可以通过 UUID=<uuid> 或 LABEL=<label> 来指定。 |
mount point | 挂装点的目录 |
type | 挂装的文件类型 |
options | 挂装选项,挂装设备是可以设置多选项,不同选项间逗号隔开 |
dump | 使用 dump 命令备份文件系统的频率,空白或值为0时,系统认为不需要备份 |
pass | 开机时, fsck 命令会自动检查文件系统 ,pass 规定了检查的顺序。挂装到 / 分区的文件系统,此栏位应是1,其余是2,0表示不需要检查。 |
修改 /etc/fstab 文件后,执行 mount -a
使当前修改生效。
注:在 mini 情况下的 centos 需要先执行安装命令yum install psmisc
,否则不能使用 fuser 命令。
磁盘限额
磁盘限额的概念
在一个多用户的系统上,必须限制每个用户的磁盘使用空间,以免个别用户占用过多的磁盘空间影响系统运行或其他用户使用。
磁盘限额是系统管理员用来监控和限制用户或组对磁盘使用的工具,磁盘限额可以从两个方面限制:
1.限制用户或组可以拥有的 inode 数(文件数)
2.限制分配给用户或组的磁盘块的数目(以千字节为单位的磁盘空间)
设置磁盘限额还涉及如下与限制策略相关的3个概念:
- 硬限制:超过此设定值后不能继续存储新的文件
- 软限制:超过此设定值后仍旧可以继续存储新的文件,同时系统发出警告信息,建议用户清理自己的文件,释放出更多空间。
- 宽限期:超过软限制多长时间之内(默认7天)可以继续存储新的文件。
centos 下的磁盘限额支持
磁盘限额有 linux 的内核支持, centos 提供 cfsold(v1)、vsfv0(v2)、xfs 三种不同的配额支持。
对于 ext3/4 文件系统,磁盘限额的配置和查看工具由 quota 软件包提供,对于 xfs 文件系统,磁盘限额的配置和查看工具由 xfsprogs 软件包的 xfs_quota 提供。
quota 提供的常用的磁盘配额管理工具:
工具 | 说明 |
---|---|
quota | 查看磁盘的使用和限额 |
requota | 显示文件系统的磁盘限额汇总信息 |
quotacheck | 从 /etc/mtab 中扫描支持配额的文件系统、生成、检查、修复限额文件 |
edquota | 使用编辑器编辑用户或组的限额 |
setquota | 使用命令行设置用户或组的限额 |
quotaon | 启用文件系统的磁盘限额 |
convertquota | 停用文件系统的磁盘限额 |
quotastats | 显示内核的限额统计信息 |
配置磁盘限额
在 centos 下配置磁盘限额的步骤如下:
配置步骤 | ext3 / 4文件系统 | xfs 文件系统 |
---|---|---|
编辑 /etc/fstab文件 启用文件系统的 quota 挂装选项 |
usrquota grpquota |
uquota gquota |
创建 quota 数据库文件并启用 quota | quotacheck -cmvug <文件系统> quotaon -avug |
xfs 文件系统的 quota 结构信息包含在数据和日志中,无需此步骤 |
设置 quota | 使用 setquota 或 edquota 配置 | 使用 xfs_quota 配置 |
setquota 命令设置磁盘限额的方法:
功能 | 命令 |
---|---|
为指定的用户设置配额 | setquota [-u] <用户名> <块软限制 块硬设置 inode 软设置 inode 硬设置> < -a 文件系统> |
为指定组的设置配额 | setquota -g <块软限制 块硬设置 inode 软设置 inode 硬设置> < -a 文件系统> |
将参考用户的限额设置复制给待设置的新用户 | setquota [-u] -p <参考用户> <新用户> <-a 文件系统> |
将参考组的限额设置复制给待设置的新组 | setquota -g -p <参考组> <新组> <-a 文件系统> |
为指定用户的设置配额宽限期 | setquota -t [-u] <块宽限期 inode 宽限期> <-a 文件系统> |
为指定组的设置配额时间限期 | setquota -t -g <块宽限期 inode 宽限期> <-a 文件系统> |
xfs_quota 命令设置磁盘限额的方法:
功能 | 命令 |
---|---|
为指定的用户设置配额 | xfs_quota -x -c ‘limit -u bsoft=N nhaird=N isoft=N ihard=N <用户名>’ <文件系统> |
为指定组的设置配额 | xfs_quota -x -c ‘limit -u bsoft=N nhaird=N isoft=N ihard=N <组名>’ <文件系统> |
为指定用户的设置配额宽限期 | xfs_quota -x -c ‘timer -u -b <块宽限期>’ <文件系统> xfs_quota -x -c ‘timer -u -i <inode 宽限期>’ <文件系统> |
为指定组的设置配额宽限期 | xfs_quota -x -c ‘timer -g -b <块宽限期>’ <文件系统> xfs_quota -x -c ‘timer -g -i <inode 宽限期>’ <文件系统> |
功能 | ext3 / 4 文件系统 | xfs 文件系统 |
---|---|---|
查看指定用户的配额 | quota -uv <用户名> | xfs_quota -c ’quota -bi -uv <用户名>‘ <文件系统> |
查看指定组的配额 | quota -gv <组名> | xfs_quota -c ’quota -bi -gv <组名>‘ <文件系统> |
查看所有文件系统的磁盘限额汇总信息 | requota -a requota -au requota -ag |
xfs_quota -x -c ‘report -a’ xfs_quota -x -c ‘report -u -a’ xfs_quota -x -c ‘report -g -a’ |
显示指定文件系统的磁盘限额汇总信息 | requota <文件系统> requota -u <文件系统> requota -g <文件系统> |
xfs_quota -x -c report <文件系统> xfs_quota -x -c ’report -u’ <文件系统> xfs_quota -x -c ‘report -g’ <文件系统> |