![клонировать полный сервер XEN LVM, включая все виртуальные машины](https://rvso.com/image/169444/%D0%BA%D0%BB%D0%BE%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BF%D0%BE%D0%BB%D0%BD%D1%8B%D0%B9%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20XEN%20LVM%2C%20%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D1%8F%20%D0%B2%D1%81%D0%B5%20%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5%20%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D1%8B.png)
Я заказал более быстрый корневой сервер Hetzner, чтобы перенести туда свою машину XEN со всеми группами томов, томами lvm и виртуальными машинами.
Я уже начал создавать там те же виртуальные машины Xen, копировать файлы конфигурации и пользовательские данные и устанавливать те же пакеты, что и в старых виртуальных машинах, но этомного работы.
Есть ли на самом деле простой способкопия всена базовом корневом уровне, включаявсе разделы на рейде 1, чтобы я получил точную копию своего старого сервера?
Тогда мне нужно будет только адаптировать IP-адреса из корневой консоли, и все будет готово.
решение1
xenA: Ваш предыдущий сервер
xenB: Ваш новый сервер
Шаг 1: Загрузите оба сервера с помощью live-дистрибутива Linux (Ubuntu, Fedaora, CentOS)
Шаг 2: Запустите службу SSH на новом сервере.
Шаг 3: В xenA выполните команду ниже
dd if=/dev/sdX bs=16M | pv | ssh user@xenB dd of=/dev/sdX
Где X представляет локальные диски, подключенные к серверам. Вы можете найти их с помощью команды "lsblk".
Примечание: pv используется для мониторинга данных.
Шаг 4: Измените IP-адрес и все другие измененные параметры.
При использовании этого метода вам не нужно беспокоиться о разделах, томах lvm и файловой системе, описанной выше.
Надеюсь, этот метод поможет вам решить ваш вопрос.
1. Шаг: Загрузите Boot в одиночный режим, изменив параметр загрузки: "vga=785 splash" на linux single. Вы можете найти скриншоты по ссылке ниже.
- Шаг: Запустите сетевую службу на своем хосте в однопользовательском режиме и перенесите точное блочное устройство на другую машину.
dd if=/dev/sda bs=16M | ssh user@backuphost dd of=backup.img
Подробную информацию о сжатии вы можете найти ниже:
Что ж, есть несколько методов достижения этой цели.
- дд и неткатВНИМАНИЕ: Этот метод раскрывает ваши данные о потреблении времени в интернет-торговле.
Если вы можете загрузить систему с помощью однопользовательского или другого живого образа, вы можете использовать метод dd для создания точной копии вашего сервера. Обязательно остановите все службы и виртуальные машины, чтобы обеспечить целостность данных:
- Подготовьте резервный хост, выполнив команду ниже (используйте screen или tmux или заставьте команду перейти в фоновый режим, если вы работаете с удаленным резервным хостом, чтобы избежать тайм-аутов ssh)
nc -l RANDOMPORTNUMBER|bzip2 -d|dd bs=16M of=backup.img
- На хосте виртуальной машины вы можете выполнить команду ниже, чтобы клонировать ваш точный хост.
dd bs=16M if=/dev/sda|bzip2 -c|nc ipaddressofbackuphost RANDOMPORTNUMBER
- тар и sshЛично я предпочитаю этот метод для резервного копирования моих удаленных машин, когда это необходимо. Этот метод не выставляет ваши данные напрямую в публичную сеть, поскольку использует ssh.
Еще одна причина, по которой я предпочитаю этот метод, заключается в том, что резервное копирование будет выполняться на уровне файлов, пустые пространства и блочные устройства, которые не нужно копировать, исключаются, что экономит память и трафик. Поскольку вы заявили, что вам нужен точный клон, мне пришлось рассказать о первом методе.
Пожалуйста, не забудьте изменить исключенные точки монтирования в соответствии с вашим дистрибутивом и приложением. Вам следует учитывать это, если вы платите за объем хранилища и трафика.
cd / # THIS CD IS IMPORTANT THE FOLLOWING LONG COMMAND IS RUN FROM /
tar -cvpzf backup.tar.gz \
--exclude=/backup.tar.gz \
--exclude=/proc \
--exclude=/tmp \
--exclude=/mnt \
--exclude=/dev \
--exclude=/sys \
--exclude=/run \
--exclude=/media \
--exclude=/var/log \
--exclude=/var/cache/apt/archives \
--exclude=/usr/src/linux-headers* \
--exclude=/home/*/.gvfs \
--exclude=/home/*/.cache \
--exclude=/home/*/.local/share/Trash / | ssh <backuphost> "( cat > ssh_backup.tar.gz )"
Более подробную информацию по теме можно найти здесь:
- https://help.ubuntu.com/community/BackupYourSystem/TAR#Резервное копирование_по_сети
- https://www.ndchost.com/wiki/server-administration/netcat-over-ssh