Назад | Перейти на главную страницу

Как удаленно установить Linux через SSH?

Мне нужно удаленно установить Ubuntu Server 10.04 (x86) на сервере, на котором в настоящее время работает RHEL 3.4 (x86). Мне придется быть очень осторожным, потому что никто не сможет нажать кнопку перезапуска, если что-то пойдет не так.

Вы когда-нибудь устанавливали Linux удаленно? Какой способ порекомендуете? Есть какой-нибудь совет, на что нужно обратить внимание?


Обновить:

Спасибо за вашу помощь. Я сумел "поменять шины во время движения"!

Основные компоненты моего метода взяты из HOWTO - Установка Debian на удаленную систему Linux, grub legacy: однократная загрузка, одиночная загрузка grub и перезагрузка ядра , и Документация сообщества Ubuntu: InstallationFromKnoppix

Вот схема того, что я сделал:

  1. Запустите debootstrap на существующий Сервер Ubuntu
  2. Перенести файлы в замена раздел сервера RHEL 3.4
  3. Загрузитесь в раздел подкачки (система debootstrap)
  4. Перенесите файлы в исходный корневой раздел
  5. Загрузитесь в новую систему Ubuntu и завершите установку с помощью tasksel, apt-get и т. Д.

Я протестировал метод на виртуальной машине, а затем применил его к серверу. Мне повезло, что все прошло гладко :)

Лучшая практика для удаленной установки любой ОС - это покупка серверного оборудования с внешним управлением (HP ilo, Dell drac), которое позволяет удаленно включать и выключать и видеть консоль сервера. Даже не пытайся иначе.

Я согласен с мнением других ответов здесь: Хотя это может возможно установить Ubuntu удаленно на RHEL 3.4, вы, вероятно, будете наступать на некоторые очень тонкий лед.

Я думаю, что самая большая проблема, с которой вы можете столкнуться, - это возраст ядра и libc в существующей системе. Это ядро ​​серии 2.4.x? Если это так, я не уверен, что вы сможете это сделать, потому что в какой-то момент во время установки вам нужно будет запустить инструменты, которые были скомпилированы для работы в ядре Ubuntu и libc, и они могут работать неправильно. (или вообще) в более старой среде выполнения. Если вы не используете ядро ​​серии 2.6.x на удаленном сервере, я не думаю, что у вас много шансов на успех.

Если вы все еще думаете, что можете попробовать это, есть несколько руководств, о которых я знаю:

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

Установить новый дистрибутив на место можно, но это очень сложно. Это то, что вы почти наверняка будете НЕ получить право с первого раза. На самом деле, вам повезет, если вы сделаете это правильно в третий или четвертый раз.

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

Тем не менее, вот как я бы сделал что-то подобное, если бы мне пришлось:

  • Получите машину, настроенную как можно более похожую на существующую: жесткие диски, сетевые карты, дисковые адаптеры, RAM, вы называете это.
  • Настройте этот компьютер, чтобы имитировать текущую настройку на этом хосте.
  • Поэкспериментируйте с тем, что вам нужно делать в этой тестовой системе.
  • Делайте на нем подробные записи, чтобы вы могли воспроизвести его на «живой» системе.
  • Просмотрите эти примечания еще раз в тестовой системе перед окончательной миграцией.

Некоторые методы, которые могут вам помочь:

  • Решите, хотите ли вы выполнить установку в новый раздел или попробуйте выполнить установку поверх существующей файловой системы. Если вы создаете новый раздел, вы всегда можете вернуться, загрузив старый раздел. Однако это, вероятно, означает, что вам нужно сжать текущую файловую систему, что должно быть сделано в автономном режиме. Я написал несколько заметок еще в 2007 году, когда делал это.
  • Возможно, вы сможете выполнить установку в небольшой раздел на тестовой машине, а затем внести соответствующие изменения, такие как IP-адреса и «dd» этого образа файловой системы, чтобы использовать их для заполнения базовой установки на новом разделе. Это было бы только в том случае, если бы вы использовали отдельный раздел для новой установки.
  • Вместо этого вы можете поместить корневую файловую систему в подкаталог, а затем сделать что-нибудь в initrd, чтобы она была: «cd / target; mv * oldroot; mv oldroot / newos / *.» чтобы переместить все старые каталоги с места и разместить новые. Это должно быть сделано до того, как initrd выполнит «pivotroot», возможно, сразу после монтирования файловой системы.
  • Добавление кода в сценарии initrd может позволить вам делать множество замечательных вещей во время загрузки системы. См. Сообщение в блоге, на которое я ссылаюсь выше, для получения более подробной информации.
  • Ожидайте, что у вас ничего не получится. Это чрезвычайно рискованное предприятие. Когда я изменил размер своей файловой системы (упомянутый выше), я был шокирован, когда она правильно перезагрузилась.
  • Вам нужно будет решить, что вы хотите делать с загрузочными секторами, работает ли он с LILO или GRUB? Вы хотите попробовать остаться с текущим загрузчиком или переключиться на 10.04? Вероятно, идеальным вариантом было бы использовать существующий загрузчик для загрузки в новую ОС, а затем запустить «grub-install» из этой ОС, чтобы установить новую.

Удачи! Вам это понадобится. :-)

Пишу простое решение на основе preseed.

https://github.com/mhf-ir/ubuntu-overssh-reinstallation

Вам нужна установленная версия ubuntu с ssh. еще один http-сервер для обслуживания файла preseed. Я столько раз тестировал во многих центрах обработки данных.

Если у вас есть ubuntu, вы можете переустановить и переразбить по ssh без KVM / IPMI / VNC или любого удаленного приложения. просто используя ssh. И чистая установка с использованием netiso / miniiso сервера ubuntu.

Это основано на загрузчик изображений grub загрузите свой собственный iso-файл, содержащий ваши сетевые настройки и пароль ssh.

Если у вас есть другой раздел, вы можете использовать этот раздел для установки на виртуальную машину, которая видит весь диск. Пока вы не монтируете один и тот же раздел на виртуальной машине и на хосте или играете с таблицей разделов, вы в безопасности. Другой способ - загрузиться по сети и выполнить установку с помощью preseed или kickstart. Поэкспериментируйте с локальной средой, прежде чем играть удаленно.

  1. Удачи.

  2. Это возможно выполнимо при некоторых обстоятельствах (которые могут не относиться здесь / к вам).

  3. Это трудно; Я рекомендую вам потренироваться на локальной (при необходимости виртуальной) машине. Много.

Если вы можете получить только одно посещение сервера, вы можете добавить в систему порт KVM over IP. Я нашел $ 310 Lantronix Spider 1-портовый в CDW это делает. Это не помогает с «кнопкой перезагрузки» или с извлечением носителя, хотя вы можете войти в BIOS при перезагрузке и изменить порядок загрузки, чтобы CD игнорировался.

Я делал это раньше, в качестве теста. Но я бы не рекомендовал это делать, если нет запасного плана.

Оказывается, системы достаточно надежны, если все необходимые приложения уже загружены. Я успешно запустил dd и перезаписал первые 8 ГБ целевого сервера с установкой Ubuntu по умолчанию, а затем без проблем перезагрузил сервер в Ubuntu. Затем вы можете расширить раздел оттуда, чтобы заполнить остальную часть диска.

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