本節索引
一、RAID概念及管理
二、LVM邏輯卷的介紹及使用
Linux系統中如何提高磁盤的讀寫性能,如何實現磁盤冗余,當磁盤快被占滿時,又如何彈性拓展磁盤容量,RAID及LVM技術可以幫你輕松解決。
一、RAID概念及管理
RAID:Redundant Arrays of Inexpensive(Independent) Disks 廉價(獨立)磁盤冗余陣列
使用多個磁盤合成一個“陣列”來提供更好的性能、冗余,或者兩種都提供。
RAID的作用:
提高IO能力
磁盤并行讀寫
提高耐用性
磁盤冗余來實現
級別:多塊磁盤組織在一起的工作方式有所不同
RAID實現的方式:
外接式磁盤陣列:通過擴展卡提供適配能力
內接式RAID:主板集成RAID控制器
安裝OS前在BIOS里配置
軟件RAID:通過OS實現(生產環境很少用,一般用來測試模擬)
RAID級別
RAID-0????????????? 條帶卷,strip
RAID-1????????????? 鏡像卷,mirror
RAID-2
…
RAID-5
RAID-6
RAID-10
RAID-01
JBOD???????????????? 將多塊磁盤的空間合并成一個連續空間使用
注:目前RAID2-4已基本淘汰,RAID0生產中也少用,RAID1,RAID5,RAID10,RAID01常見
RAID0????? 條帶卷,讀寫能力提升,但無容錯能力,最少需2塊磁盤組成,磁盤利用率100%
RAID1 ? ? ? 鏡像卷,具有一塊硬盤的容錯性,需要2,2N塊磁盤組成,磁盤利用率50%
RAID4 ? ? ?犧牲了1塊硬盤實現冗余,至少3塊磁盤組成,磁盤利用率(n-1)n
RAID5 ? ? ?帶奇偶校驗的條帶集,至少3塊磁盤組成,磁盤利用率(n-1)n,一塊硬盤損壞,將大幅
消耗系統性能,造成宕機,應及時更換硬盤,性價比高
RAID6????? 犧牲了2塊硬盤實現冗余,至少4塊磁盤組成,磁盤利用率(n-2)n
RAID10??? 先做RAID1,再做RAID0,容錯性相較于RAID01更強,至少4塊磁盤組成,空間利用率50%。
生產中有條件情況下建議使用RAID10
RAID01??? 先做RAID0,再做RAID1,至少4塊磁盤組成,容錯性較RAID10稍弱,空間利用率50%
RAID50??? 先做RAID5,再做RAID0,提供了接近RAID 10性能、可用性以及接近RAID 5成本的特性,具
有較好的整體性價比,至少6塊磁盤組成,空間利用率(n-2)n
JBOD??????? 可用空間sum(S1,S2…),性能無提升,至少需要2塊磁盤,磁盤利用率100%
常見RAID圖形示意
RAID0????? 條帶卷,讀寫能力提升,但無容錯能力,最少需2塊磁盤組成,磁盤利用率100%
RAID1 ? ? ? 鏡像卷,讀性能提升,寫性能下降具有一塊硬盤的容錯性,需要2,2N塊磁盤組成,磁盤利用綠
50%
RAID5 ? ? ?帶奇偶校驗的條帶集,與RAID4校驗位固定在一個磁盤上相比,RAID5校驗位在不同磁盤上不
斷更替;至少3塊磁盤組成,磁盤利用率(n-1)n,一塊硬盤損壞,將大幅消耗系統性能,造成宕機,應
及時更換硬盤,性價比高
RAID01??? 先做RAID0,再做RAID1,至少4塊磁盤組成,容錯性較RAID10稍弱,空間利用率50%
RAID10??? 先做RAID1,再做RAID0,容錯性相較于RAID01更強,至少4塊磁盤組成,空間利用率50%。
生產中有條件情況下建議使用RAID10
RAID50??? 先做RAID5,再做RAID0,提供了接近RAID 10性能、可用性以及接近RAID 5成本的特性,具有較好的整體性價比,至少6塊磁盤組成,空間利用率(n-2)n
JBOD??????? 可用空間sum(S1,S2…),性能無提升,無冗余能力,至少需要2塊磁盤,磁盤利用率100%
RAID按實現方式的不同一般分為硬件RAID和軟件RAID,生產環境中多數使用硬件RAID,在下面的實
驗測試環境中我們使用軟件RAID。
軟件RAID
mdadm 命令 ? 為軟RAID提供管理界面
為空余磁盤添加冗余
結合內核中的md(multi devices)
RAID設備可命名為/dev/md0、/dev/md1、/dev/md2、/dev/md3等
dd if=/dev/zero? of=/dev/sdb1???????????? 破壞文件系統
mdadm -C /dev/md0 -a yes? -l5 -n4 -x1? /dev/sd{b,c,d,e}1 ? ? 創建一個RAID5,包含4塊硬盤,一
塊空閑盤
mdadm -D /dev/md0??? ? ? ? ? ? ? ? ?查看raid信息
mkfs.ext4 /dev/md0 -L raid ? ??添加文件系統,添加卷標為raid
停用
umount /mnt/raid/
mdadm??? -S? /dev/md0???????? 禁用raid
-A????????????? 啟用raid
模擬損壞硬盤
mdadm??? /dev/md0 -f /dev/sdd1?
移除損壞硬盤
mdadm ? /dev/md0 -r /dev/sdd1
更換一個新硬盤
mdadm??? /dev/md0 -a /dev/sda1
拓展RAID一個硬盤
mdadm -G /dev/md0 -n4 -a /dev/sdb3
ll /etc/mdadm/conf
mdadm -Ds /dev/md0 > /etc/mdadm/conf????? 保存配置文件
將來重啟或停止raid服務不會出現找不到配置文件的情況
二、LVM邏輯卷介紹及使用
? ?logical Volumes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?邏輯卷
lvcreae? ↑ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?創建邏輯卷? ↑
?Volime Group ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 卷組
vgcreate ↑ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 創建卷組??? ↑
Physical Volumes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?物理卷
pvcreate ↑ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 創建物理卷? ↑
?Linux Block Devices ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Linux塊設備
pv管理工具
顯示物理卷
pvs??????????? 簡要
pvdisplay 詳細
創建卷組
pvcreate? /dev/DEVICE
vg管理工具
顯示卷組
vgs
vgdisplay
創建卷組
vgcreate [-s #[kKmMgGtTpPeE]] 卷組名 各分區物理路徑
lv管理工具
顯示邏輯卷
lvs
Lvdisplay
創建邏輯卷
lvcreate -L #[mMgGtT] -n 邏輯卷名 卷組名
lvcreate -l 60%VG -n mylv testvg
lvcreate -l 100%FREE -n yourlv testvg
lvcreate?
常用選項
-c???? 指定chunk大小
-l????? 指定PE數創建邏輯卷,或[%{VG|FREE|ORIGIN}]
-L ?? 指定大小創建邏輯卷
-n???? 指定邏輯卷名稱
-p{r|rw}指定邏輯卷權限
-t????? 測試
刪除邏輯卷
lvremove /dev/VG_NAME/LV_NAME
重設文件系統大小
fsadm [options] resize device [new_size[BKMGTEP]]
resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
LVM快照
快照是特殊的邏輯卷,它是在生成快照時存在的邏輯卷的準確拷貝
要注意快照不能替代備份作用,但可用于測試環境,在特殊情況下可代替備份效果。
快照生成時需要分配給它一定的空間,這些空間只有在原來的邏輯卷或者快照有所改變才會使用
這些空間,建立快照的卷大小只需要原始邏輯卷的15%-20%就可以了,也可以使用lvextend放大快照空
間要注意快照必須與被快照的LV在同一個卷組中,系統恢復時文件數量不能高于快照區的實際容量。
為現有邏輯卷創建快照與添加邏輯卷命令相同
lvcreate
創建快照常用選項:
-l????? 指定PE數創建快照,或[%{VG|FREE|ORIGIN}]
-L ?? 指定大小創建快照邏輯卷
-n???? 指定快照名稱
-p{r|rw}指定快照權限,一般設為只讀
ext系列:
lvcreate -n centoslv0-snapshot -s -L 1G -p r /dev/centos6lv0
lvdisplay
mkdir /mnt/snap
mount /dev/centos6vg0/centos6lv0-snapshot? /mnt/snap
xfs文件系統:
lvcreate -n centoslv0-snapshot -s -L 1G -p r /dev/lv0
lvdisplay
mkdir /mnt/snap
xfs文件系統不予許相同UUID設備進行掛載
mount -o nouuid? /dev/vg0/lv0-snopshot /mnt/lv0-snap
恢復快照
umount /mnt/snap/
umount /mnt/centos6lv0/
lvconvert? –merge? /dev/centos6vg0/centos6lv0-snapshot
注:快照會在合并恢復后自動刪除
刪除快照
umount /mnt/vg0/lv0
lvremove /dev/mnt/lv0-snap
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/97102