W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
本書在前面曾經(jīng)講到,Linux系統(tǒng)的設(shè)計(jì)初衷就是讓許多人一起使用并執(zhí)行各自的任務(wù),從而成為多用戶、多任務(wù)的操作系統(tǒng)。但是,硬件資源是固定且有限的,如果某些用戶不斷地在Linux系統(tǒng)上創(chuàng)建文件或者存放電影,硬盤空間總有一天會(huì)被占滿。針對(duì)這種情況,root管理員就需要使用磁盤容量配額服務(wù)來(lái)限制某位用戶或某個(gè)用戶組針對(duì)特定文件夾可以使用的最大硬盤空間或最大文件個(gè)數(shù),一旦達(dá)到這個(gè)最大值就不再允許繼續(xù)使用。可以使用quota命令進(jìn)行磁盤容量配額管理,從而限制用戶的硬盤可用容量或所能創(chuàng)建的最大文件個(gè)數(shù)。quota命令還有軟限制和硬限制的功能。
軟限制:當(dāng)達(dá)到軟限制時(shí)會(huì)提示用戶,但仍允許用戶在限定的額度內(nèi)繼續(xù)使用。
硬限制:當(dāng)達(dá)到硬限制時(shí)會(huì)提示用戶,且強(qiáng)制終止用戶的操作。
RHEL 7系統(tǒng)中已經(jīng)安裝了quota磁盤容量配額服務(wù)程序包,但存儲(chǔ)設(shè)備卻默認(rèn)沒(méi)有開啟對(duì)quota的支持,此時(shí)需要手動(dòng)編輯配置文件,讓RHEL 7系統(tǒng)中的/boot目錄能夠支持quota磁盤配額技術(shù)。另外,對(duì)于學(xué)習(xí)過(guò)早期的Linux系統(tǒng),或者具有RHEL 6系統(tǒng)使用經(jīng)驗(yàn)的讀者來(lái)說(shuō),這里需要特別注意。早期的Linux系統(tǒng)要想讓硬盤設(shè)備支持quota磁盤容量配額服務(wù),使用的是usrquota參數(shù),而RHEL 7系統(tǒng)使用的則是uquota參數(shù)。在重啟系統(tǒng)后使用mount命令查看,即可發(fā)現(xiàn)/boot目錄已經(jīng)支持quota磁盤配額技術(shù)了:
[root@linuxprobe ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed May 4 19:26:23 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root / xfs defaults 1 1
UUID=812b1f7c-8b5b-43da-8c06-b9999e0fe48b /boot xfs defaults,uquota 1 2
/dev/mapper/rhel-swap swap swap defaults 0 0
/dev/cdrom /media/cdrom iso9660 defaults 0 0
/dev/sdb1 /newFS xfs defaults 0 0
/dev/sdb2 swap swap defaults 0 0
[root@linuxprobe ~]# reboot
[root@linuxprobe ~]# mount | grep boot
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,usrquota)
接下來(lái)創(chuàng)建一個(gè)用于檢查quota磁盤容量配額效果的用戶tom,并針對(duì)/boot目錄增加其他人的寫權(quán)限,保證用戶能夠正常寫入數(shù)據(jù):
[root@linuxprobe ~]# useradd tom
[root@linuxprobe ~]# chmod -Rf o+w /boot
xfs_quota命令是一個(gè)專門針對(duì)XFS文件系統(tǒng)來(lái)管理quota磁盤容量配額服務(wù)而設(shè)計(jì)的命令,格式為“xfs_quota [參數(shù)] 配額 文件系統(tǒng)”。其中,-c參數(shù)用于以參數(shù)的形式設(shè)置要執(zhí)行的命令;-x參數(shù)是專家模式,讓運(yùn)維人員能夠?qū)uota服務(wù)進(jìn)行更多復(fù)雜的配置。接下來(lái)我們使用xfs_quota命令來(lái)設(shè)置用戶tom對(duì)/boot目錄的quota磁盤容量配額。具體的限額控制包括:硬盤使用量的軟限制和硬限制分別為3MB和6MB;創(chuàng)建文件數(shù)量的軟限制和硬限制分別為3個(gè)和6個(gè)。
[root@linuxprobe ~]# xfs_quota -x -c 'limit bsoft=3m bhard=6m isoft=3 ihard=6 tom' /boot
[root@linuxprobe ~]# xfs_quota -x -c report /boot
User quota on /boot (/dev/sda1) Blocks
User ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
root 95084 0 0 00 [--------]
tom 0 3072 6144 00 [--------]
當(dāng)配置好上述的各種軟硬限制后,嘗試切換到這個(gè)普通用戶,然后分別嘗試創(chuàng)建一個(gè)體積為5MB和8MB的文件??梢园l(fā)現(xiàn),在創(chuàng)建8MB的文件時(shí)受到了系統(tǒng)限制:
[root@linuxprobe ~]# su - tom
[tom@linuxprobe ~]$ dd if=/dev/zero of=/boot/tom bs=5M count=1
1+0 records in
1+0 records out
5242880 bytes (5.2 MB) copied, 0.123966 s, 42.3 MB/s
[tom@linuxprobe ~]$ dd if=/dev/zero of=/boot/tom bs=8M count=1
dd: error writing ‘/boot/tom’: Disk quota exceeded
1+0 records in
0+0 records out
6291456 bytes (6.3 MB) copied, 0.0201593 s, 312 MB/s
edquota命令用于編輯用戶的quota配額限制,格式為“edquota [參數(shù)] [用戶] ”。在為用戶設(shè)置了quota磁盤容量配額限制后,可以使用edquota命令按需修改限額的數(shù)值。其中,-u參數(shù)表示要針對(duì)哪個(gè)用戶進(jìn)行設(shè)置;-g參數(shù)表示要針對(duì)哪個(gè)用戶組進(jìn)行設(shè)置。edquota命令會(huì)調(diào)用Vi或Vim編輯器來(lái)讓root管理員修改要限制的具體細(xì)節(jié)。下面把用戶tom的硬盤使用量的硬限額從5MB提升到8MB:
[root@linuxprobe ~]# edquota -u tom
Disk quotas for user tom (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 6144 3072 8192 1 3 6
[root@linuxprobe ~]# su - tom
Last login: Mon Sep 7 16:43:12 CST 2017 on pts/0
[tom@linuxprobe ~]$ dd if=/dev/zero of=/boot/tom bs=8M count=1
1+0 records in
1+0 records out
8388608 bytes (8.4 MB) copied, 0.0268044 s, 313 MB/s
[tom@linuxprobe ~]$ dd if=/dev/zero of=/boot/tom bs=10M count=1
dd: error writing ‘/boot/tom’: Disk quota exceeded
1+0 records in
0+0 records out
8388608 bytes (8.4 MB) copied, 0.167529 s, 50.1 MB/s
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: