Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
4.4.13.5. 修改既有 RAID1 裝置中的映像檔數量
您能如在先前的 LVM 鏡射實作中一般,更改既有 RAID1 陣列中的映像檔數量,您必須藉由使用
lvconvert
指令來指定額外欲新增或移除的 metadata/data 子卷冊配對。欲取得在較早的 LVM 鏡射實作中修改卷冊配置上的相關資訊,請參閱 節 4.4.3.4, “更改鏡像卷冊配置”。
當您透過
lvconvert
指令來新增映像檔至 RAID1 裝置時,您可指定最終產生之裝置的映像檔總數,或是指定欲新增至該裝置的映像檔數量。您亦可選用性地指定欲在哪個實體裝置上放置新的 metadata/data 映像檔配對。
Metadata 子卷冊(名為
*_rmeta_*
)總是會位於與其資料子卷冊配對(*_rimage_*
)相同的實體裝置上。Metadata/data 子卷冊配對將不會如同其它 RAID 陣列中的 metadata/data 子卷冊一般,建立在相同的實體卷冊上(除非您指定 --alloc anywhere
)。
新增映像檔至 RAID1 卷冊的指令格式如下:
lvconvert -m new_absolute_count vg/lv [removable_PVs] lvconvert -m +num_additional_images vg/lv [removable_PVs]
比方說,以下顯示了一個雙向 RAID1 陣列的 LVM 裝置
my_vg/my_lv
:
# lvs -a -o name,copy_percent,devices my_vg
LV Copy% Devices
my_lv 6.25 my_lv_rimage_0(0),my_lv_rimage_1(0)
[my_lv_rimage_0] /dev/sde1(0)
[my_lv_rimage_1] /dev/sdf1(1)
[my_lv_rmeta_0] /dev/sde1(256)
[my_lv_rmeta_1] /dev/sdf1(0)
下列指令會將雙向的 RAID1 裝置轉換為
my_vg/my_lv
一個三向的 RAID1 裝置:
#lvconvert -m 2 my_vg/my_lv
#lvs -a -o name,copy_percent,devices my_vg
LV Copy% Devices my_lv 6.25 my_lv_rimage_0(0),my_lv_rimage_1(0),my_lv_rimage_2(0) [my_lv_rimage_0] /dev/sde1(0) [my_lv_rimage_1] /dev/sdf1(1) [my_lv_rimage_2] /dev/sdg1(1) [my_lv_rmeta_0] /dev/sde1(256) [my_lv_rmeta_1] /dev/sdf1(0) [my_lv_rmeta_2] /dev/sdg1(0)
當您新增了一個映像檔至 RAID1 陣列時,您可為映像檔指定實體卷冊。下列指令會將雙向 RAID1 裝置
my_vg/my_lv
轉換為一個三向的 RAID1 裝置,並指定陣列將使用實體卷冊 /dev/sdd1
:
#lvs -a -o name,copy_percent,devices my_vg
LV Copy% Devices my_lv 56.00 my_lv_rimage_0(0),my_lv_rimage_1(0) [my_lv_rimage_0] /dev/sda1(1) [my_lv_rimage_1] /dev/sdb1(1) [my_lv_rmeta_0] /dev/sda1(0) [my_lv_rmeta_1] /dev/sdb1(0) #lvconvert -m 2 my_vg/my_lv /dev/sdd1
#lvs -a -o name,copy_percent,devices my_vg
LV Copy% Devices my_lv 28.00 my_lv_rimage_0(0),my_lv_rimage_1(0),my_lv_rimage_2(0) [my_lv_rimage_0] /dev/sda1(1) [my_lv_rimage_1] /dev/sdb1(1) [my_lv_rimage_2] /dev/sdd1(1) [my_lv_rmeta_0] /dev/sda1(0) [my_lv_rmeta_1] /dev/sdb1(0) [my_lv_rmeta_2] /dev/sdd1(0)
若要由 RAID1 陣列中移除映像檔,請使用下列指令。當您透過
lvconvert
指令,由 RAID1 裝置移除映像檔時,您可為最終產生的裝置指定映像檔總數,或是指定欲由裝置上移除多少映像檔。您亦可選用性的指定欲由哪些實體卷冊移除裝置。
lvconvert -m new_absolute_count vg/lv [removable_PVs] lvconvert -m -num_fewer_images vg/lv [removable_PVs]
此外,當有個與 metadata 子卷冊相聯的映像檔被移除時,任何編號較高的映像檔皆會被往下移,以填入空位。若您由一個包含了
lv_rimage_0
、lv_rimage_1
和 lv_rimage_2
的三向 RAID1 陣列中移除了 lv_rimage_1
,這將會產生一個包含 lv_rimage_0
和 lv_rimage_1
的 RAID1 陣列。子卷冊 lv_rimage_2
將會被重新命名,並置於空位中成為 lv_rimage_1
。
下列範例顯示了一個三向 RAID 1 邏輯卷冊
my_vg/my_lv
的格式。
# lvs -a -o name,copy_percent,devices my_vg
LV Copy% Devices
my_lv 100.00 my_lv_rimage_0(0),my_lv_rimage_1(0),my_lv_rimage_2(0)
[my_lv_rimage_0] /dev/sde1(1)
[my_lv_rimage_1] /dev/sdf1(1)
[my_lv_rimage_2] /dev/sdg1(1)
[my_lv_rmeta_0] /dev/sde1(0)
[my_lv_rmeta_1] /dev/sdf1(0)
[my_lv_rmeta_2] /dev/sdg1(0)
下列指令會將三向的 RAID1 邏輯卷冊轉換為一個雙向的 RAID1 邏輯卷冊。
#lvconvert -m1 my_vg/my_lv
#lvs -a -o name,copy_percent,devices my_vg
LV Copy% Devices my_lv 100.00 my_lv_rimage_0(0),my_lv_rimage_1(0) [my_lv_rimage_0] /dev/sde1(1) [my_lv_rimage_1] /dev/sdf1(1) [my_lv_rmeta_0] /dev/sde1(0) [my_lv_rmeta_1] /dev/sdf1(0)
下列指令會將三向的 RAID1 邏輯卷冊轉換為一個雙向的 RAID1 邏輯卷冊,並將包含了欲移除之映像檔的實體卷冊指定為
/dev/sde1
。
#lvconvert -m1 my_vg/my_lv /dev/sde1
#lvs -a -o name,copy_percent,devices my_vg
LV Copy% Devices my_lv 100.00 my_lv_rimage_0(0),my_lv_rimage_1(0) [my_lv_rimage_0] /dev/sdf1(1) [my_lv_rimage_1] /dev/sdg1(1) [my_lv_rmeta_0] /dev/sdf1(0) [my_lv_rmeta_1] /dev/sdg1(0)