1.磁盤陣列
作用:由很多便宜、容量較小、穩定性較高、速度較慢的磁盤,組合成一個大型的磁盤組,利用個別磁盤提供數據所產生的加成效果來提升整個磁盤系統的效能。
下面詳細介紹一下在linux系統中是如何實現磁盤陣列的:
新建三個磁盤分區:如圖
標籤爲 Linux raid autodetect
mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3} 生成磁盤:/dev/md0
每個參數的意思:-C:創建 -a:添加 -l:優先級 -n:使用磁盤個數 -x:閒置磁盤個數(備用):
mksf.xfs /dev/md0 格式化磁盤
mount /dev/md0 /mnt/ 掛載到/mnt/
df查看掛u載信息
mdadm -D /dev/md0 查看設備情況,截圖爲其中一部分:
watch -n 1 ‘cat /proc/mdstat ; df -h /mnt 重新打開一個shell,監控信息,以便看的更加明顯:
mdadm /dev/md0 -f /dev/vdb2 如果/dev/vdb2壞掉,vdb2後面的[F]表示出現問題了,備用磁盤vdb3就會頂替/vdb2繼續工作:
mdadm /dev/md0 -r /dev/vdb2 刪除/dev/vdb2
mdadm /dev/md0 -a /dev/vdb2 新添加的/dev/vdb2作爲備用磁盤:
umount /mnt 卸載設備
mdadm -S /dev/md0 讓設備停止
fdisk /dev/vdb 刪除之前建立的3個磁盤分區
磁盤陣列的建立和刪除操作步驟結束.
2.邏輯卷管理(lvm)
物理卷(pv)卷組(vg) 邏輯卷(lv)
工作方式:把一些空餘的空間製作成物理卷,把物理卷整合成一個卷組,從卷組中抽取空間變成邏輯卷
當邏輯卷空間不足時,可以從卷組中再抽取空間直接加入邏輯卷,同樣,卷組空間不夠也可以再創建一
些物理卷,然後直接加入卷組,這樣就不怕空間不足,並且直接加入也省了很多步驟,更方便簡潔。
fdisk /dev/vdb 新建立一個分區,標籤爲Linux LVM
watch -n 1 ’pvs;echo ======pvs====== ;vgs;echo ======vgs====== ;lvs;echo ======lvs====== ;df -h /mnt‘ 監控信息,可看見詳細變化
監控畫面:
pvcreate /dev/vdb1 將/dev/vdb1的內存轉給pv
可看到詳細變化:
vgcreate vg0 /dev/vdb1 將pv的容量轉到vg0裏面
lvcreate -L 200M -n lv0 vg0 從vg0裏面移出200M到 lv0 裏面:
mkfs.xfs /dev/vg0/lv0 格式化磁盤
mount /dev/vg0/lv0 /mnt 掛載到/mnt目錄上,輸入df查看掛載信息:
擴容:xfs
fdisk /dev/vdb 新建/dev/vdb2
pvcreate /dev/vdb2 加入到pv中
可看到/dev/vdb2已經加入到pv0中:
vgextend vg0 /dev/vdb2 將/dev/vdb2的容量加入vg0
lvextebd -L 300M /dev/vg0/lv0 將lv0擴容到300M
xfs_growfs /dev/vg0/lv0 將文件系統擴容
mount /dev/vg0/lv0 /mnt 掛載到/mnt目錄上,可看見已經擴容爲300M :
umount /mnt 卸載磁盤:
mkfs.ext4 /dev/vg0/lv0 將文件系統格式化爲ext4格式:
mount /dev/vg0/lv0 /mnt 再次掛載到/mnt目錄上
在ext4格式下擴容
lvextend -L 400M /dev/vg0/lv0
lvo 已經擴容爲400M
resize2fs /dev/vg0/lv0 將文件系統也擴容到400M
文件系統也已經擴容到400M
縮減:
umount /mnt 先卸載磁盤
e2fsck -f /dev/vg0/lv0 查看磁盤容量信息:
resize2fs /dev/vg0/lv0 300M 文件系統縮減爲300M
mount /dev/vg0/lv0 /mnt 掛載磁盤,可看到已經縮減爲300M:
lvreduce -L 300M /dev/vg0/lv0 將lv0也縮減爲300M
lv0 也已縮減到300M:
磁盤擴容與縮減就介紹這些。
設備內容轉移與刪除磁盤:
umount /mnt 卸載磁盤
pvmove /dev/vdb1 /dev/vdb2 將/dev/vdb1中的文件內容移動到/dev/vdb2中,可用於文件轉移:
可以看到/dev/vdb1中已經空掉:
vgreduce vg0 /dev/vdb1 將vg0中的/dev/vdb1移除:
可以看到之前vg0後面的數字2變成了1,說明/dev/vdb1已經被移除:
pvremove /dev/vdb1 刪除/dev/vdb1
3.設備快照的生成與刪除:
爲了防止文件丟失,提前給設備照一張“相”,和之前虛擬機快照一樣,相當於做一個備份文件
touch /mnt/ok{1..10} 在掛載的狀態下,在/mnt目錄裏建立文件
umount /mnt 卸載磁盤
lvcreate -L 20M -n westos -s /dev/vg0/lv0 生成快照文件westos
mount /dev/vg0/westos /mnt 將快照文件掛載到/mnt上
df
ls /mnt 查看/mnt下是否有之前建立的文件
umount /mnt 卸載快照
lvremove /dev/vg0/westos 刪除快照
刪除設備:
lvremove /dev/vg0/lv0 刪除lv0
vgremove vg0 刪除vg0
pvremove /dev/vdb2 刪除 /dev/vdb2
pvs查看
vgs查看
lvs 查看
刪除完成。