Я использую виртуальную машину для симуляции.

MD1 медленно, а MD2 быстро.

Я знаю, что я делаю это кросс-VG, и если LV_Data и Lv_Cache в одном и том же VG, это работает, но это не имеет никакого смысла, кэш на одном диске (рейд)? Нет.

И я нашел это:https://bugzilla.redhat.com/show_bug.cgi?id=1503693#c0 Я не уверен, что это та же причина

Вопрос: что случилось? или что то еще для решения этой проблемы?

Вот дьявол:

    [root@localhost ~]# pvdisplay 
      --- Physical volume ---
      PV Name               /dev/md1
      VG Name               vg_1
      PV Size               <12.00 TiB / not usable 5.00 MiB
      Allocatable           yes 
      PE Size               4.00 MiB
      Total PE              3145531
      Free PE               3145531
      Allocated PE          0
      PV UUID               G1KYfG-oCfA-B2Oz-ckJH-Ozxa-Hvhq-gNzQKV

      --- Physical volume ---
      PV Name               /dev/md2
      VG Name               vg_2
      PV Size               255.87 GiB / not usable <2.94 MiB
      Allocatable           yes 
      PE Size               4.00 MiB
      Total PE              65503
      Free PE               65503
      Allocated PE          0
      PV UUID               CmBVAe-EgPh-IzGC-8ew0-x5al-4r0H-htd2Ex

    [root@localhost ~]# vgdisplay 
      --- Volume group ---
      VG Name               vg_1
      System ID             
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  12
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                0
      Open LV               0
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               <12.00 TiB
      PE Size               4.00 MiB
      Total PE              3145531
      Alloc PE / Size       0 / 0   
      Free  PE / Size       3145531 / <12.00 TiB
      VG UUID               I5eDgM-xNtS-eaCE-81l5-4tRL-YSb9-yNkbXm

      --- Volume group ---
      VG Name               vg_2
      System ID             
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  17
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                0
      Open LV               0
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               255.87 GiB
      PE Size               4.00 MiB
      Total PE              65503
      Alloc PE / Size       0 / 0   
      Free  PE / Size       65503 / 255.87 GiB
      VG UUID               l9vIDi-5yVp-0QCx-Rc9K-w7c4-WYOP-IfemFY

    [root@localhost ~]# lvcreate -L 1T -n slow /dev/vg_1
      Logical volume "slow" created.
    [root@localhost ~]# lvcreate -L 250G -n fast /dev/vg_2
      Logical volume "fast" created.
    [root@localhost ~]# lvcreate -L 250M -n meta /dev/vg_2
      Rounding up size to full physical extent 252.00 MiB
      Logical volume "meta" created.
    [root@localhost ~]# lvs
      LV   VG   Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      slow vg_1 -wi-a-----   1.00t                                                    
      fast vg_2 -wi-a----- 250.00g                                                    
      meta vg_2 -wi-a----- 252.00m 

    [root@localhost ~]# lvconvert --type cache-pool --poolmetadata vg_2/meta vg_2/fast
      Using 288.00 KiB chunk size instead of default 64.00 KiB, so cache pool has less then 1000000 chunks.
      WARNING: Converting logical volume vg_2/fast and vg_2/meta to cache pool's data and metadata volumes with metadata wiping.
      THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.)
    Do you really want to convert vg_2/fast and vg_2/meta? [y/n]: y
      Converted vg_2/fast_cdata to cache pool.

    [root@localhost ~]# lvs -a
      LV              VG   Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      slow            vg_1 -wi-a-----   1.00t                                                    
      fast            vg_2 Cwi---C--- 250.00g                                                    
      [fast_cdata]    vg_2 Cwi------- 250.00g                                                    
      [fast_cmeta]    vg_2 ewi------- 252.00m                                                    
      [lvol0_pmspare] vg_2 ewi------- 252.00m        <=========== ? ( this didn't appear in the guide )

    [root@localhost ~]# lvconvert --type cache --cachepool vg_2/fast vg_1/slow
      VG name mismatch from position arg (vg_1) and option arg (vg_2).  <=========== ? ( the error )

1 ответ1

0

В том же VG не значит на тех же дисках. Можно объединить только LV внутри группы томов.

Любой lvcreate позволяет указать физические тома, используемые для выделения пространства.

Итак, вы хотите:

  1. создать данные LV на большем, но медленном PV (/dev/md1)

    lvcreate -n data -L 2T vg /dev/md1
    
  2. создать кеш-пул на меньшем и более быстром PV (/dev/md2)

    lvcreate --type cache-pool -n cache -L 80G vg /dev/md2
    
  3. преобразовать данные LV в кеш

    lvconvert --type cache --cachepool cache vg/data
    

Или в два этапа: пропустите шаг 1 и вместо 3 используйте:

    lvcreate --type cache -L 2T --cachepool cache vg /dev/md1

Больше в man lvmcache .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .