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