¿Cómo instalar Linux de forma remota a través de SSH?

22

Necesito instalar Ubuntu Server 10.04 (x86) de forma remota en un servidor que actualmente ejecuta RHEL 3.4 (x86). Tendré que tener mucho cuidado porque nadie puede presionar el botón de reinicio si algo sale mal.

¿Alguna vez ha instalado Linux de forma remota? ¿Qué camino recomendarías? ¿Algún consejo para tener cuidado?


Actualizar:

Gracias por tu ayuda. ¡Logré "cambiar los neumáticos mientras conducía" !

Los componentes principales de mi método provienen de CÓMO: instalar Debian en un sistema Linux remoto , legado de grub: arranque de una sola vez , arranque único de grub y reinicio de kernel panic , y documentación de la comunidad de Ubuntu: InstallationFromKnoppix

Aquí está el resumen de lo que hice:

  1. Ejecute debootstrap en un servidor Ubuntu existente
  2. Transfiera los archivos a la partición de intercambio del servidor RHEL 3.4
  3. Arrancar en la partición de intercambio (el sistema debootstrap)
  4. Transfiera los archivos a la partición raíz original
  5. Inicie en el nuevo sistema Ubuntu y finalice la instalación con taskel, apt-get, etc.

Probé el método en una máquina virtual y luego lo apliqué al servidor. Tuve la suerte de que todo salió bien :)

netvope
fuente
17
Suena como tratar de colocar neumáticos nuevos en su automóvil mientras lo conduce.
Orbling
10
@Orbling: youtube.com/watch?v=dcQ_BTZ3mhg#t=1m45s
ephemiente
Teóricamente posible. Como lo dice Orbling, cambiar las llantas mientras conduce el automóvil. ¡No es muy fácil!
Matt
@ephemient Impresionante. Ves que es posible, simplemente increíblemente difícil.
Orbling
Quizás si proporcionó más detalles sobre las limitaciones de la situación, la gente extremadamente inteligente, creativa e ingeniosa aquí en Server Fault puede brindarle otras alternativas o consejos que pueden permitirle un camino más realista para lograr sus objetivos.
Jed Daniels

Respuestas:

8

Estoy de acuerdo con el sentimiento de las otras respuestas aquí: aunque puede ser posible instalar Ubuntu de forma remota en RHEL 3.4, es probable que esté pisando un poco de hielo muy delgado.

Creo que el mayor problema que puede tener es la antigüedad del kernel y la libc en el sistema existente. ¿Es eso un núcleo de la serie 2.4.x? Si es así, no estoy seguro de que pueda lograr esto, porque en algún momento durante su instalación, necesitará ejecutar herramientas compiladas para ejecutarse en el kernel y libc de Ubuntu, y es posible que no funcionen correctamente (o en absoluto) en un entorno de tiempo de ejecución anterior. Si no está ejecutando un núcleo de la serie 2.6.x en el servidor remoto, no creo que tenga muchas posibilidades de éxito.

Si aún cree que puede intentar esto, hay un par de guías que conozco:

Ambas guías son un poco viejas, por lo que ninguna de las dos puede tratarse como algo cercano a una guía de cortar y pegar. Sugeriría encarecidamente seguir los consejos de otros aquí y hacer algunas ejecuciones en seco en un servidor local o una VM, porque definitivamente hay problemas y trampas que necesitará resolver antes de continuar de verdad.

Steven Monday
fuente
12

La mejor práctica para instalar remotamente cualquier sistema operativo es comprar hardware de servidor con administración fuera de banda (HP ilo, Dell drac) que le permite apagar y ver de forma remota la consola de un servidor. Ni siquiera intentes lo contrario.

Mark Wagner
fuente
Estoy de acuerdo, pero todavía tengo que lidiar con mi situación actual
netvope
66
Muchas personas experimentadas que han estado haciendo esto durante una década te dirán "buena suerte con eso".
troyengel
1
Tanto el embobo como el troyengel son perfectos; la situación en la que se encuentra solo empeorará si intenta hacer esto de forma remota. ¿Mi sugerencia? Póngase en contacto con el centro de datos.
Andrew M.
1
Las tarjetas de administración remota son excelentes, y la mayoría de los nuevos sistemas Supermicro vienen con ellas integradas, que incluyen alimentación remota, teclado / video / mouse y unidades remotas de CD / DVD. Para esta situación, no puedo imaginar estar sin uno.
Sean Reifschneider
5

Se puede instalar una nueva distribución en su lugar, pero es muy difícil. Es algo que casi seguro NO acertarás la primera vez. De hecho, tendrás suerte si lo haces bien la tercera o cuarta vez.

Además, nadie aquí podrá darle una lista de lavandería que pueda seguir y esto sucederá. Tendrá que experimentar con diferentes alternativas, dependiendo de la partición exacta del disco y el diseño del sistema de archivos, la configuración del hardware, etc.

Dicho esto, así es como haría algo así si tuviera que:

  • Configure una máquina lo más similar posible a la máquina existente: discos duros, tarjetas de red, adaptadores de disco, RAM, lo que sea.
  • Configure esta máquina para imitar la configuración actual en ese host.
  • Experimente haciendo lo que necesita hacer en este sistema de prueba.
  • Tome abundantes notas para poder reproducirlo en el sistema "en vivo".
  • Revise estas notas nuevamente en el sistema de prueba antes de realizar la migración final.

Algunas técnicas que pueden ayudarlo:

  • Decida si desea instalar en una nueva partición, o intente instalar sobre el sistema de archivos existente. Si hace una nueva partición, siempre puede retroceder arrancando la partición anterior. Sin embargo, eso probablemente significa que debe reducir el sistema de archivos actual, que debe hacerse sin conexión. Escribí algunas notas en 2007 cuando hice esto .
  • Es posible que pueda realizar una instalación en una pequeña partición en su máquina de prueba y luego realizar los cambios apropiados, como las direcciones IP y "dd" esta imagen del sistema de archivos para utilizarla para completar la instalación base en la nueva partición. Esto solo sería si estuviera utilizando una partición separada para la nueva instalación.
  • En su lugar, podría colocar el sistema de archivos raíz en un subdirectorio y luego hacer algo en el initrd para que: "cd / target; mv * oldroot; mv oldroot / newos / *". para mover todos los directorios antiguos fuera de lugar y poner los nuevos en su lugar. Esto debería hacerse antes de que el initrd haga su "pivotroot", probablemente justo después de que monte el sistema de archivos.
  • Agregar algún código a los scripts initrd puede permitirle hacer todo tipo de cosas maravillosas durante el arranque del sistema. Vea la publicación de blog I referencias arriba para más detalles.
  • Espere que vaya a fallar en esto. Es un esfuerzo extremadamente arriesgado. Cuando hice el cambio de tamaño de mi sistema de archivos (mencionado anteriormente), me sorprendió cuando se reinició correctamente.
  • Tendrás que decidir qué quieres hacer con los sectores de arranque, ¿está ejecutando LILO o GRUB? ¿Desea intentar quedarse con el cargador de arranque actual o cambiar a 10.04? Probablemente lo ideal sería usar el cargador existente para arrancar en el nuevo sistema operativo, luego ejecutar "grub-install" desde ese sistema operativo para poner el nuevo en su lugar.

¡Buena suerte! Lo necesitarás. :-)

Sean Reifschneider
fuente
1

Si tiene una partición diferente, puede usar esa partición para instalar en una VM que vea todo el disco. Mientras no monte la misma partición tanto en la VM como en el host o juegue con la tabla de particiones, estará a salvo. Otra forma sería arrancar desde la red y hacer una instalación usando preseed o kickstart. Experimenta con un entorno local antes de jugar de forma remota.

Mircea Vutcovici
fuente
1

Escribo una solución simple basada en preseed.

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

Necesita una versión instalada de ubuntu que tenga ssh. otro servidor http para servir archivos preestablecidos. Lo probé muchas veces en muchos centros de datos.

Si tiene ubuntu, puede reinstalar y volver a particionar sobre ssh sin KVM / IPMI / VNC o cualquier aplicación remota. solo usando ssh. Y una instalación pura usando netiso / miniiso del servidor ubuntu.

Se basa en el cargador de imágenes grub para iniciar su archivo iso personalizado que contiene la configuración de red y la contraseña ssh.

barrido
fuente
0
  1. Buena suerte.

  2. Esto es posiblemente factible, en algunas circunstancias (que puede no aplicarse aquí / a usted).

  3. Esto es duro; Le recomiendo que practique en una máquina local (virtual si es necesario). Mucho.

Slartibartfast
fuente
0

Si solo puede obtener una visita al servidor, puede agregar un puerto KVM sobre IP al sistema. Encontré un Lantronix Spider de 1 puerto de $ 310 en CDW que hace esto. Sin embargo, no ayuda con un "botón de reinicio" o lograr que los medios se expulsen, aunque podría ingresar al BIOS al reiniciar y cambiar el orden de inicio para que se ignore un CD.

zerolagtime
fuente
0

Lo he hecho antes, como prueba. Sin embargo, no es algo que recomendaría hacer si no hay un plan alternativo.

Como resultado, los sistemas son bastante confiables si todas las aplicaciones necesarias ya están cargadas. Ejecuté con éxito dd y sobrescribí los primeros 8 gb del servidor de destino con una instalación predeterminada de Ubuntu y luego reinicié el servidor en Ubuntu sin problemas. Luego, puede expandir la partición desde allí para llenar el resto de la unidad.

También puede configurar una nueva partición, quitarle una nueva instalación y modificar su gestor de arranque para que arranque en esta nueva partición. Nuevamente, espere el fracaso y la esperanza del éxito.

Jeff McJunkin
fuente