linux中的磁盤陣列與邏輯卷管理

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 :



xfs格式的文件系統只能擴容,不能縮減,所以要格式化改變格式

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 查看

刪除完成。

發佈了51 篇原創文章 · 獲贊 3 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章