首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Linux 磁盘管理命令:quotaon开启磁盘空间限制\mdadmRAID设置工具

Linux 磁盘管理命令:quotaon开启磁盘空间限制\mdadmRAID设置工具

原创
作者头像
度假的小鱼
发布2025-01-21 15:28:32
发布2025-01-21 15:28:32
6980
举报
文章被收录于专栏:LinuxLinux

Linux 磁盘管理命令:quota显示磁盘已使用的空间与限制、quotacheck:检查磁盘的使用空间与限制、quotaoff:关闭磁盘空间限制、quotaon: 开启磁盘空间限制、quotastats:显示磁盘空间限制、repquota:检查磁盘空间限制的状态、mdadm:RAID设置工具

quota:显示磁盘已使用的空间与限制

  • 作用:显示磁盘已使用的空间与限制。
  • 用法:quota 选项

quota 选项

  • 主要选项如下:

命令

描述

-g

列出群组的磁盘空间限制。

-q

简明列表,只列出超过限制的部分。

-u

列出用户的磁盘空间限制。

-v

显示该用户或群组所有挂入系统的存储设备的空间限制。

-V

显示版本信息。

说明 执行 quota 指令,可查询磁盘空间的限制,并可知已使用多少空间

案例练习

显示 cjh 组磁盘已使用的空间。

代码语言:bash
复制
# quota cjh

quotacheck:检查磁盘的使用空间与限制

  • 作用:检查磁盘的使用空间与限制。
  • 用法:quotacheck -选项
  • 主要选项如下:

命令

描述

-a

扫描在/etc/fstab 文件中加入 quota 设置的分区。

-d

详细显示指令执行过程,便于排错或了解程序执行的情形。

-g

扫描磁盘空间时,计算每个群组识别码所占用的目录和文件数目。

-R

排除根目录所在的分区。

-u

扫描磁盘空间时,计算每个用户识别码所占用的目录和文件数目。

-v

显示指令执行过程。

说明 执行 quotacheck 命令会扫描挂入系统的分区,并在各分区的文件系统根目录下产 生 quota.user 和 quota.group 文件,分别用于设置用户和群组的磁盘空间限制。

案例练习

扫描在/etc/fstab 文件中加入 quota 设置的分区。

代码语言:bash
复制
# quotacheck -a

quotaoff:关闭磁盘空间限制

  • 作用:关闭磁盘空间限制。
  • 用法:quotaoff 选项
  • 主要选项如下:

命令

描述

-a

关闭在/etc/fstab 文件中加入 quota 设置的分区的空间限制。

-g

关闭群组的磁盘空间限制。

-u

关闭用户的磁盘空间限制。

-v

显示指令执行过程。

说明: 执行 quotaoff 指令可以关闭用户和群组的磁盘空间限制。

案例练习

关闭在/etc/fstab 文件中加入 quota 设置的分区的空间限制。

代码语言:bash
复制
# quotaoff -a

quotaon: 开启磁盘空间限制

  • 作用:开启磁盘空间限制。
  • 用法:quotaon [选项] [文件系统...]
  • 主要选项如下:

命令

描述

-a

开启在/ect/fstab 文件中加入 quota 设置的分区的空间限制。

-g

开启群组的磁盘空间限制。

-u

开启用户的磁盘空间限制。

-v

显示指令执行过程。

说明 执行 quotaon 指令可开启用户和群组的磁盘空间限制,各分区的文件系统根目录 必须有 quota.user 和 quota.group 配置文件。

案例练习

开启在/etc/fstab 文件中加入 quota 设置的分区的空间限制。

代码语言:bash
复制
# quotaon –a

quotastats:显示磁盘空间限制

  • 作用:显示磁盘空间限制。
  • 用法:quotastats

说明 本命令无参数。

案例练习

显示磁盘空间限制。

代码语言:bash
复制
# quotastats 
Kernel quota version: 6.5.1 
Number of dquot lookups: 0 
Number of dquot drops: 0 
Number of dquot reads: 0 
Number of dquot writes: 0 
Number of quotafile syncs: 22 
Number of dquot cache hits: 0 
Number of allocated dquots: 0 
Number of free dquots: 0 
Number of in use dquot entries (user/group): 0

repquota:检查磁盘空间限制的状态

  • 作用:检查磁盘空间限制的状态。
  • 用法:repquota [选项] [文件系统...]
  • 主要选项如下:

命令

描述

-a

列出在/etc/fstab 文件中加入 quota 设置的分区的使用状况,包括用户和群组。

-g

列出所有群组的磁盘空间限制。

-u

列出所有用户的磁盘空间限制。

-v

显示该用户或群组的所有空间限制。

说明 执行 repquota 指令可以报告磁盘空间限制的状态,清楚得知每位用户或每个群组 已使用多少空间。

案例练习

显示 cjh 用户组的磁盘使用情况。

代码语言:bash
复制
# repquota -g cjh

mdadm:RAID设置工具

  • 作用:mdadm 是 Linux 下用于管理软件磁盘阵列的工具。
  • 用法:mdadm 模式 选项
  • 模式有如下 7 种:
  • Create:使用空闲的设备创建一个新的阵列,每个设备具有元数据块。
  • Assemble:将原来属于一个阵列的每个块设备组装为阵列。
  • Build:创建或组装不需要元数据的阵列,每个设备没有元数据块。
  • Manage:管理已经存储在阵列中的设备,比如增加热备份磁盘或者设置某个磁盘失效, 然后从阵列中删除这个磁盘。
  • Misc:报告或者修改阵列中相关设备的信息,比如查询阵列或者设备的状态信息。
  • Grow:改变阵列中每个设备被使用的容量或阵列中的设备数目。
  • Monitor:监控一个或多个阵列,上报指定的事件。
  • 主要选项如下:

命令

描述

-A, --assemble

加入一个以前定义的磁盘阵列。

-B, --build

建立没有超级块(Super Block)的磁盘阵列。

-C, --create

创建一个新的磁盘阵列。

-Q, --query

查看一个设备。

-D, --detail

显示一个或多个磁盘阵列的详细信息。

-E, --examine

显示一个或多个磁盘阵列的超级块信息。

-F, --follow, --monitor

选择 Monitor 模式。

-G, --grow

改变在用磁盘阵列的大小或形态。

-h, --help

帮助信息。用在以上选项后,则显示该选项信息。

-c, --config=

指定配置文件,默认为/etc/mdadm/mdadm.conf。

-s, --scan

扫描配置文件或/proc/mdstat,以搜寻丢失的信息。

--auto=yes

自动连接的磁盘阵列设备,一般是/dev/md0,以此类推是/dev/md1……

--raid-devices=N

使用几个磁盘(Partition)作为磁盘阵列的设备。

--spare-devices=N

使用几个磁盘作为磁盘阵列的备用设备。

--level=[015]

设置磁盘阵列的等级,常用 0,1,5。

--add

将后面的设备加入到这个 MD 中。

--remove

将后面的设备由这个 MD 中移除。

--fail

将后面的设备设定为出错的状态。

案例练习

1)创建新的磁盘

mdadm 使用--create(或者其缩写-C)参数来创建新的阵列,并且将一些重要阵列的标识信 息作为元数据,可以写在每一个底层设备的指定区间。--level(或者其缩写-l)表示阵列的 RAID 级别。--chunk(或者其缩写-c)表示每个条带单元的大小,以 KB 为单位,默认为 64KB,条 带单元的大小配置对不同负载下的阵列读/写性能有很大影响。--raid-devices(或者其缩写-n) 表示阵列中活跃的设备个数。而--spare-devices(或者其缩写-x)表示阵列中热备磁盘的个数, 一旦阵列中的某个磁盘失效,MD 内核驱动程序自动将热备磁盘加入到阵列,然后将丢失磁盘 上的数据重构到热备磁盘上。

创建一个 RAID 0 设备。

代码语言:bash
复制
mdadm --create /dev/md0 --level=0 --chunk=32 --raid-devices=3 /dev/sd[i-k]1

创建一个 RAID 1 设备。

代码语言:bash
复制
mdadm -C /dev/md0 -l1 -c128 -n2 -x1 /dev/sd[i-k]1

创建一个 RAID 5 设备。

代码语言:bash
复制
mdadm -C /dev/md0 -l5 -n5 /dev/sd[c-g] -x1 /dev/sdb

创建一个 RAID 6 设备。

代码语言:bash
复制
mdadm -C /dev/md0 -l6 -n5 /dev/sd[c-g] -x2 /dev/sdb /dev/sdh

创建一个 RAID 10 设备。

代码语言:bash
复制
mdadm -C /dev/md0 -l10 -n6 /dev/sd[b-g] -x1 /dev/sdh

创建一个 RAID 1+0 设备。

代码语言:bash
复制
mdadm -C /dev/md0 -l1 -n2 /dev/sdb /dev/sdc 
mdadm -C /dev/md1 -l1 -n2 /dev/sdd /dev/sde 
mdadm -C /dev/md2 -l1 -n2 /dev/sdf /dev/sdg 
mdadm -C /dev/md3 -l0 -n3 /dev/md0 /dev/md1 /dev/md2

当 RAID 1/4/5/6/10 等创建成功后,需要计算每个条带的校验和信息,并写入到相应磁盘上, 所以 RAID 阵列有一个冗余组数据同步的初始化过程(resync)。但是 MD 设备只要创建成功后 即可对外被上层应用读/写使用,但是上层数据读/写会降低数据同步的性能。初始化的时间长 短和磁盘阵列自身性能及读/写的应用负载有关,可以使用 cat /proc/mdstat 信息查询 RAID 阵列 当前重构的速度和预期的完成时间。

代码语言:bash
复制
# cat /proc/mdstat 
Personalities : [raid10] 
md0 : active raid10 sdh[6](S) sdg[5] sdf[4] sde[3] sdd[2] sdc[1] sdb[0] 
 3145536 blocks 64K chunks 2 near-copies [6/6] [UUUUUU] 
 [===>...........] resync = 15.3% (483072/3145536) finish=0.3min 
speed=120768K/sec 
unused devices: <none>

2)使用磁盘

MD 设备可以像普通块设备那样直接读/写,也可以当作文件系统使用。

代码语言:bash
复制
#mkfs.ext3 /dev/md0 
#mkdir -p /mnt/md-test 
#mount /dev/md0 /mnt/md-test

3)停止正在运行的阵列

如果阵列没有文件系统或其他存储应用及高级设备使用,可以使用--stop(或其缩写-S)停 止阵列;如果命令返回设备或者资源忙类型的错误,说明/dev/md0 正在被上层应用使用,暂时 不能停止,必须首先停止上层的应用,这样也能保证阵列上数据的一致性。

代码语言:bash
复制
# ./mdadm --stop /dev/md0 
mdadm: fail to stop array /dev/md0: Device or resource busy 
# umount /dev/md0 
#./mdadm --stop /dev/md0 
mdadm: stopped /dev/md0

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • quota:显示磁盘已使用的空间与限制
    • 案例练习
  • quotacheck:检查磁盘的使用空间与限制
    • 案例练习
  • quotaoff:关闭磁盘空间限制
    • 案例练习
  • quotaon: 开启磁盘空间限制
    • 案例练习
  • quotastats:显示磁盘空间限制
    • 案例练习
  • repquota:检查磁盘空间限制的状态
    • 案例练习
  • mdadm:RAID设置工具
    • 案例练习
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档