Как я могу переустановить работающий производственный сервер с минимальным временем простоя?

Мне нужно переустановить Ubuntu Server, работающий на VMWare VPS. Самым простым способом, конечно, было бы сделать новую установку из мини ISO. Но это рабочий сервер, и я не могу позволить себе час или больше простоя. Возможно ли переустановить практически без простоев (скажем, 15 минут или около того)?

Другими словами, я ищу способ обновить версию ОС на работающем Ubuntu Server без заметного простоя. Я перенесу все настройки и данные вручную.

Факты о сервере:

  • Ubuntu Server 10.04.2 LTS amd64
  • VMWare VPS с консольным доступом (я могу смонтировать локальный образ ISO)
  • Одиночный привод:
    • /boot, 92 МБ на sda1 @ext4
    • /1,5 ГБ на LVM root @ext4
    • /srv, 19 ГБ на LVM data @ext4
    • своп на LVM swap

У меня нет опыта работы с инструментами файловой системы Linux (chroot и тому подобное) пока нет. Тем не менее, я предполагаю, что план действий, подобный следующему, может сработать (host является целевой машиной VPS, upgrade это новая ОС):

  1. Установить обновление ОС

    Установите новый сервер Ubuntu на локальный виртуальный ящик.

  2. Услуги трансфера и настройки

    Перенос сервисов и настроек с текущей ОС на обновление ОС. Я держу конфиг как можно более портативным и использую etckeeper отслеживать изменения конфигурации.

  3. Скопируйте обновление файловой системы ОС на хост

    Я планирую использовать rsync скопировать обновление файловой системы ОС на хост. Но где разместить его на хосте? Я думал о:

    • отдельный раздел; Мне нужно уменьшить LVM data на хосте и подготовьте новый раздел для обновления файловой системы ОС.

    • изображение файла; Я бы создал изображение файла на хосте /srv раздел, смонтировать его на хосте (пока не знаю как) и скопировать в него обновленную файловую систему ОС.

    • папка; Я бы перенес зеркало в папку на хосте /srv раздел. Это будет лучший вариант ИМО, если это вообще возможно.

  4. Заменить текущую ОС обновлением файловой системы ОС

    Я знаю, это зависит от того, куда было передано зеркало. В любом случае должна быть возможность сначала переключиться, чтобы проверить его работоспособность, а затем заменить файловые системы. Я могу позволить себе перезагрузить компьютер и использовать консоль восстановления или загрузочную мини ISO для этого.

Шаги 3 и 4 являются основными вопросительными знаками, по которым мне нужны инструкции. Если вы можете посоветовать изменения моего "плана" или другой подход, пожалуйста, продолжайте. Ссылка на инструкции или документацию приветствуется.

Изменить: Как предложено, я бы пошел с машиной клона, если у меня нет другого решения.

1 ответ

Я не знаю, каковы ваши коммерческие отношения с вашим провайдером VPS, но если бы это была моя среда VMWare, я бы просто клонировал текущую производственную виртуальную машину, перенес бы клон с соседним IP-адресом, применил изменения / обновления, переместил бы все, что С момента клонирования изменилось с производства, затем протестируйте обновленный клон, когда будете довольны переключением IP-адресов и, в конечном итоге, уничтожением исходной виртуальной машины.

Другие вопросы по тегам