RAID及LVM的實現
第一部分 : RAID介紹及創建
-
1、mdadm工具
-
2、創建RAID 5及刪除RAID
第二部分 : LVM的實現
-
1、基本命令
-
2、LVM創建及擴容和縮減
-
3、LVM快照
RAID介紹及創建
1、mdadm工具
mdadm [mode] <raid device> [options] <任意塊設備> [mode] -C : 創建 -A : 裝配 -F : 監控 管理模式 -f : 標記指定磁盤為損壞 -a : 添加磁盤 -r : 移除磁盤 -C : 創建模式 -n# : 使用#個設備來創建此RAID -l# : 指明要創建的RAID級別 -a [yes | no] : 是否自動創建設備文件 -c : 指明塊大小 -x# : 指明空閑盤個數 -D : 顯示RAID的詳細信息 先介紹一下一些常見RAID陣列 RAID 0 利用率為100% 無容錯能力 最小磁盤數 2 RAID 1 利用率為50% 有冗余能力 最少磁盤數 2 RAID 5 利用率為(n-1)/n ,有一塊作為備用 有容錯能力 最少磁盤數 3 RAID 10 利用率為50% 有容錯能力,但每組鏡像只能壞一塊 最少磁盤 4
2、創建并定義RAID設備
這里以創建RAID 5為例
開始工作: 準備系統磁盤,這里小編已經先做好了,并將系統ID改為RAID類型 如下: Device Boot Start End Blocks Id System /dev/sdb1 1 262 2104483+ fd Linux raid autodetect /dev/sdb2 263 524 2104515 fd Linux raid autodetect /dev/sdb3 525 786 2104515 fd Linux raid autodetect /dev/sdb4 787 1048 2104515 fd Linux raid autodetect (1)、 在/dev下創建RAID5命名為md0,且設為開機自動創建,模式為RAID 5 使用3個設備創建此RAID,/dev/sdb4作為備用 mdadm -C /dev/md0 -a yes -l5 -n3 -x1 /dev/sdb{1,2,3,4} (2)、 對創建的md0設備進行格式化 mke2fs -j /dev/md0 (3)、 將/dev/md0進行掛載,就可以進行使用了 到此RAID 5 很簡單的就創建完畢 (4)、 可以通過命令來查看RAID的設備狀況 mdadm -D /dev/md0 [root@Centos6 ~]#mdadm -D /dev/md0 /dev/md0 : Version : 1.2 Creation Time : Mon Aug 14 12:44:33 2017 Raid Level : raid5 # RAID 5模式 Array Size : 4204544 (4.01 GiB 4.31 GB) Used Dev Size : 2102272 (2.00 GiB 2.15 GB) # 使用的設備大小 Raid Devices : 3 # RAID 設備數 Total Devices : 4 # RAID 總設備數 Persistence : Superblock is persistent Update Time : Mon Aug 14 12:44:56 2017 State : clean # 是否被破壞 Active Devices : 3 # 活動設備 Working Devices : 4 # 工作設備 Failed Devices : 0 # 損壞設備 Spare Devices : 1 # 空閑設備 Layout : left-symmetric Chunk Size : 512K # chunk(塊)大小 Name : Centos6.9ymd:0 (local to host Centos6.9ymd) UUID : 7d8465ed:f8b2c03b:8e7e2a82:0af865ee Events : 18 Number Major Minor RaidDevice State 0 8 17 0 active sync /dev/sdb1 # 活動設備 1 8 18 1 active sync /dev/sdb2 # 活動設備 4 8 19 2 active sync /dev/sdb3 # 活動設備 3 8 20 - spare /dev/sdb4 # 空閑設備 (5)、 如若在最開始創建的時候并沒有備用的設備,我們可以在設備中增添新成員,增加容錯能力 mdadm -G /dev/md0 -n4 -a /dev/add (6)、 生成配置文件,以備我們將其停止后能夠重新啟動它 mdadm -Ds >> /etc/mdadm.conf (7)、 停止RAID設備 mdadm -S /dev/md0 (8)、重新啟動RAID設備 mdadm -As /dev/md0
3、那么創建好后,怎樣刪除它呢?
(1)、 首先我們需要將其卸載 umount /dev/md0 (2)、 停止RAID設備 mdadm -S /dev/md0 (3)、 刪除配置文件 rm -rf /etc/mdadm.conf (4)、 刪除RAID,清除其成員的元信息 mdadm --zero-superblock /dev/sdb{1,2,3,4} (5)、如果在/etc/fstab文件中增加了開機自動加載的信息則還要將其刪除
LVM的實現
1、基本命令
1、創建及刪除物理卷LV pvcreate device pvremove device 2、創建卷組VG vgcreate vgname device vgname : 為自己指定的vg名稱 -s # : 可指定PE的大小,默認為4M 管理卷組 vgextend vgname device 在vg內添加pv vgreduce vgname device 在vg內移除pv vgchange 配置vg是否啟動 vgremove device 刪除一個vg vgs | vgdisplay 查看vg信息 3、創建邏輯卷LV lvcreate [options] [lvname] device [options] -L # [+][G,g,T,t,M,m] 改變LV容量 -l #% VG 以百分比形式改變容量 -n name 設置LV名字 lvextend 增加LV容量 lvreduce 削減LV容量 lvremove 刪除一個LV lvresize 調整lv容量大小 lvs | lvdisplay 查看lv信息 4、掛載使用邏輯卷
2、接下來我們開始邏輯卷的創建
將自己創建的過程及相關命令列出
如下:
1、創建pv [root@Centos6 ~]#pvcreate /dev/sdb{1..4} Physical volume "/dev/sdb1" successfully created Physical volume "/dev/sdb2" successfully created Physical volume "/dev/sdb3" successfully created Physical volume "/dev/sdb4" successfully created [root@Centos6 ~]#pvs PV VG Fmt Attr PSize PFree /dev/sdb1 vg0 lvm2 a--u 2.00g 0 /dev/sdb2 vg0 lvm2 a--u 2.00g 0 /dev/sdb3 vg0 lvm2 a--u 2.00g 0 /dev/sdb4 vg0 lvm2 a--u 2.00g 16.00m 2、創建vg [root@Centos6 ~]#vgcreate vg0 /dev/sdb{1..4} Volume group "vg0" successfully created [root@Centos6 ~]#vgs VG #PV #LV #SN Attr VSize VFree vg0 4 1 0 wz--n- 8.02g 16.00m 3、創建lv [root@Centos6 ~]#lvcreate -L +8G -n lv0 vg0 Logical volume "lv0" created. [root@Centos6 ~]#lvdisplay --- Logical volume --- LV Path /dev/vg0/lv0 LV Name lv0 VG Name vg0 LV UUID NfI3VT-QXop-Ju9V-qdzT-jZOj-Okmz-lcDAAf LV Write Access read/write LV Creation host, time Centos6.9ymd, 2017-08-17 06:11:37 +0800 LV Status available # open 0 LV Size 8.00 GiB Current LE 2048 Segments 4 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0
3、LV擴容及縮減
(1)、擴容LV
1、創建系統ID是LVM的分區 這里以/dev/sdc1為例 2、將/dev/sdc1變成物理卷 pvcreate /dev/sdc1 3、將其加入卷組中 vgcreate vg0 /dev/sdc1 4、擴容LV lvextend -L +#G /dev/vg0/lv0 5、同步文件系統(當在磁盤上看不到增加的容量時可用) resize2fs /dev/vg0/lv0 #G 也可將4、5合并成以下命令來代替 lvextend -r -L +#G /dev/vg0/lv0
(2)、縮減LV
1、卸載已經掛載的lv umount 2、強制進行磁盤檢測 e2fsck -f /dev/vg0/lv0 3、同步文件系統 resize2fs /dev/vg0/lv0 #G 4、縮減LV lvreduce -L #G /dev/vg0/lv0 5、掛載重新使用 mount
4、如何跨主機遷移卷組到新系統
首先要確定被遷移的卷組是否與新卷組名稱沖突,如果沖突則先要更改名字 vgrename vg0 newvg0name 1、先卸載被掛載的邏輯卷 umount 2、禁用卷組中的所有邏輯卷 vgchange -an vg0 3、讓卷組處于導出狀態 vgexport vg0 4、關機拆除硬盤,出入新的系統 5、導入轉移的vg0 vgimport vg0 6、激活邏輯卷 vgchange -ny vg0 7、掛載使用
5、邏輯卷快照
快照,顧名思義,保存當前的狀態,以備以后能夠還原到當前的狀態,其原理這里不再贅述
1、為現有的LV創建快照 lvcreate -s -l 60 -n /dev/vg0/data -p r /dev/vg0/lv0 -s : 創建快照 -l : 使用PE數量,作為快照區使用 -n : 快照區設備名稱 -p r : 設定快照為只讀屬性 2、掛載快照 mount -o ro /dev/vg0/data /mnt/snap 3、恢復快照 lvconvert --merge /dev/vg0/data
原創文章,作者:M25_ymd,如若轉載,請注明出處:http://www.www58058.com/85267