許多linux使用者在安裝操作系統時都會遇到這樣的問題,如何合理精確的分配磁盤大小,如果分配不合理,一旦磁盤以後不夠用,不得不面臨,刪除,備份數據到其他磁盤(一些正在生產中重要的數據,一旦移動可鞥會引起很大的問題,如果備份過程中數據損壞,也是很麻煩的事情),甚至重裝系統的危機(比如:更目錄爆滿。)。
lvm是建立在磁盤和分區之上可以動態分配分區大小的一項磁盤管理技術,很方便的解決了以上問題。下面我將通過一個生產中的小案例來講解lvm和磁盤配額的詳細情況。
在做LVM前要先將新的磁盤用fdisk進行擴展分區和邏輯分區的劃分,並將 磁盤ID更改爲8e,雖然不這一步操作也可以直接將磁盤加入LVM,但是後續可能會出問題。將磁盤ID改爲8e也是方便我們後面區分那個分區可以做在線擴展使用。
lvm的結構:
1.PV(Physical Volume,物理卷):普通的分區或者磁盤。物理卷一般直接使用設備的文件名如:/dev/sdb1,/dev/sdb2,/dev/sdc/.等。對於要裝換的物理卷的磁盤或者分區建議先將分區的ID:改爲8e。
2.VG(Volume Group,卷組):是由多個物理卷(PV)組成的。卷組中可以動態的添加和刪除物理卷。卷組名要自定義。
3.LV(Logical Volume,邏輯卷):邏輯卷在卷組之上,與物理卷沒有直接的聯繫。邏輯卷是有卷組的空間中劃分出來的。通過mkfs等工具在邏輯捲上創建文件系統,掛載後就可以儲存文件了。
關係圖:
我們現在有兩塊磁盤 sdb,sdc要做邏輯卷並且要做磁盤配額。
1.物理卷
用pvcreate創建物理卷
用pvdisplay查看物理卷信息
用pvremove刪除物理卷
2.卷組
用vgcreate創建卷組
用vgremove刪除卷組,vgdisplay查看卷組
用vgextend擴展卷組
用vgreduce將物理卷從卷組中刪除
3.邏輯卷
用lvcreate創建邏輯卷。
lvcreate -L 容量大小 -n 邏輯卷名 卷組名
把卷組的所有空間分配給邏輯卷
用法: lvcreate -l 100%Free -n 邏輯卷名 卷組名
命令: lvcreate -l 100%Free -n luoji cipanzu
擴展完成後使用resize2fs /dev/cipanzu/luoji 重新識別磁盤的大小。如果磁盤已經掛載,在線擴容的話一定要執行此命令,不然磁盤容量不會重新識別。
lvextend擴展邏輯卷
lvremove刪除邏輯卷
刪除成功後用lvdisplay驗證下。邏輯卷是否還存咋。
如果過邏輯卷創建成功那麼就可以格式化並掛載使用了。
mkdir /usr/mail 創建邏輯卷掛載目錄。
LVM到此結束。下面將開始磁盤配額。
linux根分區空間耗盡,linux將無法寫入數據,從而程序崩潰,系統無法啓動等衆多故障。爲了防止磁盤不足所引起的問題。所以我們要用磁盤配額。
磁盤配額將要用到quota命令。所以我們先檢查下quota命令是否按裝呢。
用rpm -q quota
rpm -ql quota|grep sbin 查看quota是否正常安裝。
配額範圍:磁盤配額只在指定的分區和文件系統內有效
限制對象:用戶和組
限制類型:磁盤容量:默認爲KB. 文件數量:每個文件都有一個inode(節點),因此quota通過節點數量來控制文件數量。
限制方法:軟限制:指定一個軟性的配額數值。超過這個數值,只是警告。
硬限制:達到這個配額數值時一定不能在做寫入操作。軟限制不能比應限制 設置的配額數值大,否則軟限制將會無效。
1.用支持配額功能的方式掛載磁盤或分區。
磁盤配額的一個前提條件,必須掛載並支持磁盤配額工能
mount -o remount,usrquota,grpquota /dev/cipanzu/luoji /usr/mail
remount:之前做過掛載,下載又掛載所以用remount。如果之前只是格式化好了,還木有掛載就去掉”-o remount,“。
usrquota:支持用戶配額
grpquota:支持組配額
用mount 或者df -Th查看掛載情況。
將/dev/mapper/cipanzu-luoji /usr/mail ext3 defaults,usrquota,grpquota 0 0加入/etc/fstab中去。開機自動掛載
2.quotacheck:檢測磁盤配額並生成配額文件。
3.編輯用戶和組的配額
edquota -u 用戶 :用戶配額設置
edquota -u zhangsan
4.測試配額是否生效:
設置:chmod 777 /usr/mail 給所有權。否則會出現錯誤。
開啓磁盤配額:quotaon /usr/mail (這裏要開啓)
關閉磁盤配額:quotaoff /usr/mail(不需要配額時關閉)
用zhangsan登錄並在/usr/mail下創建文件。
edquota -g 組 : 組配額設置 (與用戶設置的選項是一樣的。這裏就略過了)
5.查看分區和用戶的配額使用情況
分享個小技巧:當配額用戶特別多時我們再一個個手動添加。那是要累死人的。所以edquota有一個參數可以幫我們的。
比如我們現在除了zhangsan已經做過了配額。還有shamoluotu,lisi,wangwu,maliu等等成百用戶也需要和zhangsna一樣的配置。怎麼辦
edquota -p 模板 用戶
edquota -p zhangsan shamoluotu,lisi,wangwu,maliu
有多少用戶添加多少即可。磁盤配額配置和張三一樣。我們也可以寫一個for循環的腳本來做。更加方便。
爲組設置模板,批量添加組配額(意思和用戶一樣,只是參數不同而已)
比如我們現在wangbazu 已經做過了配額。還有shamoluotuzu,nimazu,等等成百用戶組也需要和 wangbazu 一樣的配置。怎麼辦
edquota -g -p 模板 組名
edquota -p wangbazu shamoluotuzu nimazu 注意多個組用空格隔開。