歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux磁盤配額,RAID,LVM

Linux磁盤配額,RAID,LVM

日期:2017/3/1 15:15:36   编辑:關於Linux
Linux磁盤配額,RAID,LVM 磁盤配額,就是妥善的分配系統資源 quota比較常用的情況 針對 www server 例如:每個人的網頁空間的容量限制 針對 mail server 例如:每個人的郵件空間限制 針對 file server 例如:每個人最大的可用網絡磁盤空間 quota的使用限制 僅針對整個文件系統:如果你的/dev/sda5是掛載在/home底下,那麼在/home底下的所在目錄都會受到限制 核心必須支持quota : 也就是說linux核心必須支持quota這個功能才行,而由舊版本的quota可以籍由convertquota這個程序來轉換 成新幫本的aquota的 只針對一般身份使用者有效:例如root就不能設定quota,因為整個系統的數據幾乎都是他的 所以不能針對【某個目錄】來進行quota的設計,但可以針對【某個文件系統】來設定, quota的規范設定項目:quota針對整個文件系統的限制項目主要分為底下幾個部分‘ 1可以管理inode(檔案數量)和block的數量(管理用戶磁盤容量的限制) 2柔性勸導與硬性規定(soft/hard) ,通常hard限制要比soft高,若限制項目為block,可以限制hard為500MBytes而soft為400MByte hard代表硬性規定,絕對不允許超個的限制值,如若超過則系統會鎖住該用戶的磁盤使用權 soft 代表軟性規定,如果超過了軟性的限制,但是低於硬性的限制,每次用戶登錄系統時,系統會主動發出磁盤即將爆滿 的警告信息,且會給予一個寬限時間,不過,若使用者在寬限時間倒數期間將容量再次降低與soft限制之下,則寬限時間會停止 3會倒數計時的寬限時間 這個寬限時間用於磁盤用量在soft到hard之間時,才會出現,soft就是為了提醒用戶注意這個磁盤配額的問題 一般寬限時間為7天,如果7天內你都不進行任何磁盤管理,那麼soft限制值會即可取代hard限制來作為quota的限制,此時 你的磁盤使用權就會被封鎖住而無法新增檔案了 一個quota實例 有五個賬戶,且每個用戶的初始群組都是myquotagrp,其他的帳號屬性則使用默認值,每個用戶能夠使用300MBytes的磁盤使用量(hard) 250MBytes的磁盤使用量(soft),群組限制,針對myquotagrp這個群組最多僅能使用1GByte的容量,這個時候就會使群組的設定和用戶的 設定產生一定的問題,最後那個寬限時間為14天 在操作之前,先得查看一下,/home是否是一個獨立的filesystem df -h /home,接著查看文件系統的類型,由於VFAT文件系統並不支持Linux Quota的功能,使用mount | grep home來查看/home的文件系統類型 接下來可以使用如下的方法加入quota的支持mount -o remount,usrquota,grpquota /home,接著再執行mount | grep home就可以看到這個文件系統上 已經加入usrquota,grpquota的支持到你所想要設定的系統中了,另外使用者與群組的quota文件系統支持的參數為: usrquota grpquota 若希望下次開機的時候自動的掛載該文件系統,可以直接修改/etc/fstab LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2 mount -a 的意思是將fstab中的文件系統重新的掛載 接著建立quota記錄文件 使用quotacheck:掃描文件系統並建立Quota的記錄文件 quotacheck [-avugfM] [/mount_point] 選項和參數 -a :掃瞄所有在 /etc/mtab 內,含有 quota 支持的 filesystem,加上此參數後, -u : 針對用戶掃描檔案與目錄的使用情況,會建立aquota.user -g :針對群組掃描檔案與目錄的使用情況,會建立 aquota.group -v :顯示掃瞄過程的信息; -f :強制掃瞄文件系統,幵寫入新的 quota 配置文件 (危險) -M :強制以讀寫的方式掃瞄文件系統,只有在特殊情況下才會使用。 quotacheck -avug僅針對整個系統含有usrquota, grpquota參數的文件系統進行quotacheck掃描 由於/home目錄支持usrquota和grpquota,所以搜索結果會將兩個記錄文件放在/home底下,這兩個檔案就是quota最重要的信息 因為特殊需求需要強制掃瞄已掛載的文件系統時,使用quotacheck -avug -mf 這兩個文件不是純文本,是quota自己的數據文件,且該檔案會一直變動,這個因為當你對/home這個文件系統進行操作時 你操作的結果會影響磁盤,所以當然會記載到這兩個檔案中的,所以要建立aquota.user 和 aquota.group 記得使用quotacheck指令 不要手動編輯 制作好quota配置文件,接著要啟動quota了,使用quotaon和quotaoff進行開啟和關閉 啟動quota的服務 -u :針對使用者啟動 quota (aquota.user) -g :針對群組啟動 quota (aquota.group) -v :顯示啟動過程的相關訊息; -a :根據 /etc/mtab 內的 filesystem 設定啟動有關的 quota ,若不加 -a 的話, 則後面就需要加上特定的那個 filesystem 喔! 由於我們要啟動usr/group的quota,所以執行quotaon -avug ,由於只有在第一次啟動quota時才需要進行這個命令,因此等到下次重啟系統時 系統的/etc/rc.d/rc.sysinit這個初始化腳本就會自動的下達這個命令了,因此你只要在這次實例中進行一次即可,未來不需要自行啟動quota的 quotaoff :關閉 quota 的朋務 -a :全部的 filesystem 的 quota 都關閉 (根據 /etc/mtab) -u :僅針對後面接的那個 /mount_point 關閉 user quota -g :僅針對後面接的那個 /mount_point 關閉 group quota edquota :編輯賬號/群組的限值與寬限時間 edquota [-u username] [-g groupname] -u進入quota的編輯頁面去設定username的限制值 edquota -t <==修改寬限時間 -g 可以進入quota的編輯頁面去設定groupname的限制值 edquota -p 范本賬號 -u 新賬號 將范本賬號這個人的quota限制值復制給新帳號,進入quota的編輯頁面去設定username的限制值 例如設定myquota1這個用戶的限額設定 執行命令edquota -u myquota1 畫面中的第一行為說明針對哪個帳號進行quota的限制設定,第二行則是標頭行,共分七個字段 1,文件系統或分區 2 磁盤容量(blocks) 3soft 磁盤容量(blocks) 4 hard block的hard限制值 5檔案數量 6 inode的soft限制值 7 inode的hard限制值 當 soft/hard 為 0 時,表示沒有限制的意思, 目前先設定號myquota1,接著執行 edquota -p myquota1 -u myquota2 賦給myquota2 一直到myquota5就行了 接著再設定去組 edquota -g myquotagrp ,最後edquota -t 來將寬限時間改為14天 查看限制值的報表 quota的報表主要有兩種模式,一種是針對每個個人或群組quota指令,一個是針對整個文件系統的 repquota指令, 先看quota : 單一用戶的quota報表 quota [-gvs] [groupname] 選項和參數: -u : 後面可以接username,表示顯示該用戶的quota限制值,若不接username表示顯示出執行者的quota的限制值 -g : 後面可接 groupname ,表示顯示出該群組的 quota 限制值。 -v :顯示每個用戶在 filesystem 的 quota 值; -s :使用 1024 為倍數來指定單位,會顯示如 M 之類的單位! quota -uvs myquota1 myquota2的含義是顯示這兩個用戶在所以文件系統中的quota值,大小以M為單位顯示 顯示出 myquotagrp 的群組限額 quota -gvs myquotagrp 顯示這個群組在所有文件系統中的quota值,大小以M為單位顯示 如果要針對整個 filesystem 列出報表時, 那個可愛的 repquota 就派上用場啦! repquota :針對文件系統的限額做報表 repquota -a [-vugs] -a :直接到 /etc/mtab 搜尋具有 quota 標志的 filesystem ,並報告 quota 的結果; -v :輸出的數據將含有 filesystem 相關的細部信息; -u :顯示出用戶的 quota 限值 (這是默認值); -g :顯示出個別群組的 quota 限值。 -s :使用 M, G 為單位顯示結果 查詢本案例中所有使用者的 quota 限制情況: 執行repquota -auvs,查詢出mtab中含有quota的文件系統的所有用戶的限定值,輸出的結果含有firstsystem相關的細部信息 並且以M,G為單位顯示結果 quota的測試與管理 首先建置一個270MB的大檔案,觀察結果 dd if=/dev/zero of=bigfile bs=1M count=250 接著會看到警告warning的訊息 repquota -auv 查看所有/etc/mtab文件系統中,用戶的磁盤配額的使用情況,並且將文件系統的相關細部信息一並輸出 此時看到grace出現,並且開始倒數了 此時再建立一個大檔案,讓總容量超過300M,接著看到的訊息不一樣了,提示沒有辦法寫入了, du -sk 查看果然到了極限了 如果在寬限時間歸零之前不做任何處理,那麼到歸零之後通過repquota -au進行查看時,就會發現grace的部分變成none啦,不繼續倒數了 有時候使用者不知道系統出了什麼問題,最好寄一些警告信(email)給用戶比較妥當,透過warnquota來處理即可 warnquota :對超過限額者發出警告信 這是根據/etc/warnquota.conf的設定,然後找出系統上面quota用量超過soft的賬號,透過email的功能將警告信發送到用戶的電子郵件信箱 warnquota不會自動執行,我們需要手動執行,單純執行warnquota之後,他會發送兩封信出去,一封給root 一封給這個使用者 執行warnquota可能不會產生任何訊息以及信件,因為只有當使用者quota有超過soft,warnquota才會發送警告信 信件內容中,包括標題、信息內容說明、簽名文件等數據放在/etc/warnquota中,你也可以更改其中的內容 不過這個發送信件的方式並不適用在/var/spool/mail也爆掉的quota控管中,因為這個系統的容量已經爆掉了,那麼 新的信件當然就收不下來的,我們需要讓系統自動的執行warnquota vi /etc/cron.daily/warnquota 編輯每天的執行任務,讓固定的時間去執行/usr/sbin/warnquota指令 chmod 755 /etc/cron.daily/warnquota setquota :直接於指令中設定 quota 限額 如果你想要使用 script 的方法來建立大量的賬號,並且所有的賬號都在建立時就給予 quota 可以有兩個方法 1 先建立一個原始quota 使用 edquota -p quota賬號 -u new賬號, 寫入腳本中 2 直接以 setquota 建立用戶的 quota 設定值 不同於edquota是呼叫vi來進行設定,setquota直接由指令輸入所必須要的各項限制值 命令結構: setquota [-u|-g] 名稱 block(soft) block(hard) inode(soft) inode(hard) quota -uv myquota5 setquota -u myquota5 100000 200000 0 0 /home quota -uv myquota5 這樣可以看到結果的改變 不更改既有系統的 quota 實例 例如設定郵件主機,原先沒有規劃將信箱所在的/var/spool/mail 目錄獨立成一個parition,那麼可以通過讓 使用者的郵件信箱與家目錄的總體磁盤使用量為固定,由於/home以及/var/spool/mail根本不在一個文件系統中 1. 將 /var/spool/mail 這個目錄完整的移懂到 /home 底下; 2. 利用 ln -s /home/mail /var/spool/mail 來建立鏈接數據; 3. 將 /home 進行 quota 限額設定
Copyright © Linux教程網 All Rights Reserved