linux下磁盘配额ext4&xfs


title: RHEL/CENTOS磁盘配额
tags: linux/storage

环境:

vmware workstation 15
redhat 7.6/centos 7.6

使用情景:

配额是面向用户进行的磁盘空间管理工作,其目的是为了限制用户过多的使用磁盘资源,造成浪费,降低空间利用率

一、ext4文件系统的配额方法

1.添加硬盘
	在vmware workstation 的图形化界面中用鼠标添加一块新硬盘
	重启,系统重新读盘
2.分区 
	fdisk /dev/sdb	/*我这是第一次添加一个硬盘,所以编号为sdb*/
	Command (m for help): /*输入操作选项 新建分区输入n*/
	Command action
	   a   toggle a bootable flag   设定硬盘启动区
	   b   edit bsd disklabel
	   c   toggle the dos compatibility flag
	   d   delete a partition		删除一个分区
	   g   create a new empty GPT partition table
	   G   create an IRIX (SGI) partition table
	   l   list known partition types  列出已知的分区类型,不常用的分区类型可以在这里找到
	   m   print this menu								显示所有的列表
	   n   add a new partition							新建一个分区
	   o   create a new empty DOS partition table   创建一个新的dos分区表
	   p   print the partition table   			输出分区表
	   q   quit without saving changes  	退出不保存
	   s   create a new empty Sun disklabel
	   t   change a partition's system id   更改分区类型
	   u   change display/entry units
	   v   verify the partition table		
	   w   write table to disk and exit 写入分区表,保存操作
	   x   extra functionality (experts only)
	
	
	    Partition type:
  		 p   primary (1 primary, 0 extended, 3 free)		主分区
  		 e   extended										扩展分区、
		Select (default p): 								这里输入p

		Partition number (1-4, default 1): 					这里是分区编号,默认即可

		First sector (2048-41943039, default 2048): 		起始扇区,没有特殊要求默认即可

		Using default value 2048							从2048扇区开始
		Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): 	结束扇区,可以+{K,M,G}
		Partition 1 of type Linux and of size 2 GiB is set	分区1,类型为linux主分区,大小是2G
		
		分区创建成功!!

3.格式化 
	注意:所有的分区,逻辑卷,阵列,如果不进行格式化都不能进行挂载使用
	mkfs.[type]+目录
	例:mkfs.xfs /dev/sdb/sdb1
4.挂载
	注意:所有的分区,逻辑卷,阵列,如果不进行挂载就不能进行使用 
	临时挂载:
		mount  [目录] [挂载目录]
		例:mount /dev/sdb/sdb1 /mnt
	永久性挂载:
		vim /etc/fstab	
		内容:
		添加一行:/dev/sdb/sdb1	  /mnt/		iso9660		xfs		defaults  0 0

5.更改权限
	 chmod 777 /mnt/			权限给到最大方便测试
6.文件创建与扫描
	 quotacheck /mnt/
7.激活配额点
	 quotaon  /mnt/
8.对用户进行配额操作
	 edquota alex
	 编辑内容:
		Disk quotas for user alex (uid 1001):
		Filesystem                   blocks       soft       hard     inodes     soft     hard
		/dev/sdb1                       352        300        400          1        0        0
	 参数详解:
		blocks 	块大小限制
		inodes	文件个数限制
		soft	软限制	
		hard	硬限制

9.验证
	dd if=/dev/zero of=/mnt/1.test	bs=1k  count=401
	提示:
		[alex@localhost mnt]$ dd if=/dev/zero of=/mnt/1.test bs=1k count=401  测试写入401k
		sdb1: warning, user block quota exceeded.
		sdb1: write failed, user block limit reached.
		dd: error writing ‘/mnt/1.test’: Disk quota exceeded    错误,超限,证明硬限制生效
		401+0 records in
		400+0 records out
		409600 bytes (410 kB) copied, 0.00162328 s, 252 MB/s

二、xfs文件系统的磁盘配额

 1.添加硬盘 
	在vmware workstation	图形化界面中用鼠标添加一块新硬盘

 2.分区
	对新添加的硬盘进行分区
	fdisk /dev/sdb   选择新添加的硬盘进行分区操作
	Command (m for help): 			这里输入进行分区的操作,我们输入n,添加一个新分区 
	Partition type:					分区类型
	 p   primary (0 primary, 0 extended, 4 free) 主分区
	 e   extended									 扩展分区
	Select (default p): 			这里我们输入p,默认输入p
	Partition number (1-4, default 1):这里是分区编号,默认为1,最多只能创建4个主分区
	First sector (2048-41943039, default 2048): 	  这里是起始扇区,如果没有特殊要求默认即可
Using default value 2048
	Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): 这里是结束扇区,可+{K,M,G},根据需要输入
	Partition 1 of type Linux and of size 2 GiB is set     分区1,类型为linux主分区,大小为2G
	Command (m for help): p	  输出所有的分区
	Command (m for help): w   最后输入w保存退出

 3.格式化
	注意:所有的设备,分区,阵列,逻辑卷,只有在格式化之后才可以被挂载
	mkfs.xfs /dev/sdb1
	lsblk -f			可查看是否格式化成功
 4.挂载
	注意:所有的设备,分区,阵列,逻辑卷,只有在挂载后才能正常使用
	临时挂载:
		mount /dev/sdb1  /mnt/sdb   将dev下的设备sdb1挂载到/mnt/sdb
	永久挂载
		vim /etc/fstab   编辑挂载表文件
		内容:
		添加一行: 
			/dev/sdb1  /mnt/sdb  xfs   defaults,usrquota	  0 0
		mount -a 重读分区表
		mount 查看挂载是否成功
		/dev/sdb1 on /mnt/sdb type xfs (rw,relatime,seclabel,attr2,inode64,usrquota)   确保挂载选项有usrquota

 5.更改权限
	chmod 777 /mnt/sdb  将权限开到最大,方便测试,在实际环境中,只要保证配额用户有写入权限
 6.设置配额
    xfs_quota -x -c "limit bsoft=300k bhard=400k alex" /mnt/sdb
	注意:这里配置成功是没有提示的,需要用户自行测试
 7.测试
	切换用户alex
	su - alex

    测试1写入425k 
	dd if=/dev/zero of=/mnt/sdb/1.txt bs=1k count=425
	dd: error writing ‘/mnt/sdb/1.txt’: Disk quota exceeded
	401+0 records in
	400+0 records out
	409600 bytes (410 kB) copied, 0.00254558 s, 161 MB/s

	最终成功写入400k,证明硬限制400K生效
	total 400K
	-rw-rw-r--. 1 alex alex 400K Jun 12 07:16 1.txt

	测试2写入350k
	如果已经做了测试1,要把测试1生成的1.txt删除
		rm -rf 1.txt

	dd if=/dev/zero of=/mnt/sdb/2.txt bs=1k count=350   测试写入350k
	350+0 records in
	350+0 records out
	358400 bytes (358 kB) copied, 0.00110362 s, 325 MB/s
	
	ll -h 
	/mnt/total 352K
	-rw-rw-r--. 1 alex alex 350K Jun 12 07:23 2.txt   成功写入350k,但是没有报警,软限制没有生效

三、总结

1.两种文件系统的配额方法不一样
2.ext4文件系统的步骤为:
 准备:分区,格式化,挂载
 文件创建扫描
 激活配额挂载点
 编辑配额文件
 写入测试
3.xfs文件系统的步骤为:
 准备:分区,格式化,挂载
 设置配额
 写入文件测试
4.分区,阵列,逻辑卷都可以做配额
5.针对用户做配额,在挂载选项里写defaults,usrquota,用mount查看挂载usrquota功能是否成功
6.针对组做配额也可以,步骤大同小异
7.学习linux,一定要有自学能力,如果你认为自己的自学能力很强,那请你再加强,如果你认为自学能力不强,那就赶紧培养,linux老师,是教不完的,是学不完的,学无止境
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

〆是凌风呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值