Transcript 磁碟陣列&邏輯磁卷
RAID與LVM
1
磁碟陣列(RAID)
RAID簡介
RAID狀態
指令介紹
RAID
5實作
2
RAID簡介
容錯式廉價磁碟陣列『 Redundant Arrays
of Inexpensive Disks, RAID 』。
RAID 可以透過一個技術(軟體或硬體),
將多個較小的磁碟整合成為一個較大的
磁碟裝置 。
ref:http://linux.vbird.org/linux_basic/0420quota.php#raid
3
RAID狀態
RAID狀態
解釋
RAID-0
等量模式, stripe
優點:效能最佳。
缺點:只要有任一磁碟損毀,在
RAID 上面的所有資料都會遺失
而無法讀取。
RAID-1
映射模式, mirror
優點:完整備份
缺點:寫入效能不佳
RAID 0+1
Stripe+mirror
優缺點:具有 RAID 0 的優點,
所以效能得以提升,具有 RAID
1 的優點,所以資料得以備份。
但是也由於 RAID 1 的缺點,所
以總容量會少一半用來做為備份
4
RAID狀態
RAID狀態
解釋
RAID 5
效能與資料備份的均衡考量
需要三顆以上磁碟才能夠組成,
允許一顆故障。
每個循環的寫入過程中,在每顆
磁碟還加入一個同位檢查資料
(Parity) ,這個資料會記錄其他
磁碟的備份資料, 用於當有磁
碟損毀時的救援。
RAID 6
增加了第二個獨立的奇偶校驗信
息塊,可靠度高。
需要四顆以上磁碟才能夠組成,
允許兩顆故障。
Spare Disk
ref:http://zh.wikipedia.org/wiki/RAID
預備磁碟
5
建立RAID-mdadm
--create :為建立 RAID 的選項;
--spare-devices=N :使用幾個磁碟作為
備用 (spare) 裝置
--level=[015] :設定這組磁碟陣列的等
級。支援很多,不過建議只要用 0, 1, 5
即可 --detail :後面所接的那個磁碟陣
列裝置的詳細資訊
--detail :後面所接的那個磁碟陣列裝
置的詳細資訊
6
常用指令
mdadm --detail /dev/md0
mdadm --create --auto=yes
/dev/md0 --level=5 \ > --raiddevices=4 /dev/{b-e}
mdadm --manage /dev/md
7
RAID 5實作
準備4顆硬碟
檢查partitions狀態
◦ #cat /proc/partitions
格式化新硬碟
◦ #fisk /dev/sdb
◦ n
◦ p
◦ t 選擇其它類型
◦ l 列出所有類型
◦ fd RAID類型
◦ w 選好之後存檔
◦ #partprobe 重讀分割區表,不用重開機
依續完成格式化其它3顆的RAID類型
◦ fisk /dev/sdc
◦ fisk /dev/sdd
◦ fisk /dev/sde
完成之後,查看4顆硬碟的狀態,確認後重新開機
◦ fdisk -l /dev/sd[bcde]
8
建立RAID 5
#mdadm -C /dev/md0 -l5 -n3 /dev/sd[bcd]1 -x 1 /dev/sde1
-C creat
-l5 指定raid 5 模式
-n3 指定3顆硬諜加入raid
-x 指定1顆備援硬諜加入raid
#mdadm –D /dev/md0
-D 查看詳細資料
9
RAID建置時電腦變慢
可以查看raid 的其它詳細資訊 ,同時
可看到 recovery 仍在進行中。
◦ #cat /proc/mdstat
格式化/dev/md0
◦ #mkfs –j /dev/md0
建立raid目錄並掛載
◦ #mkdir /media/raid
◦ #mount /dev/md0 /media/raid
#df -h 會看到只有兩顆硬碟的空間
10
RAID的故障測試
拷貝一個檔案到raid目錄,準備測試工作
◦ #cp /etc/passwd /media/raid
先查看raid的運作狀態
◦ #mdadm -D /dev/md0
故意將dev/sdc1設為故障狀態
◦ #mdadm /dev/md0 -f /dev/sdc1
再查看raid的運作狀態,會發現sde1 逐漸替
補 sdc1 的工作
◦ #mdadm -D /dev/md0
此時仍可正常讀檔,表示raid 有正常運作
◦ #cat /media/raid/passwd
11
RAID的移出與加入
將故障的dev/sdc1 移出,可以送修
◦ #mdadm /dev/md0 -r /dev/sdc1
查看是否已移出
◦ #mdadm -D /dev/md0
當故障的硬碟修復後,將其加回
◦ #mdadm /dev/md0 -a /dev/sdc1
關閉軟體RAID
◦ #umount /dev/md0
◦ #mdadm --stop /dev/md0
12
開機自動掛載
#vi /etc/fstab
/dev/md0 /media/raid ext3 defaults 1 2
13
邏輯磁卷管理員
LVM介紹
LVM架構
LVM管理工具
LVM實作
14
LVM介紹
LVM的全名邏輯磁卷管理,是以磁卷
(Volume)為單位,捨棄傳統磁碟以分割
(Partition)為磁碟的單位。
LVM 的重點在於『可以彈性的調整
filesystem 的容量!』而並非在於效能
與資料保全上面。
ref:http://linux.vbird.org/linux_basic/0420quota.php#lvm
15
LVM架構
16
LVM的三個元件
實體磁卷PV:(Physical Volume)磁碟分割
區;System ID必須標示為8e。
磁卷群組VG:(Volume Group)把多割磁
碟分割區(實體磁卷)建立成一個磁卷群
組。
邏輯磁卷LV:(Logic Volume)把邏輯磁卷
當作原本的分割區使用。
17
LVM管理工具
實體磁卷
磁卷群組
虛擬磁卷
掃描
pvscan
vgscan
lvscan
檢視
pvdisplay
vgdisplay
lvdisplay
新建
pvcreate
vgcreate
lvscreate
移除
pvremove
vgremove
vgremove
放大
vgextend
lvestend
縮小
vgreduce
lvreduce
18
LVM流程圖
ref :http://linux.vbird.org/linux_basic/0420quota.php#lvm
19
LVM實作
準備3顆HDD
首先查看partitions
◦ #cat /proc/partitions
進行各硬碟格式化工作
◦
◦
◦
◦
◦
◦
◦
◦
#fdisk /dev/sdc
n
p
t
l 列出類型
8e lvm類型
w save
#partprobe 重讀分割表,不用重開機
檢查3顆硬碟的格式化結果
◦ #fdisk -l /dev/sd[cde]
20
•建立LVM
•#pvcreate /dev/sdc1
•查詢LVM
•#pvscan
•PV 裝置名稱 lvm2 容量大小
•指定 dev/sdc1 在vg00群組
•#vgcreate vg00 /dev/sdc1
•再查詢LVM
•#pvscan
•也可查詢群組狀態
•#vgdisplay vg00
•#vgscan
•指定大小100M 並且叫做lv00邏輯分割 由vg00群組切割
•#lvcreate -L 100M -n lv00 vg00
•會發現少100M
•#pvscan
21
•找出 lv
•#lvscan
•列出lv 詳細資訊
•#lvdisplay /dev/vg00/lv00
•格式為ext3
•#mkfs -j /dev/vg00/lv00
•掛載
•#mkdir /media/lvm
•#mount /dev/vg00/lv00 /media/lvm
•查看空間
•#df -h
22
•若之後空間不足要擴大到200M
•#lvextend -L 200M /dev/vg00/lv00
•變成200M
•#lvscan
•因擴大的是分割區,分割區內容沒有變更,所以掛載100M不變
•#df –h
•將指定的分割區做動態調整
•#resize2fs /dev/vg00/lv00
•變成200M了
•#df -h
23
將其它硬碟加到LVM群組
先檢查LVM
◦ #pvscan
加入群組
◦ #vgextend vg00 /dev/sdd1
移出群組
◦ #vgreduce vg00 /dev/sdd1
24