RAID(磁盤陣列冗餘 提升硬盤訪問速度)
raid0 raid1 raid5 raid10
條帶化寫 冗餘 帶奇偶校驗的條帶化 raid1+raid0
2塊磁盤 2塊磁盤 3塊磁盤 4塊磁盤
500G 500G 500G 500G
1T 500G 1T 1T
mdadm -C /dev/md0 -l 5 -n 3 /dev/sda{6,7,8} 物理硬盤sdb1,sdc1,sdd1
mdadm -C /dev/md0 -l 5 -n 3 /dev/sda{6,7,8} x 1 /dev/sda9 備用盤
-C create 建立 -l level 類型 -n number 硬盤數量
mdadm -D /dev/md0 查看Raid
mdadm -Ds 掃描查看簡潔信息
mdadm -S /dev/md0 中止Raid
mdadm -A /dev/md0 /dev/sda{6,7,8} 中止後再啓動
刪除
mdadm -S /dev/md0
rm -rf /dev/md0
使用
mkfs.ext3 /dev/md0
模擬損壞
dd if=/dev/zero of=data bs=100M count=3
md5sum data
mdadm /dev/md0 -f /dev/sda6 損壞
mdadm /dev/md0 -r /dev/sda6 卸載
mdadm /dev/md0 -a /dev/sda9 掛載
mdadm /dev/md0 -a /dev/sda9 備用磁盤
mdadm -D /dev/md0
永久保存
touch /etc/mdadm.conf
cat /etc/mdadm.conf
DEVICE /dev/sda6 /dev/sda7 /dev/sda8
ARRAY /dev/md0 level=raid5 num-devices=3 metadata=0.90 UUID=3
302db2d:e60e1cfb:5518ba01:f353f556 (mdadm -Ds >> /etc/mdadm.conf)
/usr/share/doc/mdadm-2.6.9/mdadm.conf-example 配置模板
mdadm -S /dev/md0
mdadm -As /dev/md10 重啓測試
建立raid時直接指定備盤
mdadm -C /dev/md0 -l 5 -n 3 /dev/sda{6,7,8} -x 1 /dev/sda9
完全刪除
mdadm -S /dev/md0
rm -rf /dev/md0
mdadm --zero-superblock /dev/sda6
mdadm --zero-superblock /dev/sda7
mdadm --zero-superblock /dev/sda8
mdadm --zero-superblock /dev/sda9
lvm(邏輯卷管理)做用:支持硬盤在線擴容
創建lvm過程
建立物理卷
pvcreate /dev/sda6 /dev/sda7
查看物理卷pvs
顯示詳細信息pvdisplay
建立卷組
vgcreate vg0 /dev/sda6 /dev/sda7
查看卷組vgs
顯示詳細信息vgdisplay
建立邏輯卷
lvcreate -L 200M -n /dev/vg0/lv0 vg0
查看邏輯卷lvs
顯示詳細信息lvdisplay
格式化
mkfs.ext3 /dev/vg0/lv0
掛載
mount /dev/vg0/lv0 /mnt/
查看信息
df -Th
在線擴容
lvextend -L +100M /dev/vg0/lv0
lvs
df -Th
刷新擴展空間
resize2fs /dev/vg0/lv0 300M
lv縮小
df -Th
umount /dev/vg0/lv0
e2fsck -f /dev/vg0/lv0
resize2fs /dev/vg0/lv0 150M
lvs
lvresize -L 150M /dev/vg0/lv0
實驗:
1.建立lv0 大小200M 將lv0格式化化掛載/mnt
在該目錄下建立data文件150M 並記錄下md5sum值
建立pv
pvcreate /dev/sda6 /dev/sda7 /dev/sda8
建立vg
vgcreate vg0 /dev/sda6 /dev/sda7 /dev/sda8
建立lv
lvcreate -L 200M -n /dev/vg0/lv0 vg0
mkfs.ext3 /dev/vg0/lv0
mount /dev/vg0/lv0 /lvm
2.對lv0進行縮小操做,縮小到140M 可不能夠?報錯
縮小到160M 可不能夠?能夠
3.將lv0掛載起來。驗證縮小操做是否完成?
在不卸載lv0的前提下將lv0在線擴容到300M
vg擴大和縮小(卷組硬盤數量)
pvcreate /dev/sda8
vgextend vg0 /dev/sda8
縮小(減小硬盤數量數量)
vgreduce vg0 /dev/sda8
數據移動
前提,使用的設備必須在同一個vg
pvmove /dev/sda6 /dev/sda8 指定sda6存儲的數據移動到sda8
pvmove /dev/sda8 不指定設備移動數據
刪除lv
umount /dev/vg0/lv0 卸載設備
lvremove /dev/vg0/lv0 刪除lv
vgremove vg0 刪除vg
pvremove /dev/sda{6,7,8}刪除pv
lvm快照
建立快照
lvcreate -L 50M -s -n /dev/vg0/lv0-s0 /dev/vg0/lv0
快照名稱 原文件
lvm快照
建立
lvcreate -L 50M -s -n /dev/vg0/lv0-s0 /dev/vg0/lv0
1.只使用快照(原lv不掛載)只能在原lv數據基礎上做出50M的修改,
一旦到了最大值該快照自動損壞全部的修改都是記錄在快照裏
2.只是使用原lv(快照保存,不掛載)
使用快照數據恢復原數據(快照size 大於 原lv)
做業:
1.分6個分區200M 作個raid5(400) raid0(400) sda10(200)
建立raid5
mdadm -C /dev/md5 -l 5 -n 3 /dev/sda{5,6,7}
mkfs.ext3 /dev/md5
mount /dev/md5 /raid5/
df -Th
建立raid0
mdadm -C /dev/md0 -l 0 -n 2 /dev/sda{8,9}
mdadm -Ds
mkfs.ext3 /dev/md0
mount /dev/md0 /raid0
df -Th
2.將raid5 建立成pv vg lv
擴大vg sda10
擴大lv到500M
將sda10 數據移動 raid0 移除 sda10
vgcreate /dev/sda10
pvcreate /dev/sda10
vgextend vg0 /dev/sda10
lvextend -L +200M /dev/vg0/lv0
df -Th
resize2fs /dev/vg0/lv0 500M
df -Th
pvs
pvcreate /dev/md0
vgextend vg0 /dev/md0
pvs
df -Th
pvmove /dev/sda10 /dev/md0
1.只使用快照(原lv不掛載)
寫入母盤數據,而後卸載母盤,掛載快照,
查看快照內容和母盤數據同樣,只能修改快照數據,母盤數據不變。
從新掛在母盤,原來數據依舊存在
2.只是使用原lv(快照保存,不掛載)
使用快照數據恢復原數據(快照size 大於 原lv) ide