高級文件系統管理
配置配額系統
綜述
在內核中執行,以文件系統為單位啟用,對不同組或者用戶的策略不同,如將home單獨分區,但是并不意味著每個用戶都可以無上限使用該分區的空間,所以系統管理員要據塊或者節點進行限制,限制每個用戶使用磁盤的空間,當到達執行軟限制( soft limit ) 會警報提醒用戶;當硬限制( hard limit )就不會再允許操作。(該配置配額系統只會針對屬主屬組對應的文件來扣取空間使用額)
配置系統設置的詳細步(3步)及命令選項:
1、初始化
分區掛載選項: usrquota、 grpquota(將連個選項編輯到fstab中)
如果已經掛載過了就重新掛載 mount -o umount /dev/sda6
初始化數據庫: quotacheck(centos6上要禁用setenforce 禁用完之后要getenforce 啟用)
quotacheck -cug /home
也可以是 quotacheck -aug 檢查fsatb中說有添加了userquota和gourpquota的掛載項
-a 掃描所有分區
-b 備份
-d 調試模式
-c 重新創建文件
-f 強迫檢查
-i 交互模式
-v 運行時顯示詳細的處理信息
-g 顯示群組所占的目錄文件數
-u 顯示每個用戶所占的目錄數
2、為用戶設定配額
執行
開啟或者取消配額: quotaon、 quotaoff
quotaon /disk
quotaoff /disk
-a 開啟所有的磁盤配額限制
-g 組磁盤配額限制
-p 列出狀態
-u 用戶配額限制
-v 運行時顯示詳細的處理信息
3、直接編輯配額: edquota username
打開設定配額編輯界面
filesystem : 設置了配額的設備
blocks : 當前屬主是username的文件大小
inode : 當前屬主是username的文件數量
soft : 警告線
hard : 最大上限
在shell中直接編輯:
setquota usename 4096 5120 40 50 /username
定義原始標準用戶
edquota -p user1 user2
將user1 的配額設置復制給user2
報告配額狀態
報告
用戶調查: quota
配額概述: repquota
其它工具: warnquota
RAID
RAID:Redundant Arrays of Inexpensive(Independent) Disks
1988年由加利福尼亞大學伯克利分校( University of California-Berkeley) “ A Case for Redundant Arrays of Inexpensive Disks”。
多個磁盤合成一個“陣列”來提供更好的性能、冗余,或者兩者都提供
RAID
提高IO能力:
磁盤并行讀寫
提高耐用性;
磁盤冗余來實現
級別:多塊磁盤組織在一起的工作方式有所不同
RAID實現的方式:
外接式磁盤陣列:通過擴展卡提供適配能力
內接式RAID:主板集成RAID控制器
安裝OS前在BIOS里配置
Software RAID(軟raid):
RAID 級別
Level :(級別僅用于識別磁盤組合方式的不同)(硬件冗余并不能取代數據備份 )
raid0 ,raid1, raid5,raid10,raid50,jbod
RAID級別
RAID-0:
讀、寫性能提升;
可用空間: N*min(S1,S2,…)
無容錯能力
最少磁盤數: 2, 2
RAID-1:
讀性能提升、寫性能略有下降;
可用空間: 1*min(S1,S2,…)
有冗余能力
最少磁盤數: 2, 2N
RAID-4:
多塊數據盤異或運算值,存于專用校驗盤
RAID級別
RAID-5:
讀、寫性能提升
可用空間: (N-1)*min(S1,S2,…)
有容錯能力:允許最多1塊磁盤損壞
最少磁盤數: 3, 3+
RAID-6:
讀、寫性能提升
可用空間: (N-2)*min(S1,S2,…)
有容錯能力:允許最多2塊磁盤損壞
最少磁盤數: 4, 4+
RAID混合類型級別
RAID-10:
讀、寫性能提升
可用空間: N*min(S1,S2,…)/2
有容錯能力:每組鏡像最多只能壞一塊
最少磁盤數: 4, 4+
RAID-01、 RAID-50
RAID7: 可以理解為一個獨立存儲計算機,自身帶有操作系
統和管理工具,可以獨立運行,理論上性能最高的RAID模式
JBOD: Just a Bunch Of Disks
功能:將多塊磁盤的空間合并一個大的連續空間使用
可用空間: sum(S1,S2,…)
常用級別: RAID-0, RAID-1, RAID-5, RAID-10,
RAID-50, JBOD
raid0:只有一組儲存設備(至少需要兩塊磁盤),無容錯能力,只能提高讀寫速度,磁盤利用率100%(1/n * 總空間)
raid1:至少需要兩塊硬盤,其中一塊做鏡像,有硬件容錯能力,讀性能提升(分散讀取數據),寫性能下降,磁盤利用率50%(為避免設備損毀而導致業務終止,并不是為了備份數據)
raid4:至少需要三塊盤ABC,將數據分散放在A B ,然后將放在AB兩塊盤的數據做異或對比,得到的及結果稱之為校驗碼存放C,所以只允許其中一塊盤出錯,讀寫能力有提升,磁盤空間利用率(n-1)/n,(有一塊盤出錯了,必須盡快更換,更換期間,也會有磁盤極易出錯,因為替換的磁盤要數據補全) (有校驗碼盤)
raid5(常見):與raid4基本相同,只不過是校驗碼分散在每個磁盤上(通常是左對稱);所以只允許其中一塊盤出錯,讀寫能力有提升,磁盤空間利用率(n-1)/n,(有一塊盤出錯了,必須盡快更換,更換期間,也會有磁盤極易出錯,因為替換的磁盤要數據補全)
raid6:至少需要4塊盤,工作原理與raid5基本相同,允許兩塊盤出錯,讀寫性能提升,(n-2)/n
raid10:底層raid1,上層raid0(不允許同一組的兩個磁盤同時壞)
至少需要四塊磁盤,允許不同組各壞一塊磁盤,讀寫性能提升50%
先做數據存儲,后做數據鏡像
raid01(出錯比較大)
先做鏡像,后做raid1,修復難度大
jbod:將小空間連接起來變成一個大空間,上層設備只會認為只有一個磁盤
提升性能的另外一個方法:
帶內存的raid,主機將數據寫入儲存設備,實際上是寫入內存中,當主機一斷電,raid就啟動自帶的備用電池,以便數據從raid內存繼續寫入磁盤中.
主機開機時,bois中有設定,HBA適配器是屬于raid#,存儲設備要能使用,系統內核要先驅動適配器
軟RAID
mdadm:為軟RAID提供管理界面
為空余磁盤添加冗余
結合內核中的md(multi devices)
RAID設備可命名為/dev/md0、 /dev/md1、 /dev/md2、
/dev/md3等等
軟件RAID的實現
mdadm:模式化的工具
命令的語法格式: mdadm [mode] <raiddevice> [options] <component-devices>
支持的RAID級別: LINEAR, RAID0, RAID1, RAID4,
RAID5, RAID6, RAID10
模式:
創建: -C
裝配: -A
監控: -F
管理: -f, -r, -a
<raiddevice>: /dev/md#
<component-devices>: 任意塊設備
-C: 創建模式
-n #: 使用#個塊設備來創建此RAID;
-l #:指明要創建的RAID的級別;
-a {yes|no}:自動創建目標RAID設備的設備文件;
-c CHUNK_SIZE: 指明塊大小;
-x #: 指明空閑盤的個數;
例如:創建一個10G可用空間的RAID5
-D:顯示raid的詳細信息;
mdadm -D /dev/md#
管理模式:
-f: 標記指定磁盤為損壞
-a: 添加磁盤
-r: 移除磁盤
觀察md的狀態:
cat /proc/mdstat
停止md設備:
mdadm -S /dev/md#
軟RAID配置實例
使用mdadm創建并定義RAID設備
#mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1
/dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
用文件系統對每個RAID設備進行格式化
#mke2fs -j /dev/md0
測試RAID設備
mdadm允許檢查RAID設備的狀況
#mdadm –detail|D /dev/md0
增加新的成員
#mdadm –G /dev/md0 –n4 -a /dev/sdf1
刪除raid
必要時需要mdadm –zero-superblcock /dev/sdd1 ,否則mount信息中一直會標記磁盤是raid成員
軟RAID測試和修復
模擬磁盤故障
#mdadm /dev/md0 -f /dev/sda1
移除磁盤
#mdadm /dev/md0 –r /dev/sda1
從軟件RAID磁盤修復磁盤故障
替換出故障的磁盤然后開機
在備用驅動器上重建分區
#mdadm /dev/md0 -a /dev/sda1
mdadm、 /proc/mdstat及系統日志信息
軟RAID管理
生成配置文件: mdadm –D –s >> /etc/mdadm.conf
停服務: mdadm –S /dev/md0
激活: mdadm –A –s /dev/md0 激活
刪除raid信息: mdadm –zero-superblock /dev/sdb1
練習
1:創建一個可用空間為1G的RAID1設備,要求其chunk大小為128k,文件系統為ext4,有一個空閑盤,開機可自動掛載至/backup目錄
2:創建由三塊硬盤組成的可用空間為2G的RAID5設備,要求其chunk大小為256k,文件系統為ext4,開機可自動掛載至/my
邏輯卷管理器( LVM)
邏輯卷,可以不停止正在進行的業務停止,從而增加磁盤空間,空間可以支持在線擴展
允許對卷進行方便操作的抽象層,包括重新設定文件系統的大小
允許在多個物理設備間重新組織文件系統
將設備指定為物理卷
用一個或者多個物理卷來創建一個卷組
物理卷是用固定大小的物理區域( Physical Extent,PE)來定義的
在物理卷上創建的邏輯卷是由物理區域( PE)組成
可以在邏輯卷上創建文件系統
LVM介紹
LVM: Logical Volume Manager, Version: 2
dm: device mapper: 將一個或多個底層塊設備組織成一個邏輯設備的模塊
設備名: /dev/dm-#
軟鏈接:
/dev/mapper/VG_NAME-LV_NAME
/dev/mapper/vol0-root
/dev/VG_NAME/LV_NAME
/dev/vol0/root
LVM如何更改文件系統的容量?
LVM可以彈性的更改LVM的容量,是如何做到的?
是通過交換PE來進行資料的轉換,將原來LV內的PE轉移到其他的設備中以降低LV的容量,或將其他設備中的PE加到LV中以加大容量!
查看LVM的使用情況
點擊“系統” ->“管理” ->“邏輯卷管理器”
增大或減小邏輯卷
打開邏輯卷管理器后,點擊“編輯屬性”,打開LVM屬性
對話框:
刪除邏輯卷
刪除邏輯卷必須先刪除LV,再刪除VG,最后刪除PV
點擊邏輯卷管理器的“卷組” ->“邏輯視圖”的LV邏輯卷
點擊“移除選擇的邏輯卷”,再刪除VG,最后刪除PV。
pv管理工具
顯示pv信息
pvs:簡要pv信息顯示
pvdisplay
創建pv
pvcreate /dev/DEVICE
移動pv上已用 的PE
pvmove /dev/move_name
刪除pv
pvremove
vg管理工具
顯示卷組
vgs
vgdisplay
創建卷組
vgcreate VGName PDpath [PDpath…]
# vgcreate -s 2048K vg0 /dev/sdb1
-l 卷組上允許創建的最大邏輯卷數
-p 卷組中允許添加的最大物理卷數
-s 卷組上的物理卷的PE大小(指定的大小要加單位K M G T。。)
管理卷組
vgextend VGName PDpath [PDpath…]
添加物理卷PDpath [PDpath…]到已有的卷組VGName
# vgextend vg0 /dev/sdc1
-d 調試模式
-t 僅測試
vgreduce VGName PDpath [PDpath…]
從卷組VGName中刪除物理卷PDpath [PDpath…]
# vgextend vg0 /dev/sdc1
刪除卷組vgremove
先做pvmove(將已經使用的pv移動到其他空閑的pv,保存數據,否則數據損壞),再做vgremove(刪除vg)
# pvmove /dev/hda5 /dev/hda6 #將VG中pv hda5的內容搬移到hda6中 # pvmove /dev/hda5 #也可以這樣,lvm決定hda5的內容被復制到哪里
lv管理工具
顯示邏輯卷
lvs
Lvdisplay
創建邏輯卷
lvcreate -L #[mMgGtT] -n NAME VolumeGroup
-p r 只讀邏輯卷
-L 指定邏輯卷的大小,單位為“kKmMgGtT”字節
-l 指定邏輯卷的大?。↙E數)
-n 后面跟邏輯卷名
[root@localhost ~]# lvcreate -L 1G -n lv1 vg0
Logical volume "lv1" created.
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 vg0 -wi-a—– 1.00g
刪除邏輯卷
lvremove /dev/VG_NAME/LV_NAME
重設文件系統大小(一般在擴展邏輯卷后操作)
fsadm [options] resize device [new_size[BKMGTEP]]
resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
擴展和縮減邏輯卷
擴展邏輯卷:(可以在掛載的情況下使用)
# lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
-r 識別文件系統,并創建對應的文件系統,省去下面創建文件系統resize2fs,xsf_growfs
# resize2fs /dev/VG_NAME/LV_NAME (ext系列)
xsf_growfs /dev/lv_name (xsf文件系統,只能擴展,不能縮減)
縮減邏輯卷:(建議先做備份,然后再縮減)
五步驟(順序不能亂)
1.-卸載分區()
# umount /dev/VG_NAME/LV_NAME
2-檢查文件系統
# e2fsck -f /dev/VG_NAME/LV_NAME
3-縮減文件系統
# resize2fs /dev/VG_NAME/LV_NAME 縮減后的數額#[mMg Gt T]
4-縮減邏輯卷(縮減的數額不能大于剩余空間大小,否則數據會損毀)
# lvreduce -L [-]#[mMgGtT]
/dev/VG_NAME/LV_NAME
5掛載
# mount
創建邏輯卷實例
創建物理卷
pvcreate /dev/sda3
為卷組分配物理卷
vgcreate vg0 /dev/sda3
從卷組創建邏輯卷
lvcreate -L 256M -n data vg0
mke2fs -j /dev/vg0/data
mount /dev/vg0/data /mnt/data
邏輯卷管理器快照
快照是特殊的邏輯卷,它是在生成快照時存在的邏輯卷的準確拷貝
對于需要備份或者復制的現有數據集臨時拷貝以及其它操作來說,快照是最合適的選擇。
快照只有在它們和原來的邏輯卷不同時才會消耗空間。
一 、在生成快照時會分配給它一定的空間,但只有在原來的邏輯卷或者快照有所改變才會使用這些空間
二、當原來的邏輯卷中有所改變時,會將舊的數據復制到快照中。
三、快照中只含有原來的邏輯卷中更改的數據或者自生成快照后的快照中更改的數據
四、建立快照的卷大小只需要原始邏輯卷的15%~20%就夠了。也可以使用lvextend放大快照。
32
邏輯卷管理器快照
? 快照就是將當時的系統信息記錄下來,就好像照相一般,若將來有任何數據改動了,則原始數據會被移動到快照區,沒有改動的區域則由快照區和文件系統共享。
由于快照區與原本的LV共用很多PE的區塊,因此快照去與被快照的LV必須要要在同一個VG上!系統恢復的時候的文件數量不能高于快照區的實際容量。
33
使用LVM快照
? 為現有邏輯卷創建快照
#lvcreate -l 64 -s -n snap-data -p r /dev/vg0/data
? 掛載快照
#mkdir -p /mnt/snap
#mount -o ro /dev/vg0/snap-data /mnt/snap
? 刪除快照
#umount /mnt/databackup
#lvremove /dev/vg0/databackup
原創文章,作者:hunter,如若轉載,請注明出處:http://www.www58058.com/42758