Comment installer Linux à distance via SSH?


22

J'ai besoin d'installer à distance Ubuntu Server 10.04 (x86) sur un serveur exécutant actuellement RHEL 3.4 (x86). Je devrai être très prudent car personne ne peut appuyer sur le bouton de redémarrage pour moi si quelque chose se passe mal.

Avez-vous déjà installé Linux à distance? Quelle voie recommanderiez-vous? Des conseils à surveiller?


Mise à jour:

Merci de votre aide. J'ai réussi à "changer les pneus en conduisant" !

Les principaux composants de ma méthode sont tirés de HOWTO - Installer Debian sur un système Linux distant , grub legacy: démarrage une seule fois , démarrage simple grub et redémarrage panique du noyau , et documentation de la communauté Ubuntu: InstallationFromKnoppix

Voici les grandes lignes de ce que j'ai fait:

  1. Exécutez debootstrap sur un serveur Ubuntu existant
  2. Transférez les fichiers vers la partition de swap du serveur RHEL 3.4
  3. Démarrez dans la partition d'échange (le système debootstrap)
  4. Transférez les fichiers vers la partition racine d'origine
  5. Démarrez dans le nouveau système Ubuntu et terminez l'installation avec tasksel, apt-get, etc.

J'ai testé la méthode dans une machine virtuelle et ensuite appliqué au serveur. J'ai eu la chance que tout se passe bien :)


17
Cela ressemble à essayer d'installer de nouveaux pneus sur votre voiture pendant que vous la conduisez.
Orbling


Théoriquement possible. Un peu comme le dit Orbling, changer vos pneus tout en conduisant la voiture. Pas très simple!
Matt

@ephemient Awesome. Vous voyez, c'est possible, tout simplement incroyablement difficile.
Orbling

Peut-être que si vous avez donné plus de détails sur les limites de la situation, les gens extrêmement intelligents, créatifs et ingénieux ici chez Server Fault peuvent vous donner d'autres alternatives ou conseils qui peuvent permettre un chemin plus réaliste pour atteindre vos objectifs.
Jed Daniels

Réponses:


8

Je suis d' accord avec le sentiment des autres réponses ici: Bien qu'il peut être possible d'installer à distance sur Ubuntu RHEL 3.4, vous allez probablement marcher sur une très fine couche de glace.

Je pense que le plus gros problème que vous pourriez avoir est l'âge du noyau et de la libc sur le système existant. S'agit-il d'un noyau de la série 2.4.x? Si c'est le cas, je ne suis pas sûr que vous serez en mesure de le faire, car à un moment donné de votre installation, vous devrez exécuter des outils qui ont été compilés pour fonctionner dans le noyau et la libc d'Ubuntu, et ils peuvent ne pas fonctionner correctement (ou pas du tout) sur un environnement d'exécution plus ancien. Si vous n'exécutez pas un noyau de la série 2.6.x sur le serveur distant, je ne pense pas que vous ayez beaucoup de chances de réussir.

Si vous pensez toujours que vous pourriez vouloir essayer ceci, il y a quelques guides que je connais:

Ces deux guides sont un peu anciens, donc aucun ne peut être traité comme quoi que ce soit, même à proximité d'un guide couper-coller. Je suggérerais fortement de suivre les conseils des autres ici et de faire des essais à sec sur un serveur local ou une machine virtuelle, car il y a certainement des problèmes et des problèmes que vous devrez résoudre avant d'aller de l'avant pour de vrai.


12

La meilleure pratique pour installer à distance n'importe quel système d'exploitation est d'acheter du matériel serveur avec une gestion hors bande (HP ilo, Dell drac) qui vous permet de redémarrer à distance et de voir la console d'un serveur. N'essayez même pas autrement.


Je suis d'accord, mais j'ai encore besoin de faire face à ma situation actuelle
netvope

6
Beaucoup de gens expérimentés qui font cela depuis une décennie vont vous dire "bonne chance avec ça".
troyengel

1
L'embobo et le troyengel sont parfaits; la situation dans laquelle vous vous trouvez ne fera qu'empirer si vous essayez de le faire à distance. Ma suggestion? Entrez en contact avec le centre de données.
Andrew M.

1
Les cartes de gestion à distance sont excellentes et la plupart des nouveaux systèmes Supermicro sont livrés avec eux, y compris l'alimentation à distance, le clavier / vidéo / souris et les lecteurs de CD / DVD à distance. Pour cette situation, je ne peux pas imaginer être sans.
Sean Reifschneider

5

L'installation d'une nouvelle distribution peut être effectuée, mais est très difficile. C'est quelque chose que vous n'obtiendrez presque certainement pas du premier coup. En fait, vous aurez de la chance si vous réussissez la troisième ou la quatrième fois.

De plus, personne ici ne pourra vous donner une liste de lessive que vous pouvez simplement suivre et cela se produira. Vous devrez expérimenter différentes alternatives, en fonction de votre partition de disque exacte et de la disposition du système de fichiers, de la configuration matérielle, etc.

Cela dit, voici comment je ferais quelque chose comme ça si je devais:

  • Obtenez une machine configurée aussi similaire que possible à la machine existante: disques durs, cartes réseau, adaptateurs de disque, RAM, vous l'appelez.
  • Configurez cette machine pour imiter la configuration actuelle sur cet hôte.
  • Essayez de faire ce que vous devez faire sur ce système de test.
  • Prenez des notes copieuses dessus pour pouvoir le reproduire sur le système "live".
  • Parcourez à nouveau ces notes sur le système de test avant de procéder à la migration finale.

Quelques techniques qui pourraient vous aider:

  • Décidez si vous souhaitez installer sur une nouvelle partition ou essayez d'installer sur le système de fichiers existant. Si vous créez une nouvelle partition, vous pouvez toujours revenir en arrière en démarrant l'ancienne partition. Cependant, cela signifie probablement que vous devez réduire le système de fichiers actuel, ce qui doit être fait hors ligne. J'ai rédigé quelques notes en 2007 lorsque j'ai fait cela .
  • Vous pourrez peut-être effectuer une installation sur une petite partition sur votre machine de test, puis apporter les modifications appropriées telles que les adresses IP et «dd» cette image de système de fichiers à utiliser pour remplir l'installation de base sur la nouvelle partition. Ce ne serait que si vous utilisiez une partition distincte pour la nouvelle installation.
  • Vous pouvez à la place mettre le système de fichiers racine en place dans un sous-répertoire, puis faire quelque chose dans l'initrd pour qu'il: "cd / target; mv * oldroot; mv oldroot / newos / *." pour déplacer tous les anciens répertoires et mettre les nouveaux en place. Cela devrait être fait avant que l'initrd ne soit "pivotroot", probablement juste après avoir monté le système de fichiers.
  • L'ajout de code dans les scripts initrd peut vous permettre de faire toutes sortes de choses merveilleuses pendant le démarrage du système. Voir l'article de blog que je référence ci-dessus pour plus de détails.
  • Attendez-vous à ce que vous échouiez. C'est une entreprise extrêmement risquée. Lorsque j'ai redimensionné mon système de fichiers (mentionné ci-dessus), j'ai été choqué quand il a redémarré correctement.
  • Vous devrez décider ce que vous voulez faire au sujet des secteurs de démarrage, est-ce qu'il exécute LILO ou GRUB? Voulez-vous essayer de rester avec le chargeur de démarrage actuel ou passer à 10.04? L'idéal serait probablement d'utiliser le chargeur existant pour démarrer dans le nouveau système d'exploitation, puis d'exécuter «grub-install» à partir de ce système d'exploitation pour mettre le nouveau en place.

Bonne chance! Vous en aurez besoin. :-)


1

Si vous avez une partition différente, vous pouvez utiliser cette partition pour installer sur une machine virtuelle qui voit le disque entier. Tant que vous ne montez pas la même partition dans la machine virtuelle et l'hôte ou ne jouez pas avec la table de partition, vous êtes en sécurité. Une autre façon serait de démarrer à partir du réseau et de faire une installation à l'aide de prédéfini ou de kickstart. Expérimentez avec un environnement local avant de jouer à distance.


1

J'écris une solution simple basée sur des graines.

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

Vous avez besoin d'une version installée d'ubuntu avec ssh. un autre serveur http pour servir le fichier prédéfini. J'ai testé tant de fois dans de nombreux centres de données.

Si vous avez ubuntu, vous pouvez réinstaller et repartitionner sur ssh sans KVM / IPMI / VNC ni aucune application distante. en utilisant simplement ssh. Et une installation pure en utilisant netiso / miniiso du serveur ubuntu.

Il est basé sur le démarrage du chargeur d'images grub, votre fichier iso personnalisé qui contient vos paramètres réseau et votre mot de passe ssh.


0
  1. Bonne chance.

  2. Ceci est concevable, dans certaines circonstances (qui peuvent ne pas s'appliquer ici / à vous).

  3. C'est dur; Je vous recommande de vous entraîner sur une machine locale (virtuelle si nécessaire). Beaucoup.


0

Si vous ne pouvez obtenir qu'une seule visite sur le serveur, vous pouvez ajouter un port KVM sur IP au système. J'ai trouvé un Lantronix Spider 1 port à 310 $ chez CDW qui fait ça. Cela n'aide pas avec un "bouton de redémarrage" ou d'obtenir l'éjection du support, bien que vous puissiez aller dans le BIOS au redémarrage et changer l'ordre de démarrage afin qu'un CD soit ignoré.


0

Je l'ai déjà fait, comme test. Ce n'est pas quelque chose que je recommanderais de faire s'il n'y a pas de plan de secours, cependant.

Il s'avère que les systèmes sont assez fiables si toutes les applications nécessaires sont déjà chargées. J'ai réussi à exécuter dd et à écraser le premier 8 Go ou plus du serveur cible avec une installation Ubuntu par défaut, puis j'ai redémarré le serveur dans Ubuntu sans problème. Vous pouvez ensuite étendre la partition à partir de là pour remplir le reste du lecteur.

Vous pouvez également configurer une nouvelle partition, y amorcer une nouvelle installation et modifier votre chargeur de démarrage pour démarrer dans cette nouvelle partition. Encore une fois, attendez-vous à l'échec et espérez le succès.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.