Jak zdalnie zainstalować Linuksa za pośrednictwem SSH?

22

Muszę zdalnie zainstalować Ubuntu Server 10.04 (x86) na serwerze, na którym obecnie działa RHEL 3.4 (x86). Będę musiał bardzo uważać, ponieważ nikt nie może nacisnąć dla mnie przycisku restartu, jeśli coś pójdzie nie tak.

Czy zdalnie instalowałeś Linuksa? W jaki sposób poleciłbyś? Wszelkie porady dotyczące rzeczy, na które należy uważać?


Aktualizacja:

Dzięki za pomoc. Udało mi się „zmienić opony podczas jazdy” !

Główne komponenty mojej metody pochodzą z HOWTO - zainstaluj Debiana na zdalnym systemie Linux , grub starsze: uruchamianie jednorazowe , grub pojedynczy rozruch i restart paniki jądra oraz Dokumentacja społeczności Ubuntu: InstallationFromKnoppix

Oto zarys tego, co zrobiłem:

  1. Uruchom debootstrap na istniejącym serwerze Ubuntu
  2. Przenieś pliki na partycję wymiany serwera RHEL 3.4
  3. Uruchom z partycji wymiany (system debootstrap)
  4. Przenieś pliki na oryginalną partycję główną
  5. Uruchom nowy system Ubuntu i zakończ instalację przy pomocy tasksel, apt-get itp

Przetestowałem tę metodę na maszynie wirtualnej, a następnie zastosowałem na serwerze. Miałem szczęście, że wszystko poszło gładko :)

netvope
źródło
17
Brzmi jak próba dopasowania nowych opon do samochodu podczas jazdy.
Orbling
Teoretycznie możliwe. Trochę tak, jak to ujmuje Orbling, zmieniając opony podczas jazdy samochodem. Niezbyt łatwe!
Matt
@ephemient Awesome. Widzisz, jest to możliwe, po prostu niezwykle trudne.
Orbling
Być może, jeśli podasz więcej szczegółów na temat ograniczeń sytuacji, niezwykle inteligentni, kreatywni i zaradni ludzie tutaj w usłudze Server Fault mogą dać ci inne alternatywy lub porady, które mogą pozwolić na bardziej realistyczną ścieżkę do osiągnięcia twoich celów.
Jed Daniels,

Odpowiedzi:

8

Zgadzam się z sentymentem innych odpowiedzi tutaj: Chociaż może być możliwe zdalne zainstalowanie Ubuntu na RHEL 3.4, prawdopodobnie będziesz chodził po bardzo cienkim lodzie.

Myślę, że największym problemem może być wiek jądra i libc w istniejącym systemie. Czy to jądro z serii 2.4.x? Jeśli tak, nie jestem pewien, czy będziesz w stanie to zrobić, ponieważ w pewnym momencie podczas instalacji będziesz musiał uruchomić narzędzia, które zostały skompilowane do uruchomienia w jądrze i libc Ubuntu, i mogą one nie działać poprawnie (lub wcale) w starszym środowisku wykonawczym. Jeśli nie używasz jądra z serii 2.6.x na zdalnym serwerze, nie sądzę, że masz duże szanse na sukces.

Jeśli nadal uważasz, że możesz tego spróbować, jest kilka poradników, o których wiem:

Oba te przewodniki są trochę stare, więc nie można ich traktować jak niczego, co jest bliskie przewodnikowi wycinania i wklejania. Zdecydowanie sugeruję skorzystanie z rad innych tutaj i wykonanie suchych uruchomień na lokalnym serwerze lub maszynie wirtualnej, ponieważ zdecydowanie są zagięcia i problemy, które musisz przećwiczyć, zanim zaczniesz naprawdę.

Steven Monday
źródło
12

Najlepszą praktyką do zdalnej instalacji dowolnego systemu operacyjnego jest zakup sprzętu serwerowego bez zarządzania pasmem (HP ilo, Dell drac), który umożliwia zdalne wyłączanie zasilania i przeglądanie konsoli serwera. Nawet nie próbuj inaczej.

Mark Wagner
źródło
Zgadzam się, ale wciąż muszę poradzić sobie z moją obecną sytuacją
netvope
6
Wielu doświadczonych ludzi, którzy robią to od dekady, powie ci „powodzenia”.
troyengel,
1
Zarówno embobo, jak i troyengel są na miejscu; sytuacja, w której się znajdujesz, pogorszy się tylko, jeśli spróbujesz to zrobić zdalnie. Moja sugestia? Skontaktuj się z centrum danych.
Andrew M.
1
Karty zdalnego zarządzania są świetne, a większość nowych systemów Supermicro ma wbudowane, w tym zdalne zasilanie, klawiaturę / wideo / mysz i zdalne napędy CD / DVD. W tej sytuacji nie wyobrażam sobie bycia bez niej.
Sean Reifschneider,
5

Zainstalowanie nowej dystrybucji może być wykonane, ale jest bardzo trudne. Jest to coś, co prawie na pewno NIE poprawi się za pierwszym razem. W rzeczywistości będziesz miał szczęście, jeśli uda Ci się to zrobić trzeci lub czwarty raz.

Ponadto nikt tutaj nie będzie w stanie podać listy rzeczy do prania, które można po prostu śledzić i tak się stanie. Będziesz musiał eksperymentować z różnymi alternatywami, w zależności od dokładnej partycji dysku i układu systemu plików, konfiguracji sprzętu itp.

To powiedziawszy, oto jak mógłbym zrobić coś takiego, gdybym musiał:

  • Skonfiguruj maszynę w sposób możliwie najbardziej zbliżony do istniejącego: dyski twarde, karty sieciowe, adaptery dysków, pamięć RAM, nazywasz to.
  • Skonfiguruj to urządzenie, aby naśladowało bieżącą konfigurację na tym hoście.
  • Eksperymentuj z robieniem tego, co musisz zrobić w tym systemie testowym.
  • Rób na nim obszerne notatki, aby móc je odtworzyć w systemie „na żywo”.
  • Przed dokonaniem ostatecznej migracji ponownie przejrzyj te uwagi w systemie testowym.

Niektóre techniki, które mogą ci pomóc:

  • Zdecyduj, czy chcesz zainstalować na nowej partycji, czy spróbuj zainstalować na istniejącym systemie plików. Jeśli wykonasz nową partycję, zawsze możesz się wycofać, uruchamiając starą partycję. Jednak prawdopodobnie oznacza to, że musisz zmniejszyć obecny system plików, co należy zrobić w trybie offline. Kiedy to zrobiłem, napisałem kilka notatek w 2007 roku .
  • Być może będziesz mógł przeprowadzić instalację na małej partycji na komputerze testowym, a następnie wprowadzić odpowiednie zmiany, takie jak adresy IP i „dd” ten obraz systemu plików, aby użyć go do wypełnienia instalacji podstawowej na nowej partycji. Działo się tak tylko wtedy, gdy do nowej instalacji używasz osobnej partycji.
  • Zamiast tego możesz umieścić główny system plików w podkatalogu, a następnie zrobić coś w initrd, aby: „cd / target; mv * oldroot; mv oldroot / newos / *.” aby przenieść wszystkie stare katalogi na miejsce i umieścić nowe na miejscu. Musiałoby to zostać wykonane, zanim initrd wykona „pivotroot”, prawdopodobnie zaraz po zamontowaniu systemu plików.
  • Dodanie kodu do skryptów initrd może pozwolić ci na robienie różnego rodzaju cudownych rzeczy podczas uruchamiania systemu. Zobacz post na blogu, do którego się odwołuję powyżej, aby uzyskać więcej informacji.
  • Spodziewaj się, że ci się nie uda. To niezwykle ryzykowne przedsięwzięcie. Kiedy zmieniłem rozmiar systemu plików (wspomniany powyżej), byłem zszokowany, gdy uruchomił się ponownie poprawnie.
  • Musisz zdecydować, co chcesz zrobić z sektorami rozruchowymi, czy działa na nim LILO czy GRUB? Czy chcesz spróbować pozostać przy bieżącym programie ładującym, czy przejść na 10.04? Prawdopodobnie idealną rzeczą byłoby użycie istniejącego modułu ładującego do uruchomienia systemu operacyjnego, a następnie uruchomienie „grub-install” z tego systemu operacyjnego, aby zainstalować nowy.

Powodzenia! Będziesz tego potrzebować. :-)

Sean Reifschneider
źródło
1

Jeśli masz inną partycję, możesz użyć tej partycji, aby zainstalować na maszynie wirtualnej, która widzi cały dysk. Dopóki nie zamontujesz tej samej partycji zarówno na maszynie wirtualnej, jak i na hoście lub nie będziesz grać z tablicą partycji, jesteś bezpieczny. Innym sposobem byłoby uruchomienie z sieci i wykonanie instalacji przy użyciu wcześniejszego uruchomienia lub kickstartu. Przed rozpoczęciem gry na odległość eksperymentuj z lokalnym środowiskiem.

Mircea Vutcovici
źródło
1

Piszę proste rozwiązanie na podstawie przygotowanego.

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

Potrzebujesz zainstalowanej wersji Ubuntu z ssh. inny serwer HTTP do obsługi wstępnie przygotowanego pliku. Testowałem tyle razy w wielu centrach danych.

Jeśli masz Ubuntu, możesz ponownie zainstalować i ponownie podzielić na ssh bez KVM / IPMI / VNC lub jakiejkolwiek aplikacji zdalnej. tylko używając ssh. I czysta instalacja przy użyciu netiso / miniiso serwera ubuntu.

Opiera się on na rozruchowym programie ładującym obraz gruba, który zawiera niestandardowy plik ISO zawierający ustawienia sieciowe i hasło ssh.

sweb
źródło
0
  1. Powodzenia.

  2. Jest to możliwe do zrealizowania, w pewnych okolicznościach (które mogą nie mieć zastosowania tutaj / do Ciebie).

  3. To jest trudne; Zalecam ćwiczenie na lokalnej (w razie potrzeby wirtualnej) maszynie. Dużo.

Slartibartfast
źródło
0

Jeśli możesz dostać tylko jedną wizytę na serwerze, możesz dodać do systemu port KVM over IP. Znalazłem Lantronix Spider 1-portowy 310 USD w CDW, który to robi. Nie pomaga to jednak w „przycisku ponownego uruchomienia” ani w wysuwaniu nośników, chociaż możesz przejść do BIOS-u po ponownym uruchomieniu i zmienić kolejność rozruchu, aby CD zostało zignorowane.

zerolagtime
źródło
0

Zrobiłem to wcześniej, jako test. Jednak nie polecam tego robić, jeśli nie ma planu awaryjnego.

Jak się okazuje, systemy są dość niezawodne, jeśli wszystkie potrzebne aplikacje są już załadowane. Udało mi się uruchomić dd i nadpisałem pierwsze 8 GB serwera docelowego przy domyślnej instalacji Ubuntu, a następnie ponownie uruchomiłem serwer bez żadnych problemów. Następnie możesz rozwinąć partycję, aby wypełnić resztę dysku.

Możesz także skonfigurować nową partycję, debootstrap nową instalację i zmodyfikować program ładujący, aby uruchamiał się na nowej partycji. Ponownie oczekuj porażki i licz na sukces.

Jeff McJunkin
źródło