RAID與LVM的簡單實驗操作
RAID
1.刪除硬盤分區(可用整盤刪除和刪除單個分區兩種方法)
第一步:清空分區 dd if=/dev/zero of=/dev/sdb bs=1 count=512(b盤整盤刪除)
fdisk /dev/sdc d 6 w (使用fdisk命令行刪除單個分區)
第二步:使用lsblk查看磁盤分區,發現分區還在,需要同步。
lsblk查看的是內存中的分區,fdisk -l查看的是硬盤上的分區,后者更准確。
第三步:刪除分區之后同步
#partx -d --nr 1-4 /dev/sdb(同步b盤上的四個分區)
#partx -d --nr 1 /dev/sdc (同步c盤上的一個分區)
2.創建RAID
(1)mdadm命令用來創建raid設備
(2)ll /dev/md* 查看raid設備
創建raid0
第一步:mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb /dev/sde
-C表示創建 -a表示初始化設備 -l(level)表示級別0 -n表示成員 2表示兩個成員
第二步:mdadm -D /dev/md0 (-D是查看所創建raid的信息)
第三步:mkfs.ext4 /dev/md0 (現在就可以將此設備當作一個分區來格式化了)
第四步:掛載
#mkdir /mnt/raid0
#mount /dev/md0 /mnt/raid0
第五步:測試性能
測試寫的性能:dd if=/dev/zero of=file bs=1M count=1024
測試讀的性能:dd if=file of=/dev/null
創建raid5
第一步:mdadm -C /dev/md5 -a yes -l 5 -n 3 -x 1 /dev/sdd /dev/sdf /dev/sdg /dev/sdh
-x表示備用磁盤 1 表示一個 ,備用磁盤一般放在最后面/dev/sdh(當正在使用的某個磁盤出現問題時,備用磁盤會自動取代損壞磁盤)
第二步:格式化
第三步:掛載
然后就可以當作一個高性能的磁盤來使用了
第四步:磁盤損壞有真實和模擬損壞
模擬sdb1損壞:mdadm /dev/md5 -f /dev/sdb1(-f fault錯誤)
真實損壞:虛擬機設置中將磁盤移除
移除損壞磁盤:mdadm /dev/md5 -r /dec/sdb1(-r remove)
/etc/fstab:fstab可以自動掛載各種文件系統格式的硬盤、分區、可移動設備和遠程設備等
第五步:讓raid5永久生效,寫到/etc/fstab中
寫入格式:/dev/md5 /mnt/raid5 ext4 defaults 0 0
3.(1)添加raid備用磁盤
mdadm /dev/md5 -a /dev/sde1
(2)添加raid真正成員(創建raid5時n為3,現在是往這個3的組里再添加,與添加備用磁盤不同,用來擴容的)
mdadm -G /dev/md5 -n4 -a /dev/sdf1 (-G group)
問題:添加新成員時,發現容量沒有提升上去,為什么?
原因:新加成員沒有格式化,即沒有文件系統,所以容量沒有提升上去。
解決辦法:同步此raid的文件系統 #resize2fs /dev/md5
4.刪除raid
第一步:卸載 #umount /dev/raid5
第二步:停止使用分區 #mdadm -S /dev/md5 (-S stop)
第三步:刪除raid中的分區
方法一:單個刪除fdisk (d)
方法二:全盤刪除 dd if=/dev/zero of=/dev/sdb bs=1 count=512
第四步:在/etc/fstab中將永久生效的raid信息刪除
問題:刪除分區不干凈,如何解決?
使用 mdadm --zero-superblock /dev/sdb1 ,刪除超級塊,即將元數據信息刪除。
LVM
1.lvm相比raid分區優勢:磁盤空間大小可隨時擴充,直接插硬盤即可。
eg:raid中根在分區,如果空間不夠就比較麻煩,lvm可直接在線擴充,無需停機,
用戶不受影響。
2.簡單理解lvm的構成:
(1)物理卷pv(physical volume):相當於構成raid中的單個磁盤或磁盤分區,物理卷的名稱
和raid中命名的方式一樣。
(2)卷組VG(volume group):pg組合在一起構成vg,可以將vg理解成一個大硬盤,他的大小
就是多少pv的總和,卷組的名字自己指定,比如vg0,vg的成員pv大小可以不一致。
(3)邏輯卷LV(logical volume):lv是從卷組分出來的,可以將vg看作從磁盤分出來的分區,邏輯卷
的空間來自於卷組,實際上的空間來自於物理卷。
創建出來的邏輯卷(磁盤分區)進行格式化、掛載就可以使用了。
3.(1)查看物理卷命令
pvs命令:查看物理卷
#pvs
pvdisplay命令:顯示更詳細的物理卷信息
#pvdisplay
(2)查看卷組命令
vgs vgdisplay
(3)查看邏輯卷的命令
lvs lvdisplay
4.創建邏輯卷
第一步:創建物理卷,此中是將兩個獨立的f、g磁盤創建成物理卷
# pvcreate /dev/sdf /dev/sdg
第二步:創建卷組,即將物理卷加入卷組中
/]# vgcreate -s 16M vg0 /dev/sdf /dev/sdg
-s 16M:指定PE的大小為16M vg0為卷組的名字
物理卷的單位PE(physical extent),就跟文件系統的磁盤塊一樣,擴展物理卷的
時候必須是PE的整數倍擴展。
第三步:創建邏輯卷,即分配卷組這個大磁盤、大倉庫
# lvcreate -n lv0 -L 5G vg0
-n lv0:n為name,創建的邏輯卷為lv0(自定義)
vg0:卷組可能有多個,所以要指定從哪個卷組中分配,此中指定vg0
-L 50每個邏輯卷分配多大,分配單位有兩種:小l 以PE為單位,分配多少個PE
L 直接分出多少G
lvcreate -l 60%VG -n mylv testvg
lvcreate -l 100%FREE -n yourlv testvg
第四步:格式化、掛載
5.擴展邏輯卷
第一步:擴展邏輯卷的前提是vgdisplay查看vg的空間是否有剩余
第二步:# lvextend -L +5g /dev/vg0/lv0
lvextend為擴展命令
-L +5g:表示擴展5g -L 5g:表示擴展到5g
LE(Logical Extents):和PE是相同的,大小相同,LE是邏輯卷的單位。
6.vg不夠用的時候直接加硬盤
#vgextend vg0 /dev/sdd
7.縮減邏輯卷大小
#lvreduce -L 50G /dev/vg0/lv0
8.
9.遷移卷組到新的卷組(移動硬盤)
第一步:修改卷組的名字
#vgrename vg0 newvg0
第二步:修改邏輯卷的名字
#lvrename /dev/newvg0/lv0 newlv0
第三步:取消掛載
第四步:禁用卷組(用戶此時不能使用),卷組不可用,上面的邏輯卷自認不能用。
#vgchange -a n newvg0
-a:available可用
n:no
第五步:導出卷組
#vgexport newvgo
pvscan命令:查看導出前導出后命令
第六步:移除硬盤