首頁  >  文章  >  運維  >  總結磁碟配額的使用實例

總結磁碟配額的使用實例

巴扎黑
巴扎黑原創
2017-06-23 14:12:432079瀏覽

磁碟配額

1 啟用磁碟配額

首先建立新的分割區/dev/sd5,並建立檔案系統。

[root@local ~]# mkfs.ext4 /dev/sda5

由於xfs 不磁碟配額能成功,這裡使用ext4.

#然後把/dev/sda5分割區掛載到/home

[root@local ~]# mount /dev/sda5 /home

##[root@ local ~]# blkid /dev/sda5

/dev/sda5: UUID="8879cf63-99a5-43bb-9bfe-de303afb0799" TYPE="ext4"

修改/etc /fstab 檔案

[root@local ~]# vim /etc/fstab

UUID=dddd23d1-1012-4bac-9717-56b9b469e0c2 / ext4 defaults 1 1

UUID=316d8677-25b8-49af-b4eb-54daa20b6595 /boot ext4 defaults 1 2

UUID=dacd6ddd-d765-4646-b98c-0579 UUID=8879cf63-99a5-43bb-9bfe-de303afb0799 /home ext4 defaults,usrquota,grpquota 0 0

usrquota為啟用磁碟的使用者磁碟配額功能,grpquota為啟用磁碟的磁碟功能。

[root@centos7 ~]# mount –a /home/

#查看掛載是否成功

[root@local ~ ]# mount

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)

proc on /proc type proc (rw,nosuid,nodev, noexec,relatime)

[……]

/dev/sda5 on /home type ext4 (rw,relatime,seclabel,quota,usrquota,grpquota,data=ordered)

可以看到/dev/sda5已經正確掛載

2建立配額資料庫

[root@centos7 ~] # quotacheck -cug /home

由於/etc/fstab 檔案設定了usrquota,grpquota,所以這裡必須是–cug,u對應usrquota,g對應grpquota。

現在檢視/home目錄,會多出兩個文件,說明磁碟配額資料庫建立成功。

[root@local ~]# ll /home/

total 36

-rw-------. 1 root root 7168 Apr 25 11:03 aquota.group

-rw-------. 1 root root 7168 Apr 25 11:03 aquota.user

drwx------. 3 centos centos 4096 Apr 16 10:20 centos

drwx------. 2 root root 16384 Apr 25 10:55 lost+found

#3 啟用資料庫

[root@local ~]# quotaon /home/

[root@local ~]

#下來查看一下,可以看到以及啟用成功。

[root@local ~]# quotaon -p /home/

group quota on /home (/dev/sda5) is on

#user quota on /home ( /dev/sda5) is on

4 磁碟配額設定

設定user1 磁碟配額為100M,80M時發出警告

[root@local ~]# edquota user1

Disk quotas for user user1 (uid 1001):

Filesystem blocks soft hard inodes soft hard

##/dev/sda5 52 80000 100000 13 0 0

這裡的預設單位為block ,1個block為1K。 soft為警告值,hard為最大值,

現在來確認設定是否成功

[root@local ~]# quota user1    #查看用户user 的磁盘配额
Disk quotas for user user1 (uid 1001):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda5 52 80000 100000 13 0 0

5 測試

(1)建立測試的使用者user1

[root@local ~]# useradd uesr1

切換到user1使用者
[root@local ~]# su - user1
Last login: Tue Apr 25 11:08:41 CST 2017 on pts/1

#(2)建立檔案測試

先建立一個50M 的檔案testquota。

[user1@local ~]$ dd if=/dev/zero of=testquota bs=1M count=50
50+0 records in
50+0 records out
52428800 bytes (52 MB) copied, 0.562963 s, 93.1 MB/s

可以看到一切正常
    再來建立一個35M 的檔案testquota2。

[user1@local ~]$ dd if=/dev/zero of=testquota2 bs=1M count=35

sda5: warning, user block quota exceeded.
35+0 records in
35+0 records out
36700160 bytes (37 MB) copied, 0.348267 s, 105 MB/s

由於50M+35M=85M 大於80M
所有看到這次發出警告了,但是操作還是成功了

    下來再創建一個20M的檔案testquota3。

[user1@local ~]$ dd if=/dev/zero of=testquota3 bs=1M count=20

sda5: write failed, user block limit reached.
dd: error writing 'testquota3': Disk quota exceeded
13+0 records in
12+0 records out
13217792 bytes (13 MB) copied, 0.165029 s, 80.1 MB/s

由於已經超過最大值100M,所以創建失敗了!

測試完成,實驗結束!

以上是總結磁碟配額的使用實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn