User Tools

Site Tools


Sidebar


Здравствуйте!

Меня зовут Михаил!
Я системный администратор
и наполняю эту wiki,
решая разнообразные IT-задачки.

Моя специализация - виртуализация!

Я всегда готов помочь Вам
наладить IT-инфраструктуру
за скромное вознаграждение!

mike@autosys.tk
+7 (910) 911-96-23

linux_faq:переезд-linux-а-диск-lvm-меньшего-объема-debian

Задача - переместить систему Ubuntu/Debian на диск меньшего объема.
Переезд на диск меньшего объема происходит так:
1. Подключаем оба диска к системе и загружаемся с Live CD
2. Предполагается что на старом диске у нас два раздела - первый загрузочный, второй - для LVM. Создаем на новом диске загрузочный раздел и раздел, который будет PV для LVM. Старый диск у нас /dev/sda, новый - /dev/sdb
Копируем целиком таблицу разделов:

sfdisk -d /dev/sda | sfdisk --force /dev/sdb

Удаляем второй раздел (просто тот раздел что мы скопировали со старого диска выходит за пределы носителя) и создаем его максимального размера и назначаем ему тип 8e - Linux LVM:

echo -e "\nd\n2\nn\np\n2\n\n\nt\n2\n8e\nw\nx" | fdisk /dev/sdb

Переносим загрузочный раздел с помощью dd:

dd if=/dev/sda1 of=/dev/sdb1

Создаем на /dev/sdb2 физический том LVM:

pvcreate /dev/sdb2

На всякий случай перед изменением размера файловой системы проверяем ее на наличие ошибок (у нас тут debian):

fsck -f /dev/mapper/debian-root

Уменьшаем размер файловой системы. Тут важно следить за размером. У меня новый диск - 5Gb. На нем помещаются загрузочный раздел - 255Mb и остальное - LVM. В LVM два тома - один debian-root и его размер надо уменьшить, а второй - debian-swap и у меня он 2Gb - его размер оставляем. При этом - сумма размеров этих томов не должна превышать объем диска. Лучше потом увеличить размер debian-root до максимума. У меня swap - 2Gb, корневой 255Mb, значит на новый debian-root остается 5000Mb - 2255Mb =~ 2700Mb

resize2fs /dev/mapper/debian-root 2700M

Дальше мы уменьшаем размер тома debian-root до размера, чуть большего, чем размер его файловой системы, который теперь - 2700M. Так как надо указать НА сколько мы уменьшаем, то надо узнать текущий размер с помощью команды lvdisplay:

lvresize -L-46000M /dev/mapper/debian-root

Затем мы присоединяем к группе томов debian новый диск:

vgextend debian /dev/sdb2

перемещаем данные

pvmove /dev/sda2 /dev/sdb2

При этом может оказатьтся что на новом диске не хватает места. Это будет вот такая ошибка:

Insufficient free space: 1223 extents needed, but only 1218 available
  Unable to allocate mirror extents for pvmove0.
  Failed to convert pvmove LV to mirrored

В этом случае надо еще немного уменьшить размер debian-root командой lvresize -L-20M /dev/mapper/debian-root

изымаем старый

vgreduce debian /dev/sda2

А затем можно увеличить размер файловой системы на debian-root до максимума:

resize2fs /dev/mapper/debian-root

Discussion

Enter your comment. Wiki syntax is allowed:
S K J​ E F
 
linux_faq/переезд-linux-а-диск-lvm-меньшего-объема-debian.txt · Last modified: 2016/12/26 14:23 by admin