клонировать полный сервер XEN LVM, включая все виртуальные машины

клонировать полный сервер XEN LVM, включая все виртуальные машины

Я заказал более быстрый корневой сервер 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. Вы можете найти скриншоты по ссылке ниже.

https://support.citrix.com/article/CTX116019#Сброс%20Пароля%20в%20XenServer%20Версиях%205.0%20и%20Позже

  1. Шаг: Запустите сетевую службу на своем хосте в однопользовательском режиме и перенесите точное блочное устройство на другую машину.
 dd if=/dev/sda bs=16M |  ssh user@backuphost dd of=backup.img 

Подробную информацию о сжатии вы можете найти ниже:

Что ж, есть несколько методов достижения этой цели.

  1. дд и неткатВНИМАНИЕ: Этот метод раскрывает ваши данные о потреблении времени в интернет-торговле.

Если вы можете загрузить систему с помощью однопользовательского или другого живого образа, вы можете использовать метод 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
  1. тар и 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 )"

Более подробную информацию по теме можно найти здесь:

Связанный контент