Назад | Перейти на главную страницу

Могу ли я выполнить lvreduce после lvextend без потери раздела ext4 внутри него?

В неудачной попытке переместить корневой раздел с одного диска на другой я сделал следующее:


Теперь я хотел бы отменить lvextend, а затем продолжить исходный план по перемещению содержимого старого физического тома на новый физический том. Могу ли я уменьшить логический том (я еще не касался раздела ext4, который находится в / dev / mapper / myvg-root, с помощью чего-то вроде resizefs), не опасаясь повредить файловую систему ext4? Если да, то как мне сказать, чтобы он уменьшился на нужную величину?

$ lvreduce --by-exactly-the-amount-occupied-by-PV /ev/sdb3 /dev/mapper/myvg-root

Подводя итог, в настоящее время существует файловая система ext4 (корень) внутри логического тома (myvg-root), который находится в группе томов (myvg), состоящей из двух физических томов (один из которых является недавно добавленным sdb3).

Вы можете проверить сопоставление логических экстентов с физическими с помощью lvdisplay

$ lvdisplay -m
  --- Logical volume ---
LV Name                /dev/myvg/root
VG Name                pfeifer
LV UUID                2LeFq8-zz3y-Y62m-931D-mD3m-XmK1-6Zp3Ir
LV Write Access        read/write
LV Status              available
# open                 1
LV Size                3.62 TiB
Current LE             947851
Segments               2
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           251:0

--- Segments ---
Logical extent 0 to 470980:
  Type              linear
  Physical volume   /dev/sda3
  Physical extents  0 to 470980

Logical extent 470981 to 947850:
  Type              linear
  Physical volume   /dev/sdb3
  Physical extents  0 to 476869

Вы можете просто уменьшить размер этого логического тома с помощью lvreduce

$ lvreduce -l -476870 /dev/myvg/root
  WARNING: Reducing active and open logical volume to 1.80 TiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce root? [y/n]: y
  Reducing logical volume root to 1.80 TiB
  Logical volume root successfully resized

Обратите внимание на то, как количество логических экстентов на sdb3, которое нужно уменьшить, составляет 476869 + 1 (отсчет начинается с 0!). Вот и все. Теперь быстрая проверка, похоже, подтверждает первоначальный мировой порядок:

  --- Segments ---
  Logical extent 0 to 470980:
    Type                    linear
    Physical volume         /dev/sda3
    Physical extents        0 to 470980

Теперь медленная и утомительная команда pvmove должна разрешить перемещение данных:

nohup pvmove -n /dev/myvg/root /dev/sda3 /dev/sdb3 &