今天我测试了下ext4 quota和xfs独有的projects quota两者的区别
以下是个人理解
两者原理上的区别
quota是把用户的配额限制都写在了挂在点上的根目录,而project quota是xfs独有的项目配额,他不依赖于用户,而是在挂在点的根目录下写一条限制就可以,等于你挂在点下的每个目录都可以看做为一个项目,你可以自己定义每个项目的名称和id写到配置文件里
对于咱们java环境来讲,还是陈峰的方法操作起来更方便和灵活
1.不用格式化分区
2.不用再多管理配置文件,因为xfs的projects quota依赖两个配置文件
3.quota是把用户的配额限制都写在了挂在点上的根目录,而project quota是xfs独有的项目配额,他不依赖于用户,而是在挂在点的根目录下写一条限制就可以,等于你挂在点下的每个目录都可以看做为一个项目,你可以自己定义每个项目的名称和id写到配置文件里
首先创建了2个用户jvm-test1 jvm-test2 jvm
ext4 quota
1.vim /etc/fstab
/dev/vdb /data0 ext4 defaults,usrquota,grpquota 0 0
2.mount -o remount /data0/
3.setquota -u jvm-test1 5000 10000 0 0 /data0
4.mkdir /data0/test1 /data0/test2
5.edquota -p jvm-test1 -u jvm-test2 复制jvm-test1规则
6.chown -R jvm-test1.jvm test1/ && chown -R jvm-test2.jvm test2/
7.repquota -auv 可以看到都有哪些用户做了quota 软硬配额是多少
8.su - jvm-test1
9.dd </dev/zero >userfile bs=1M count=100
vdb: write failed, user block limit reached.
dd: writing `standard output': Disk quota exceeded
1+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000934845 s, 0.0 kB/s
xfs project quota
1.umount /data0/
2.mkfs.xfs -f /dev/vdb
3.mount -o prjquota /dev/vdb /data0/
4.mkdir /data0/test1
5.echo '50:/data0/test1' >> /etc/projects
6.echo 'dev-projectss:50' >> /etc/projid
7.xfs_quota -x -c 'project -s dev-projectss' /data0
8.xfs_quota -x -c 'limit -p bhard=1m dev-projectss' /data0
9.chown -R jvm-test1.jvm /data0/test1
10.su - jvm-test1
11.dd if=/dev/zero of=/data0/test1/testsdf bs=1024 count=100000
dd: writing `/data0/test1/testsdf': No space left on device
15357+0 records in
15356+0 records out
15724544 bytes (16 MB) copied, 0.281963 s, 55.8 MB/s