Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
5.5. 在叢集中建立鏡像 LVM 邏輯卷冊
若在叢集中建立鏡像 LVM 邏輯卷冊,需使用與在單獨節點上建立鏡像 LVM 邏輯卷冊相同的指令和程序。然而,若要在叢集中建立鏡像 LVM 卷冊,該叢集和叢集鏡像架構必須要執行,叢集必須要 quorate,並且
lvm.conf
檔案中的鎖定類型並需正確設定,以允許直接或透過 lvmconf
指令啟用叢集鎖定(如 節 3.1, “在叢集中建立 LVM 卷冊” 中所描述)。
下列程序將在叢集中建立鏡像邏輯卷冊。首先,程序會先查看叢集服務是否已安裝並在執行,接著程序便會建立鏡像卷冊。
- 若要建立一個讓叢集中所有節點皆能共享的鏡像邏輯卷冊,鎖定類型必須正確設定於叢集裡各個節點上的
lvm.conf
檔案中。就預設值,鎖定類型會被設為本機。若要進行變更,請在叢集中的各個節點上執行下列指令,以啟用叢集鎖定:#
/sbin/lvmconf --enable-cluster
- 若要建立叢集化的邏輯卷冊,叢集架構必須在叢集中的各個節點上啟用並運作。下列範例驗證了
clvmd
daemon 正在啟用它的節點上運作:ps auxw | grep clvmd
root 17642 0.0 0.1 32164 1072 ? Ssl Apr06 0:00 clvmd -T20 -t 90下列指令將顯示叢集狀態的本機檢視:#
cman_tool services
fence domain member count 3 victim count 0 victim now 0 master nodeid 2 wait state none members 1 2 3 dlm lockspaces name clvmd id 0x4104eefa flags 0x00000000 change member 3 joined 1 remove 0 failed 0 seq 1,1 members 1 2 3 - 確認
cmirror
套件已安裝。 - 啟用
cmirrord
服務#
service cmirrord start
Starting cmirrord: [ OK ] - 建立鏡像。第一個步驟就是建立實體卷冊。下列指令將建立三個實體卷冊。兩個實體卷冊將使用於鏡像 leg,並且第三個實體卷冊將會包含鏡像 log。
#
pvcreate /dev/xvdb1
Physical volume "/dev/xvdb1" successfully created [root@doc-07 ~]#pvcreate /dev/xvdb2
Physical volume "/dev/xvdb2" successfully created [root@doc-07 ~]#pvcreate /dev/xvdc1
Physical volume "/dev/xvdc1" successfully created - 建立卷冊群組。此範例將建立包含了先前步驟所建立的三個實體卷冊的卷冊群組
vg001
。#
vgcreate vg001 /dev/xvdb1 /dev/xvdb2 /dev/xvdc1
Clustered volume group "vg001" successfully created請注意vgcreate
指令的輸出顯示了卷冊群組已叢集化。您可藉由vgs
指令來驗證卷冊群組是否已叢集化,這將會顯示卷冊群組的屬性。若卷冊群組已叢集化,它將會顯示 c 屬性。vgs vg001
VG #PV #LV #SN Attr VSize VFree vg001 3 0 0 wz--nc 68.97G 68.97G - 建立鏡像邏輯卷冊。此範例將由卷冊群組
vg001
建立邏輯卷冊mirrorlv
。此卷冊含有一個鏡像 leg。此範例指定了實體卷冊的哪個磁區將會被使用來作為邏輯卷冊。#
lvcreate -l 1000 -m1 vg001 -n mirrorlv /dev/xvdb1:1-1000 /dev/xvdb2:1-1000 /dev/xvdc1:0
Logical volume "mirrorlv" created您可使用lvs
指令來顯示鏡像建立的進度。下列範例顯示了鏡像已同步化 47%、91%,並且當鏡像完成後便成為 100% 同步化。#
lvs vg001/mirrorlv
LV VG Attr LSize Origin Snap% Move Log Copy% Convert mirrorlv vg001 mwi-a- 3.91G vg001_mlog 47.00 [root@doc-07 log]#lvs vg001/mirrorlv
LV VG Attr LSize Origin Snap% Move Log Copy% Convert mirrorlv vg001 mwi-a- 3.91G vg001_mlog 91.00 [root@doc-07 ~]#lvs vg001/mirrorlv
LV VG Attr LSize Origin Snap% Move Log Copy% Convert mirrorlv vg001 mwi-a- 3.91G vg001_mlog 100.00鏡像的完成會記載於系統日誌中:May 10 14:52:52 doc-07 [19402]: Monitoring mirror device vg001-mirrorlv for events May 10 14:55:00 doc-07 lvm[19402]: vg001-mirrorlv is now in-sync
- 您可搭配使用
lvs
與-o +devices
選項來顯示鏡像的配置,包括構成鏡像 leg 的裝置有哪些。您可看見此範例中的邏輯卷冊是以兩個線性映像和一個 log 所組成的。#
lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Convert Devices mirrorlv vg001 mwi-a- 3.91G mirrorlv_mlog 100.00 mirrorlv_mimage_0(0),mirrorlv_mimage_1(0) [mirrorlv_mimage_0] vg001 iwi-ao 3.91G /dev/xvdb1(1) [mirrorlv_mimage_1] vg001 iwi-ao 3.91G /dev/xvdb2(1) [mirrorlv_mlog] vg001 lwi-ao 4.00M /dev/xvdc1(0)您可使用lvs
指令的seg_pe_ranges
選項來顯示資料配置。您可使用此選項來驗證您的配置是否有正確冗餘。這項指令的輸出會顯示 PE 範圍,並且格式與lvcreate
和lvresize
指令的輸入相同。#
lvs -a -o +seg_pe_ranges --segments
PE Ranges mirrorlv_mimage_0:0-999 mirrorlv_mimage_1:0-999 /dev/xvdb1:1-1000 /dev/xvdb2:1-1000 /dev/xvdc1:0-0
注意
欲取得由失效的 LVM 鏡像卷冊之 leg 進行復原的相關資訊,請參閱 節 6.3, “由 LVM 鏡像錯誤中復原”。