Linux 磁盤管理

2018-08-12 21:29 更新

Linux 磁盤管理

查看磁盤或者目錄的容量 df du

df 查看已掛載磁盤的總?cè)萘?/span>使用容量、剩余容量等,可以不加任何參數(shù),默認(rèn)是按k為單位顯示的

8_1.png.jpg

df常用參數(shù)有 –i -h -k –m

-i 使用inodes 顯示結(jié)果

8_12.png.jpg

-h 使用合適的單位顯示,例如G

8_13.png.jpg

-k -m 分別為使用K,M為單位顯示

8_14.png.jpg

簡單介紹一下,你看到的相關(guān)數(shù)據(jù)。Filesystem 表示扇區(qū),也就是你劃分磁盤時(shí)所分的區(qū);1K-blocks/1M-blocks表示以1K/1M為單位;Used Available 分別是已使用和剩余;Use% 就是已經(jīng)使用的百分比,如果這個(gè)值大于90% 那么你就應(yīng)該注意了,磁盤很有可能馬上就會變滿的;Mounted on 則表示該分區(qū)(扇區(qū))所掛載的地方

du 用來查看某個(gè)目錄所占空間大小

語法:du [-abckmsh] [文件或者目錄名] 常用的參數(shù)有:

-a:全部文件與目錄大小都列出來。如果不加任何選項(xiàng)和參數(shù)只列出目錄(包含子目錄)大小。

8_15.png.jpg

-b:列出的值以bytes為單位輸出,默認(rèn)是以Kbytes

8_16.png.jpg

-c:最后加總

8_17.png.jpg

-k:以KB為單位輸出

-m:以MB為單位輸出

-s:只列出總和

-h:系統(tǒng)自動調(diào)節(jié)單位,例如文件太小可能就幾K,那么就以K為單位顯示,如果大到幾G,則就以G為單位顯示筆者習(xí)慣用 du –sh filename 這樣的形式。

8_18.png.jpg

磁盤的分區(qū)和格式化

筆者經(jīng)常做的事情就是拿一個(gè)全新的磁盤來分區(qū)并格式化這也說明了作為一個(gè)linux系統(tǒng)管理員,對于磁盤的操作必須要熟練。所以請你認(rèn)真學(xué)習(xí)該部分內(nèi)容。

fdisk linux下的硬盤分區(qū)工具

語法: fdisk [-l ] [設(shè)備名稱]

-l :后邊不跟設(shè)備名會直接列出系統(tǒng)中所有的磁盤設(shè)備以及分區(qū)表,加上設(shè)備名會列出該設(shè)備的分區(qū)表。

8_19.png.jpg

8_20.png.jpg

如果不加-l 則進(jìn)入另一個(gè)模式,在該模式下,可以對磁盤進(jìn)行分區(qū)操作。

8_21.png.jpg

剛進(jìn)入該模式下,會有一個(gè)提示Command (m for help): 此時(shí)按m則會打印出幫助列表,如果你英文好,我想你不難理解這些字母的功能。筆者常用的有p, n,d, w, q.

P:打印當(dāng)前磁盤的分區(qū)情況

8_29.png.jpg

n:重新建立一個(gè)新的分區(qū)。

w:保存操作。

q:退出

d:刪除一個(gè)分區(qū)

因?yàn)楣P者的linux系統(tǒng)是安裝在虛擬機(jī)上的,所以我可以增加一塊新的磁盤。然后筆者會把新的磁盤分成多個(gè)分區(qū)

8_30.png.jpg

當(dāng)再次fdisk -l 查看時(shí)發(fā)現(xiàn)多了一個(gè)/dev/hdb 設(shè)備,并提示該設(shè)備沒有可用的分區(qū)表。那么下面就來分一下這個(gè)/dev/hdb.

8_31.png.jpg

首先用p查看一下,并沒有任何分區(qū)信息

8_32.png.jpg

n創(chuàng)建一個(gè)新的分區(qū),會提示要建立e extended 擴(kuò)展分區(qū))或者p primary partition主分區(qū)),這里筆者選擇主分區(qū),所以按了p回車后,又讓輸入First cylinder 你或者直接回車或者輸入一個(gè)數(shù)字,因?yàn)檫@塊磁盤是新的并沒有任何分區(qū),所以直接回車其實(shí)就是從1開始了你也可以自定義輸入,但不要超過2080,筆者這里輸入1回車此時(shí)會提示要分多大,可以寫一個(gè)數(shù)值(2-2080),也可以輸入+sizeK或者+sizeM,后者比較直觀容易理解,所以筆者在這里輸入+100M,即我分了一個(gè)100M的主分區(qū)。再用p查看時(shí),果真多出來一個(gè)分區(qū)。然后筆者繼續(xù)重復(fù)前面的操作,建立了4個(gè)主分區(qū)當(dāng)筆者再次輸入n創(chuàng)建分區(qū)時(shí),結(jié)果提示錯(cuò)了。

8_33.png.jpg

由此你會發(fā)現(xiàn),在linux中最多只能創(chuàng)建4個(gè)主分區(qū),那如果你想多創(chuàng)建幾個(gè)分區(qū)如何做?很容易,在創(chuàng)建完第三個(gè)分區(qū)后,創(chuàng)建第四個(gè)分區(qū)時(shí)選擇擴(kuò)展分區(qū)。

8_34.png.jpg先刪除第四個(gè)主分區(qū),然后建立一個(gè)擴(kuò)展分區(qū)

8_35.png.jpg

在建立擴(kuò)展分區(qū)時(shí),會問你要分多少給這個(gè)擴(kuò)展分區(qū),筆者直接回車,即把所有空間都分給了這個(gè)擴(kuò)展分區(qū)這個(gè)擴(kuò)展分區(qū)/dev/hdb4并不能往里寫數(shù)據(jù),它只是一個(gè)空殼子,需要我們繼續(xù)在這個(gè)空殼中繼續(xù)創(chuàng)建分區(qū)。

8_83.png.jpg

當(dāng)建立完擴(kuò)展分區(qū),然后按n創(chuàng)建新分區(qū)時(shí)你會發(fā)現(xiàn)不再提示是要建立p還是e了,因?yàn)槲覀円呀?jīng)不能再創(chuàng)建p。在這里需要你明白的是,hdb5 其實(shí)只是 hdb4 中的一個(gè)子分區(qū),到目前為止可用的分區(qū)也才4個(gè),那筆者就再創(chuàng)建第5個(gè)分區(qū)出來。

8_84.png.jpg

然后按w保存,該模式自動退出,如果你不想保存分區(qū)信息直接按q即可退出

8_85.png.jpg

下面我們把剛分好的分區(qū)刪除,重新建立分區(qū)。如何刪除你還記得吧,對了就是直接按d然后選擇合適的數(shù)字。刪除完所有分區(qū)后,這塊磁盤就恢復(fù)如初了

8_86.png.jpg

8_87.png.jpg

第一個(gè)分區(qū),我們就建立成擴(kuò)展分區(qū)并且分給它200M。

8_88.png.jpg

當(dāng)再次新建分區(qū)時(shí),發(fā)生了變化,不再是p或者e了,而是p或者l(邏輯分區(qū)),這是為什么呢?在上面也提到了,一個(gè)擴(kuò)展分區(qū)只是一個(gè)空殼,在擴(kuò)展分區(qū)下才可以繼續(xù)劃分小的分區(qū),這個(gè)小的分區(qū)其實(shí)就是邏輯分區(qū)了

8_89.png.jpg

而且這個(gè)邏輯分區(qū)默認(rèn)都是從字?jǐn)?shù)5開始的,因?yàn)榍懊娴臄?shù)字要么給主分區(qū)留著,要么給擴(kuò)展分區(qū)留著由此我們也可以得到,在linux中最多可以創(chuàng)建4個(gè)主分區(qū),一旦創(chuàng)建4個(gè)主分區(qū)后就不能增加任何分區(qū)了。另外最多也只能創(chuàng)建一個(gè)擴(kuò)展分區(qū)擴(kuò)展分區(qū)下的邏輯分區(qū)最多可以創(chuàng)建多少呢?IDE的硬盤(類似于hda, hdb, hdc 等)最多可以創(chuàng)建10個(gè)(hdb5-hdb15),這是筆者試驗(yàn)出來的結(jié)果。有的資料說linux下的邏輯分區(qū)是沒有限制的,也有的說最大可以到64,至于對不對,需要你去近一步考察了,我們沒有必要多么深入的研究這個(gè)問題,也沒有什么意義。

通過以上操作,相信你也學(xué)會了用fdisk 來分區(qū)了吧。值得提出的是,不要閑著沒事分區(qū)玩兒,這操作的危險(xiǎn)性是很高的,一不留神就把你服務(wù)器上的數(shù)據(jù)全部給分沒有了。如果有分區(qū)的操作,那么請保持百分之二百的細(xì)心,切記切記!

mkfs.ext2 / mkfs.ext3 /mke2fs 格式化linux硬盤分區(qū)

當(dāng)用man查詢這三個(gè)命令的幫助文檔時(shí),你會發(fā)現(xiàn)我們看到了同一個(gè)幫助文檔,這說明三個(gè)命令是一樣的。常用的選項(xiàng)有:

-b:分區(qū)時(shí)設(shè)定每個(gè)數(shù)據(jù)區(qū)塊占用空間大小,目前支持1024, 2048 以及4096 bytes每個(gè)塊

-i:設(shè)定inode大小

-N:設(shè)定inode數(shù)量,有時(shí)使用默認(rèn)的inode數(shù)不夠用,所以要自定設(shè)定inode數(shù)量。

-c:在格式化前先檢測一下磁盤是否有問題,加上這個(gè)選項(xiàng)后會非常慢

-L:預(yù)設(shè)該分區(qū)的標(biāo)簽label

-j:建立ext3格式的分區(qū),如果使用mkfs.ext3 就不用加這個(gè)選項(xiàng)了

8_90.png.jpg

不加任何選項(xiàng),直接格式化/dev/hdb1

8_91.png.jpg

上例中更改了block size4096 默認(rèn)是1024,而inode大小設(shè)定為4096。

下面的例子分區(qū)時(shí)自定義分區(qū)的label(標(biāo)簽)名

8_92.png.jpg

e2label 用來查看或者修改分區(qū)的標(biāo)簽(label

這個(gè)命令很簡單,后邊直接跟分區(qū)編號,即可查看該分區(qū)的label,當(dāng)想要修改標(biāo)簽名時(shí),分區(qū)編號后邊跟想要的標(biāo)簽名即可

8_93.png.jpg

fsck 檢查硬盤有沒有壞道

語法: fsck [-Aar] [分區(qū)]

-A :加該參數(shù)時(shí),后不需要跟分區(qū)名作為參數(shù)。它會自動檢查/etc/fstab 文件下的所有分區(qū)(開機(jī)過程中就會執(zhí)行一次該操作);

-a :自動修復(fù)檢查到有問題的分區(qū);

-r :當(dāng)檢查到有壞道的分區(qū)時(shí)會讓用戶決定是否修復(fù)

8_94.png.jpg

當(dāng)你使用fsck檢查磁盤有無壞道時(shí),會提示用戶跑這個(gè)任務(wù)可能會導(dǎo)致某些掛載的文件系統(tǒng)損壞,所以這個(gè)命令不要輕易運(yùn)行。否則真的遇到問題,系統(tǒng)甚至都不能啟動了。

8_95.png.jpg

掛載/卸載磁盤

在上面的內(nèi)容中講到了磁盤的分區(qū)和格式化,那么格式化完了后,如何去用它呢?這就涉及到了掛載這塊磁盤。格式化后的磁盤其實(shí)是一個(gè)塊設(shè)備文件,類型為b,也許你會想,既然這個(gè)塊文件就是那個(gè)分區(qū),那么直接在那個(gè)文件中寫數(shù)據(jù)不就寫到了那個(gè)分區(qū)中么?當(dāng)然不行。

在掛載某個(gè)分區(qū)前需要先建立一個(gè)掛載點(diǎn),這個(gè)掛載點(diǎn)是以目錄的形式出現(xiàn)的一旦把某一個(gè)分區(qū)掛載到了這個(gè)掛載點(diǎn)(目錄)下,那么再往這個(gè)目錄寫數(shù)據(jù)使,則都會寫到該分區(qū)中。這就需要你注意一下,在掛載該分區(qū)前,掛載點(diǎn)(目錄)下必須是個(gè)空目錄其實(shí)目錄不為空并不影響所掛載分區(qū)的使用,但是一旦掛載上了,那么該目錄下以前的東西就不能看到了只有卸載掉該分區(qū)后才能看到。

mount 掛載設(shè)備

8_96.png.jpg

先建立/test1 /test2 目錄,然后在/test1目錄下建立一個(gè)1.txt文件。

8_97.png.jpg

/dev/hdb1分區(qū)掛載到/test1目錄,然后再查看/test1目錄發(fā)下,1.txt不存在了。此時(shí)往/test1目錄下寫數(shù)據(jù),則會寫到/dev/hdb1分區(qū)中。在講mount-a選項(xiàng)時(shí),我們有必要先了解一下這個(gè)文件 /etc/fstab

8_98.png.jpg

這個(gè)文件是系統(tǒng)啟動時(shí),需要掛載的各個(gè)分區(qū)。第一列就是分區(qū)的label;第二列是掛載點(diǎn);第三列是分區(qū)的格式;第四列則是mount的一些掛載參數(shù),等下會詳細(xì)介紹一下有哪些參數(shù),一般情況下,直接寫defaults即可;第五列的數(shù)字表示是否被dump備份,是的話這里就是1,否則就是0;第六列是開機(jī)時(shí)是否自檢磁盤,就是剛才講過的那個(gè)fsck檢測。12都表示檢測,0表示不檢測,在Redhat中,這個(gè)1,2還有個(gè)說法,/ 分區(qū)必須設(shè)為1,而且整個(gè)fstab中只允許出現(xiàn)一個(gè)1,這里有一個(gè)優(yōu)先級的說法。12優(yōu)先級高,所以先檢測1,然后再檢測2,如果有多個(gè)分區(qū)需要開機(jī)檢測那么都設(shè)置成2吧,1檢測完了后會同時(shí)去檢測2。下面該說說第四列中常用到的參數(shù)了

async/sync async表示和磁盤和內(nèi)存不同步,系統(tǒng)每隔一段時(shí)間把內(nèi)存數(shù)據(jù)寫入磁盤中,而sync則會時(shí)時(shí)同步內(nèi)存和磁盤中數(shù)據(jù);

auto/noauto :開機(jī)自動掛載/不自動掛載;

default:按照大多數(shù)永久文件系統(tǒng)的缺省值設(shè)置掛載定義,它包含了rw, suid, dev, exec, auto, nouser,async

ro:按只讀權(quán)限掛載;

rw:按可讀可寫權(quán)限掛載;

exec/noexec :允許/不允許可執(zhí)行文件執(zhí)行,但千萬不要把根分區(qū)掛載為noexec,那就無法使用系統(tǒng)了,連mount命令都無法使用了,這時(shí)只有重新做系統(tǒng)了;

user/nouser :允許/不允許root外的其他用戶掛載分區(qū),為了安全考慮,請用nouser

suid/nosuid :允許/不允許分區(qū)有suid屬性,一般設(shè)置nosuid

usrquota :啟動使用者磁盤配額模式,磁盤配額相關(guān)內(nèi)容在后續(xù)章節(jié)會做介紹;

grquota :啟動群組磁盤配額模式;

學(xué)完這個(gè)/etc/fstab后,我們就可以自己修改這個(gè)文件,增加一行來掛載新增分區(qū)。例如,筆者增加了這樣一行

/dev/hdb1 /test1 ext3 defaults 0 0

那么系統(tǒng)再重啟時(shí)就會掛載這個(gè)分區(qū)了。

講完了/etc/fstab 我們繼續(xù)回來講這個(gè)mountmout -a 如果運(yùn)行了這個(gè)命令,則會把/etc/fstab中出現(xiàn)的所有磁盤分區(qū)掛載上。所以當(dāng)你在/etc/fstab文件中增加一行后,你完全可以直接運(yùn)行mount -a 來掛載你增加的那行,這樣就不用重啟啦

你可以使用mount -o 選項(xiàng)來重新掛載一個(gè)分區(qū),并同時(shí)指定你想要的選項(xiàng)(即上邊介紹fstab第六列中那些)

8_99.png.jpg

看到了吧,使用了ro選項(xiàng),則不能新建文件了

8_100.png.jpg

再重新掛載一次就恢復(fù)正常了,如果不加任何其他選項(xiàng),則就是defaults。

筆者在日常的運(yùn)維工作中遇到過這樣的情況,一臺服務(wù)器上新裝了亮塊磁盤,磁盤a(在服務(wù)器上顯示為sdc)和磁盤b(在服務(wù)器上顯示為sdd),有一次把這兩塊磁盤都拔掉了,然后再重新插上,重啟機(jī)器,結(jié)果磁盤編號調(diào)換了,a變成了sdd,b變成了sdc(這是因?yàn)榘汛疟P插錯(cuò)了插槽),問題來了。通過上邊的學(xué)習(xí),你掛載磁盤是通過/dev/hdb1 這樣的分區(qū)名字來掛載的,如果先前加入到了/etc/fstab 中,結(jié)果系統(tǒng)啟動后則會掛載錯(cuò)分區(qū)。那么怎么樣避免這樣的情況發(fā)生?

blkid 這個(gè)命令是用來顯示磁盤分區(qū)uuid的,uuid其實(shí)就是一大串字符,在linux系統(tǒng)中每一個(gè)分區(qū)都會有唯一的一個(gè)uuid。說到這,聰明的你想到了吧,沒有錯(cuò),我們就用這唯一的uuid來掛載磁盤分區(qū)。

8_101.png.jpg

這個(gè)命令筆者只是用來顯示uuid,沒有其他用途所以不做詳細(xì)介紹,當(dāng)然你也可以在命令后邊跟某一個(gè)分區(qū),只顯示該分區(qū)的uuid。

8_102.png.jpg

看到了吧,其實(shí)是很好用的。那么怎么讓它也開機(jī)啟動?很簡單,把剛才敲的mount 磁盤的命令直接寫到 /etc/rc.d/rc.local 文件即可對了,筆者到現(xiàn)在還沒有給你講過這個(gè)rc.local文件的作用簡單點(diǎn)說,系統(tǒng)啟動完后會執(zhí)行這個(gè)文件中的命令。所以只要你想開機(jī)后運(yùn)行什么命令統(tǒng)統(tǒng)寫入到這個(gè)文件下面吧。

8_103.png.jpg

其實(shí)這個(gè)文件就是一個(gè)shell 腳本,以后筆者會單獨(dú)用一章來介紹它。行開頭的”#”是注釋的意思,代表這行在這個(gè)腳本中不生效。你想讓系統(tǒng)開機(jī)后運(yùn)行什么命令,就把什么命令寫到這里面來。就比如剛才筆者掛載的那條命令。你可以這樣實(shí)現(xiàn):

8_104.png.jpg

mount 還有一個(gè)比較常用的選項(xiàng)就是-t ,后邊指定文件系統(tǒng)的類型,比如掛載軟盤時(shí)就需要指定 vfat,而掛載光盤時(shí)就需要指定iso9660,但在筆者多年來的經(jīng)驗(yàn),目前的系統(tǒng)都是智能識別所要掛載分區(qū)的系統(tǒng)格式類別的。也就是說,用不著你去指定,它會自動判斷的

8_105.png.jpg

umount 卸載設(shè)備

現(xiàn)在你學(xué)會了如何掛載一個(gè)設(shè)備,那么如何去卸載一個(gè)設(shè)備呢,這就要用到umount了,這個(gè)命令也簡單的很,后邊可以跟掛載點(diǎn),也可以跟分區(qū)名(/dev/hdb1)

8_106.png.jpg

有時(shí)也許你會遇到比較難卸載的設(shè)備,就像在windows下無法刪除U盤一樣,教你一個(gè)特管用的方法就是 umount -l /dev/hdb1 ,這個(gè)-l選項(xiàng)有強(qiáng)制卸載的意思,你一定要記住哦,非常有用的。

建立一個(gè)swap文件

從裝系統(tǒng)時(shí)就接觸過這個(gè)swap了,前面也說過它類似與windows的虛擬內(nèi)存,分區(qū)的時(shí)候一般大小為內(nèi)存的2倍,如果你的內(nèi)存超過4G,那么你分8G似乎是沒有必要了。4G足夠日常交換了。然而,還會有虛擬內(nèi)存不夠用的情況發(fā)生。如果真遇到了,莫非還要重新分一下磁盤?當(dāng)然不能!那我們就增加一個(gè)虛擬的磁盤出來

基本的思路就是:建立swapfile ?格式化為swap格式?啟用該虛擬磁盤

8_107.png.jpg

利用dd 來創(chuàng)建一個(gè)419M的文件/tmp/newdisk出來,其中if代表從哪個(gè)文件讀,/dev/zerolinux下特有的一個(gè)0生成器,of表示輸出到哪個(gè)文件,bs即塊大小,count則定義有多少個(gè)塊。

8_108.png.jpg

mkswap 這個(gè)命令是專門格式化swap格式的分區(qū)的,這個(gè)命令用的時(shí)候一定要看清楚了,否則把其他分區(qū)給格式化錯(cuò)了就只有哭了。

8_109.png.jpg

free 是用來查看系統(tǒng)內(nèi)存以及虛擬內(nèi)存使用情況的,-m選項(xiàng)是以M的形式查看。可以看到當(dāng)前系統(tǒng)的。swapon 是啟用我們新建的swap文件,啟用后再用free查看發(fā)現(xiàn)多了400M。

8_110.png.jpg

我們還可以用swapoff 關(guān)閉啟用的swap文件。

磁盤配額

磁盤配合其實(shí)就是給每個(gè)用戶分配一定的磁盤額度,只允許他使用這個(gè)額度范圍內(nèi)的磁盤空間。linux系統(tǒng)中,是多用戶多任務(wù)的環(huán)境,所以會有很多人共用一個(gè)磁盤的情況。針對每個(gè)用戶去限定一定量的磁盤空間是有必要的,這樣才顯得公平。

linux中,用來管理磁盤配額的東西就是quota。如果你的linux上沒有quota,則需要你安裝這個(gè)軟件包 quota-3.13-5.el5.RPM (其實(shí)版本是多少無所謂了,關(guān)鍵是這個(gè)軟件包)。quota在實(shí)際應(yīng)用中是針對整個(gè)分區(qū)進(jìn)行限制的。如果你的/dev/hda3 是掛載在/home 目錄下的,那么/home 所有目錄都會受到限制。

quota 這個(gè)模塊主要分為quota quotacheck quotaoff quotaon quotastats edquota setquota warnquota repquota這幾個(gè)命令,下面就分別介紹這些命令

quota 用來顯示某個(gè)組或者某個(gè)使用者的限額。

語法:quota [-guvs] [user,group]

-g :顯示某個(gè)組的限額

-u :顯示某個(gè)用戶的限額

-v :顯示的意思

-s :選擇inod或硬盤空間來顯示

?

quotacheck 用來掃描某一個(gè)磁盤的quota空間。

語法:quotacheck [-auvg] /path

-a :掃描所有已經(jīng)mount的具有quota支持的磁盤

-u :掃描某個(gè)使用者的文件以及目錄

-g :掃描某個(gè)組的文件以及目錄

-v :顯示掃描過程

-m :強(qiáng)制進(jìn)行掃描

?

edquota 用來編輯某個(gè)用戶或者組的quota。

語法:edquota [-u user] [-g group] [-t]

edquota -p user -u user

-u :編輯某個(gè)用戶的quota

-g :編輯某個(gè)組的quota

-t :編輯寬限時(shí)間

-p :拷貝某個(gè)用戶或組的quta到另一個(gè)用戶或組

當(dāng)運(yùn)行edquota -u user 時(shí),系統(tǒng)會打開一個(gè)文件,你會看到這個(gè)文件中有7列,它們分別代表的含義是:

Filesystem :磁盤分區(qū),如/dev/hda3

blocks :當(dāng)前用戶在當(dāng)前的Filesystem中所占用的磁盤容量,單位是Kb。該值請不要修改。

soft/hard :當(dāng)前用戶在該Filesystem內(nèi)的quota值,soft指的是最低限額,可以超過這個(gè)值,但必須要在寬限時(shí)間內(nèi)將磁盤容量降低到這個(gè)值以下。hard指的是最高限額,即不能超過這個(gè)值。當(dāng)用戶的磁盤使用量高于soft值時(shí),系統(tǒng)會警告用戶,提示其要在寬限時(shí)間內(nèi)把使用空間降低到soft值之下。

inodes :目前使用掉的inode的狀態(tài),不用修改。

quotaon 啟動quta,在編輯好quota后,需要啟動才能是quta生效

語法:quotaon [-a] [-uvg directory]

-a :全部設(shè)定的quota啟動

-u :啟動某個(gè)用戶的quota

-g :啟動某個(gè)組的quota

-s :顯示相關(guān)信息

?

quotaoff 關(guān)閉quota

該命令常用只有一種情況 quotaoff -a 關(guān)閉全部的quota

以上講了很多quota的相關(guān)命令,那么接下來筆者教你如何在實(shí)踐應(yīng)用中去做這個(gè)磁盤配額。整個(gè)執(zhí)行過程如下:

首先先確認(rèn)一下,你的/home目錄是不是單獨(dú)的掛載在一個(gè)分區(qū)下,用df 查看即可。如果不是則需要你跟我一起做否則這一步即可省略。

8_111.png.jpg

筆者的linux系統(tǒng)中,/home并沒有單獨(dú)占用一個(gè)分區(qū)所以需要把/home目錄掛載在一個(gè)單獨(dú)的分區(qū)下,因?yàn)?/span>quota是針對分區(qū)來限額的

8_112.png.jpg

筆者用fdisk -l 查看目前/dev/hdb 磁盤有5個(gè)可用分區(qū),所以筆者打算把/dev/hdb1掛載在/home 目錄下

8_113.png.jpg

看到了吧,目前筆者的/home目錄已經(jīng)是一個(gè)單獨(dú)的分區(qū)了。

1)建立測試用戶

8_114.png.jpg

首先建立一個(gè)test用戶,則同時(shí)建立了一個(gè)test可以在/etc/passwd中有以test為開頭的行,其中uidgid都為500 ,然后又建立一個(gè)test1賬號,使其加入test組,查看/etc/passwd文件發(fā)現(xiàn)testtest1用戶的gid都為500。(也許你對/etc/passwd文件、增加一個(gè)用戶以及uidgid等概念不熟悉,沒有關(guān)系,在以后的章節(jié)中會做介紹,在這里只需要你明白即可)

2)打開磁盤的quota功能

默認(rèn)linux并沒有對任何分區(qū)做quota的支持,所以需要我們手動打開磁盤的quota功能,你是否記得,在前面內(nèi)容中分析/etc/fstab文件的第四列時(shí)講過這個(gè)quota選項(xiàng)(usrquota, grpquota。沒錯(cuò),要想打開這個(gè)磁盤的quota支持就是需要修改這個(gè)第四列的vim編輯/etc/fstab 加入一行,如下圖:

8_115.png.jpg

vim命令將會在后續(xù)章節(jié)詳細(xì)介紹,前面介紹過如何進(jìn)入編輯模式以及如何保存文件。如果你的linux系統(tǒng)已經(jīng)有/home這一行,那么直接修改第四列,加上usrquota,grpguota(中間沒有空格)。接下來需要重新掛載/home。

8_116.png.jpg

另外你也可以這樣實(shí)現(xiàn)重新掛載/home

8_117.png.jpg

如何查看是否啟用了quota呢?

8_118.png.jpg

只要查看/etc/mtab文件中/home所在那行是否有usrguota,grpquota即可。筆者的/dev/hdb1現(xiàn)在已經(jīng)支持了quota

3)掃描磁盤的使用者使用狀況,并產(chǎn)生重要的aquota.groupaquota.user

這一步就需要用到quotacheck了,aquota.groupaqouta.user分別是組以及用戶磁盤配額需要的配置文件如果沒有這兩個(gè)文件,則磁盤配額是不會生效的。

8_119.png.jpg

當(dāng)首次使用quotacheck命令時(shí),會提示“cannot stat old user quota file ……”其實(shí)這是在提示你在/home目錄下沒有aquota.user以及aquota.group兩個(gè)文件。沒有關(guān)系,因?yàn)橐郧安]有配置過磁盤配額,當(dāng)然沒有這兩個(gè)文件了。當(dāng)執(zhí)行完quotacheck命令后,會在/home目錄下生成這兩個(gè)文件的。

4)啟動quota配額

8_120.png.jpg

5)編輯用戶磁盤配額

先來設(shè)定test賬戶的配額,然后直接把test的配額拷貝給test1即可。這里就需要用到edquota。

8_121.png.jpg

講上面內(nèi)容修改為

8_122.png.jpg

其中單位是Kb,所以soft 值大約為20Mbhard值為30Mb,保存這個(gè)文件,保存的方式跟vim一個(gè)文件的方式一樣的

8_123.png.jpg

test的配額復(fù)制給test1。下面繼續(xù)設(shè)定寬限時(shí)間。

8_124.png.jpg

默認(rèn)是7days 在這里我們改為1days。下面查看一下test以及test1用戶的配額吧。

8_125.png.jpg

6)編輯組磁盤配額

8_126.png.jpg

設(shè)定組testsoft配額值為40Mhard值為50M。下面查看組test的配額。

8_127.png.jpg

7)設(shè)定開機(jī)啟動

前面已經(jīng)講到啟動磁盤配額的命令是quotaon -aug ,所以要想開機(jī)啟動,只需將這條命令加入到 /etc/rc.d/rc.local文件即可。

8_128.png.jpg

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號