Linux

如何在 LVM RAID 之上創建 LVM VDO 卷?

  • November 30, 2020

我使用 LVM 通過 raid5 設置我的較低級別儲存lvcreate --type raid5 --size 2T -I 256K -i 3 -n my_lv my_vg

現在我也想使用 LVM 在此之上設置 VDO。我知道這個手冊頁,但我試著lvconvert --type vdo-pool -V 20T my_vg/my_lv以沒有突襲結束。

如果我在我的 raid LV 上使用 PV 來設置 VDO 會得到一個功能齊全的 dmeventd 堆棧和 vdo 嗎?

應該有一個受 RAID 保護的 LVO 卷,但lvm在報告它時本身並不太清楚。

我嘗試使用 CentOS 8.2 機器和 RAID1 LVM 卷,vdo-pool使用以下命令將其轉換為類型:lvconvert --type vdo-pool -n VDOLV -V 1G vg_test/lv_test

如何檢查 RAID1 是否正常工作?您需要將一些附加選項傳遞給命令行。執行lvs -o +seg_type -a導致:

[root@localhost ~]# lvs -o +seg_type -a
 LV                       VG      Attr       LSize  Pool    Origin Data%  Meta%  Move Log Cpy%Sync Convert Type
 root                     system  -wi-ao---- 50.00g                                                        linear
 swap                     system  -wi-ao----  7.90g                                                        linear
 VDOLV                    vg_test vwi-a-v---  1.00g lv_test        0.00                                    vdo
 lv_test                  vg_test dwi-------  8.00g                37.62                                   vdo-pool
 [lv_test_vdata]          vg_test rwi-aor---  8.00g                                       100.00           raid1
 [lv_test_vdata_rimage_0] vg_test iwi-aor---  8.00g                                                        linear
 [lv_test_vdata_rimage_1] vg_test iwi-aor---  8.00g                                                        linear
 [lv_test_vdata_rmeta_0]  vg_test ewi-aor---  4.00m                                                        linear
 [lv_test_vdata_rmeta_1]  vg_test ewi-aor---  4.00m                                                        linear

注意raid1段類型。並dmsetup table顯示(再次,請參閱 RAIDrimage/rmeta設備):

[root@localhost ~]# dmsetup table
vg_test-lv_test_vdata_rimage_1: 0 16777216 linear 230:16 10240
vg_test-lv_test-vpool: 0 2099200 vdo V2 /dev/dm-6 2097152 4096 32768 16380 on auto vg_test-lv_test-vpool maxDiscard 1 ack 1 bio 4 bioRotationInterval 64 cpu 2 hash 1 logical 1 physical 1
vg_test-lv_test_vdata: 0 16777216 raid raid1 3 0 region_size 4096 2 253:2 253:3 253:4 253:5
vg_test-VDOLV: 0 2097152 linear 253:7 1024
vg_test-lv_test_vdata_rimage_0: 0 16777216 linear 230:0 10240
vg_test-lv_test_vdata_rmeta_1: 0 8192 linear 230:16 2048
system-swap: 0 16572416 linear 8:2 104859648
vg_test-lv_test_vdata_rmeta_0: 0 8192 linear 230:0 2048
system-root: 0 104857600 linear 8:2 2048

最後,我刪除了一個塊設備並嘗試重新導入池——它成功了(帶有關於失去設備的警告):

[root@localhost ~]# lvs -o +seg_type -a
 WARNING: Couldn't find device with uuid 8jLeqt-TRKt-IVHy-JP0g-mAta-XL2k-cXpEdF.
 WARNING: VG vg_test is missing PV 8jLeqt-TRKt-IVHy-JP0g-mAta-XL2k-cXpEdF (last written to /dev/zd16).
 LV                       VG      Attr       LSize  Pool    Origin Data%  Meta%  Move Log Cpy%Sync Convert Type
 root                     system  -wi-ao---- 50.00g                                                        linear
 swap                     system  -wi-ao----  7.90g                                                        linear
 VDOLV                    vg_test vwi-a-v-p-  1.00g lv_test        0.06                                    vdo
 lv_test                  vg_test dwi-----p-  8.00g                37.63                                   vdo-pool
 [lv_test_vdata]          vg_test rwi-aor-p-  8.00g                                       100.00           raid1
 [lv_test_vdata_rimage_0] vg_test iwi-aor---  8.00g                                                        linear
 [lv_test_vdata_rimage_1] vg_test Iwi-aor-p-  8.00g                                                        linear
 [lv_test_vdata_rmeta_0]  vg_test ewi-aor---  4.00m                                                        linear
 [lv_test_vdata_rmeta_1]  vg_test ewi-aor-p-  4.00m                                                        linear

所以,它應該工作。但是,RAID 和 VDO 是 LVM 中相對較新的補充(順便說一句,它的複雜性正在增長),在混合不同的段類型時應小心。出於這個原因,我通常使用 plainmdadm來創建軟體 RAID 陣列,並在其上分層 LVM。

如果您願意,lvs -o +seg_type -a請在創建 RAID 和 VDO 卷後發布讓我(和其他人)檢查您的 LVM 設置的輸出。無論如何,在將任何有價值的數據放入您的捲之前,請務必三重檢查您的 RAID 設置。

引用自:https://serverfault.com/questions/1044397