wiki:technical:proxmox:openvz_kvm
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
wiki:technical:proxmox:openvz_kvm [2024/09/14 15:29] – Diman | wiki:technical:proxmox:openvz_kvm [2025/02/03 00:13] (текущий) – [Миграция] Diman | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Миграция из контейнера (openvz, lxc) в KVM ====== | ====== Миграция из контейнера (openvz, lxc) в KVM ====== | ||
+ | ===== Подготовка к миграции ===== | ||
+ | На целевом сервере следует создать виртуалку со схожими с контейнером параметрами и загрузиться в linux live CD (GRML). Размечаем диск одним разделом и создаем на нем файловую систему (рекомендуется **ext3**). Также | ||
+ | |||
+ | ===== Миграция ===== | ||
<code bash> | <code bash> | ||
+ | # Монтируем диск на сервере с KVM | ||
mount /dev/sda1 /mnt | mount /dev/sda1 /mnt | ||
+ | # Копируем данные из источника (с ноды openvz или из другого контейнера) | ||
rsync -aAX --info=progress2 root@ovz_node:/ | rsync -aAX --info=progress2 root@ovz_node:/ | ||
- | mount /dev/sda1 /mnt | + | |
+ | # После завершения копирования монтируем все, что требуется для работы | ||
+ | # и переходим в гостевую ОС системы | ||
+ | # | ||
mount --bind /proc /mnt/proc | mount --bind /proc /mnt/proc | ||
mount --bind /dev /mnt/dev | mount --bind /dev /mnt/dev | ||
Строка 14: | Строка 23: | ||
chroot /mnt bash | chroot /mnt bash | ||
+ | # Заменяем fstab | ||
echo '/ | echo '/ | ||
- | # resov.conf | + | |
+ | # resolv.conf | ||
+ | # | ||
rm / | rm / | ||
echo ' | echo ' | ||
- | # ubuntu | + | # |
- | # ubuntu 20.04 | + | # Установка ядра - ищем самое свежее |
+ | # Для некоторых ОС ниже см. рабочие примеры установки ядра | ||
+ | # | ||
+ | |||
+ | # ubuntu | ||
+ | # Ставим свежее ядро | ||
+ | |||
+ | apt install -y linux-image-generic linux-headers-generic | ||
+ | |||
+ | # Можно поискать требуемое ядро | ||
apt search linux-image | grep generic | grep -v unsigned | apt search linux-image | grep generic | grep -v unsigned | ||
+ | |||
+ | # И установить именно его | ||
+ | # ubuntu 22.04 | ||
+ | apt install -y linux-image-6.8.0-40-generic linux-headers-generic | ||
+ | |||
+ | # ubuntu 20.04 | ||
apt install -y linux-image-5.4.0-99-generic linux-headers-generic | apt install -y linux-image-5.4.0-99-generic linux-headers-generic | ||
+ | |||
+ | # debian 10,11,12 | ||
+ | |||
+ | apt install -y linux-image-amd64 linux-headers-amd64 grub2 | ||
# debian 11 | # debian 11 | ||
Строка 28: | Строка 59: | ||
apt install -y linux-image-5.10.0-31-amd64 linux-headers-5.10.0-31-amd64 grub2 | apt install -y linux-image-5.10.0-31-amd64 linux-headers-5.10.0-31-amd64 grub2 | ||
+ | # Исправление GRUB | ||
vi / | vi / | ||
Строка 33: | Строка 65: | ||
GRUB_CMDLINE_LINUX=" | GRUB_CMDLINE_LINUX=" | ||
- | vi / | + | ### |
- | eth0 | + | # конфигурируем сеть. у меня виртуалка получает IP по |
+ | ## | ||
echo '### https:// | echo '### https:// | ||
Строка 47: | Строка 80: | ||
update-initramfs -u | update-initramfs -u | ||
+ | |||
+ | </ | ||
+ | |||
+ | в непонятных случаях помогает скрипт в кроне: | ||
+ | <code bash> | ||
+ | |||
+ | #!/bin/bash | ||
+ | |||
+ | iptables -F | ||
+ | iptables -X | ||
+ | iptables -P INPUT ACCEPT | ||
+ | iptables -P OUTPUT ACCEPT | ||
+ | ifconfig eth0 inet 91.194.3.25 | ||
+ | ip r a default via 91.194.3.126 dev eth0 | ||
+ | systemctl > / | ||
+ | service ssh restart | ||
+ | </ | ||
+ | |||
+ | ===== Особенности переноса данных на выделенные серверы ===== | ||
+ | При переносе данных с виртуальных машин и выделенных серверов на выделенные серверы следует до начала переноса создать разметку на дисках целевого сервера, | ||
+ | ==== Копирование данных ==== | ||
+ | |||
+ | <code bash> | ||
+ | # | ||
+ | # Исключение лишних директорий и файлов при копировании. | ||
+ | # | ||
+ | |||
+ | rsync -aAX --info=progress2 --exclude={' | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Установка загрузчика, | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | mount /dev/sdXY /mnt | ||
+ | mount /dev/sdXX / | ||
+ | |||
+ | for i in /dev /dev/pts /proc /sys /run; do mount -B $i /mnt$i; done | ||
+ | |||
+ | chroot / | ||
+ | |||
+ | grub-install /dev/sdX | ||
+ | update-grub | ||
+ | exit | ||
+ | |||
+ | # EFI | ||
+ | mount -t efivarfs none / | ||
+ | |||
</ | </ |
wiki/technical/proxmox/openvz_kvm.1726316980.txt.gz · Последнее изменение: 2024/09/14 15:29 — Diman