Как перенести установленную систему Proxmox VE с текущего диска на другой, меньшего объёма, сохранив настройки и виртуальные машины?

Установил Proxmox на 1 ТБ диск — система формально занимает весь диск, хотя фактически используется ≈40 ГБ. Купил NVMe 500 ГБ и хочу перенести систему на него. Как безопасно уменьшить раздел/том/файловую систему (LVM/разделы) и выполнить миграцию на NVMe без переустановки?
  • 21 июня 2026 г. 20:02
Ответы на вопрос 5
Коротко — безопаснее и проще всего (если у вас стандартная установка Proxmox на LVM) не «уменьшать PV» и не резать PV/VG, а добавить новый NVMe в тот же VG и перенести (pvmove) все extents на него, затем удалить старый PV и установить загрузчик на NVMe. Это не требует shrink-операций файловых систем и гораздо надёжнее. Однако перед началом — полная резервная копия обязательна (vzdump всех ВМ, копия /etc/pve и конфигов).

Ниже — пошаговая инструкция + варианты/предупреждения. Прочитайте и, если хотите, пришлите выводы команд (lsblk, pvs, vgs, lvs, mount | grep /boot) — подскажу точные команды для вашей системы.

1) Резервная копия (обязательна)
- Сделайте vzdump всех ВМ: vzdump <vmid> --mode suspend/stop/full и сохраните на внешний диск/сеть.
- Скопируйте /etc/pve, /etc/network/interfaces, /etc/hosts, /root и т.п.
- Убедитесь, что у вас рабочая резервная копия и её можно восстановить.

2) Посмотреть текущую схему дисков и LVM
- lsblk -f
- pvs -o+pv_used
- vgs
- lvs
- fdisk -l (или parted -l)
- mount | grep /boot
Это покажет: где PV (обычно /dev/sda2), где /boot, EFI/BIOS и т.д.

3) Убедиться, что занятого места в VG меньше размера нового NVMe
- vgs покажет VSize и VFree; используемое (VG used) должно быть <500 ГБ.
Если занято больше, сначала уменьшите/перенесите данные/удалите ненужные LVs/снэпшоты.

4) Подготовить NVMe и добавить в VG
- Разметьте NVMe: можно сделать GPT и одну партицию для LVM (типа 8e), либо использовать весь диск как PV. Рекомендую создать партицию:
  parted /dev/nvme0n1 mklabel gpt
  parted -a optimal /dev/nvme0n1 mkpart primary 1MiB 100%
  (если UEFI нужен — нужно создать также EFI-партицию ~512M FAT32)
- pvcreate /dev/nvme0n1p1
- vgextend <VG_NAME> /dev/nvme0n1p1
(подставьте имя VG, оно обычно pve)

5) Перенести данные с старого PV на NVMe
- pvmove /dev/sda2 /dev/nvme0n1p1
  или pvmove /dev/sda2   (если в VG есть только 2 PV и новый — единственный другой)
pvmove осторожно переносит extents; процесс может занять время в зависимости от объёма.

6) Убрать старый PV из VG и очистить
- vgreduce <VG_NAME> /dev/sda2
- pvremove /dev/sda2
Теперь LVM-тома физически находятся на NVMe.

7) Сделать загрузочный NVMe (важно)
Вариант A — если /boot находится на отдельной партиции на старом диске:
- Создайте на NVMe партицию для /boot (например ~512M ext4), mkfs.ext4, смонтируйте, rsync -a /boot/ /mnt/newboot/
- Обновите /etc/fstab (UUID новой /boot) — получите UUID через blkid
- Установите загрузчик:
  - BIOS (legacy): grub-install /dev/nvme0n1; update-grub
  - UEFI: создайте EFI-партицию FAT32 (~512M), смонтируйте в /mnt/newboot/boot/efi, установите grub-efi (grub-install --target=x86_64-efi --efi-directory=/mnt/newboot/boot/efi --bootloader-id=proxmox) и update-grub.
Вариант B — если /boot уже в LVM (маловероятно, обычно /boot — отдельная партиция): нужно установить grub, обновить initramfs. В любом случае после установки загрузчика проверьте, что BIOS/UEFI может загрузиться с NVMe (может потребоваться изменить порядок загрузки).

8) Тест загрузки
- Перезагрузите сервер и выберите в BIOS/UEFI загрузку с NVMe.
- Войдите и проверьте, что все LVs, контейнеры и VMs в порядке.
- Убедитесь, что /boot и / (root) загружены с NVMe (lsblk, mount).

9) Очистка старого диска
- После успешной загрузки и проверки можно удалить разделы на старом диске и использовать его для других нужд.

Особые случаи и замечания
- Если у вас ZFS (установлен Proxmox на ZFS), алгоритм другой: нужно zpool replace /dev/sda /dev/nvme... и дождаться resilver, затем, возможно, zpool remove (зависит от конфигурации). Приведите вывод zpool status, дам советы отдельно.
- Если диск зашифрован (LUKS), сначала расшифруйте/удалите шифрование или подготовьте NVMe с LUKS, а затем pvcreate в развернутом контейнере.
- Если в /boot/efi находятся записи загрузчика — скопируйте их и установите grub-efi как описано.
- Shrink файловой системы и LVM делать только в крайнем случае и очень осторожно: сначала уменьшать FS (например resize2fs), затем lvreduce, затем уменьшать PV/partitions — это рискованно и требует полного бэкапа.

Примеры команд (замените имена устройств и VG pve, /dev/sda2 и т.д. на ваши):
- pvcreate /dev/nvme0n1p1
- vgextend pve /dev/nvme0n1p1
- pvmove /dev/sda2 /dev/nvme0n1p1
- vgreduce pve /dev/sda2
- pvremove /dev/sda2

Если хотите — пришлите вывод:
- lsblk -f
- pvs -o+pv_used
- vgs
- mount | grep /boot
и я укажу конкретные команды для вашей конфигурации и какой этап выполнить первым (особенно по части установки grub/EFI).
dd/Clonezilla поблочно не выйдет: диск размечен под 1 Тб, даже если занято 40 Гб. <br/> <br/> Нормальный путь: vzdump всех VM и LXC на внешний диск (или GUI: Datacenter → Backup), потом ставишь Proxmox свежо на NVMe, восстанавливаешь через qmrestore / pct restore. <br/> <br/> Старый диск до проверки не трогай — это rollback.
ну я делал когда то так. <br/> R drive image - снимаем образ диска <br/> В виртуалке(например вирт бокс) на такой же объем разворачиваем копию <br/> После с помощью загрузочного диска Gparted уменьшаем раздел до занятого или нужного места <br/> Снимаем еще раз копию и накатываем на нужный диск <br/> Всё <br/> <br/> Можно конечно и на живую провернуть с Gparted, только надо бы иметь копию, сохранность данных всё такое
proxmox это debian, соответственно перенос ОС это клонирование раздела (сделай загрузочный clonezilla, он умеет и копировать и уменьшать размер, выбирать disk-to-disk). Не помню, умеет ли он работать с efi биосом, нужно будет после клонирования запустить grub и обновить настройки загрузчика
перегружаешься с любого менеджера разделов. <br/> уменьшаешь раздел с 1тб до необходимого. <br/> потом копируешь. <br/> просто логично доступно. <br/> есть менеджеры которые могут копировать и менять размер <br/> главное чтобы наполнение раздела было меньше необходимого объема. <br/> <br/> можно скопировать файлы и потом восстановить загрузку на новом носителе (бут-сектор или уефи), но для этого понадобятся системные познания. <br/> бекапы и все прочее естественно подразумевается :)
Похожие вопросы