Linux

在 MD 增長後努力增加我的物理 VDO 大小

  • June 11, 2020

我在這裡碰到了一堵磚牆vdo growPhysical -n pool。我最近用 md RAID5 陣列中的 4TB 硬碟替換了我的 3TB 硬碟,現在顯示正確的容量 (8TB) 但不允許擴展 VDO 支持。

sudo mdadm --detail /dev/md/md0輸出:

# mdadm --detail /dev/md/md0
/dev/md/md0:
          Version : 1.2
    Creation Time : Wed Mar 18 20:26:50 2020
       Raid Level : raid5
       Array Size : 7813772288 (7451.79 GiB 8001.30 GB)
    Used Dev Size : 3906886144 (3725.90 GiB 4000.65 GB)
     Raid Devices : 3
    Total Devices : 3
      Persistence : Superblock is persistent

    Intent Bitmap : Internal

      Update Time : Wed Jun 10 22:01:31 2020
            State : clean 
   Active Devices : 3
  Working Devices : 3
   Failed Devices : 0
    Spare Devices : 0

           Layout : left-symmetric
       Chunk Size : 512K

Consistency Policy : bitmap

             Name : ocelot:md0  (local to host ocelot)
             UUID : 17c8828b:5b1d7435:063a40ff:18285a8e
           Events : 42696

   Number   Major   Minor   RaidDevice State
      4       8       16        0      active sync   /dev/sdb
      5       8       32        1      active sync   /dev/sdc
      3       8       48        2      active sync   /dev/sdd

sudo vdo growPhysical -n pool --verbose輸出:

   vdodumpconfig /dev/disk/by-id/md-uuid-17c8828b:5b1d7435:063a40ff:18285a8e
   dmsetup status --target vdo pool
   dmsetup resume pool
   vdodmeventd -r pool
   dmsetup status --target vdo pool
   readlink -f /dev/disk/by-id/md-uuid-17c8828b:5b1d7435:063a40ff:18285a8e
   cat /sys/class/block/md0/size
   dmsetup table pool
   dmsetup reload pool --table '0 35161595904 vdo V2 /dev/disk/by-id/md-uuid-17c8828b:5b1d7435:063a40ff:18285a8e 1953443072 4096 32768 16380 on auto pool maxDiscard 1 ack 1 bio 4 bioRotationInterval 64 cpu 2 hash 1 logical 1 physical 1'
vdo: ERROR - Device pool could not be changed; device-mapper: reload ioctl on pool  failed: Input/output error
vdo: ERROR - device-mapper: reload ioctl on pool  failed: Input/output error

只是尋找我在哪裡出錯的跡象,如果有的話,我已經通過 CLI 和駕駛艙進行了嘗試,但都沒有產生我正在尋找的改變。此更改尚未實施嗎?

我也嘗試過停用 VDO 設備,然後在它離線時嘗試增長,但是當我這樣做時,我得到:

   dmsetup status --target vdo pool
vdo: ERROR - VDO volume pool must be running

任何幫助將不勝感激。

增加 VDO 物理設備是受支持的操作。您無法擴展它,甚至無法停止它,這可能與底層設備映射器表不同步有關。

如果是這樣,完整的設備重啟應該可以解決它。

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