Bagaimana menginstal Linux dari jarak jauh melalui SSH?

22

Saya perlu menginstal Ubuntu Server 10.04 (x86) dari jarak jauh pada server yang saat ini menjalankan RHEL 3.4 (x86). Saya harus sangat berhati-hati karena tidak ada yang bisa menekan tombol restart untuk saya jika ada masalah.

Apakah Anda pernah menginstal Linux dari jarak jauh? Cara mana yang akan Anda rekomendasikan? Adakah saran untuk hal-hal yang harus diperhatikan?


Memperbarui:

Terima kasih atas bantuan Anda. Saya berhasil "mengganti ban saat mengemudi" !

Komponen utama metode saya diambil dari HOWTO - Instal Debian Ke Sistem Remote Linux , grub legacy: Boot sekali saja , grub boot tunggal dan kernel panic reboot , dan Dokumentasi Komunitas Ubuntu: InstallationFromKnoppix

Berikut adalah garis besar dari apa yang saya lakukan:

  1. Jalankan debootstrap di server Ubuntu yang ada
  2. Transfer file ke partisi swap server RHEL 3.4
  3. Boot ke partisi swap (sistem debootstrap)
  4. Transfer file ke partisi root asli
  5. Boot ke sistem Ubuntu baru dan selesaikan instalasi dengan tasksel, apt-get, dll

Saya menguji metode dalam VM dan kemudian diterapkan ke server. Saya cukup beruntung bahwa semuanya berjalan lancar :)

netvope
sumber
17
Kedengarannya seperti mencoba memasukkan ban baru ke mobil Anda saat mengendarainya.
Orbling
Secara teoritis mungkin. Agak seperti yang dikatakan Orbling, mengganti ban Anda saat mengendarai mobil. Tidak mudah!
Mat
@ephemient Luar Biasa. Anda lihat itu mungkin, hanya sangat sulit.
Orbling
Mungkin jika Anda memberikan rincian lebih lanjut tentang keterbatasan situasi, orang-orang yang sangat cerdas, kreatif, dan banyak akal di Server Fault dapat memberi Anda beberapa alternatif atau saran lain yang memungkinkan jalan yang lebih realistis untuk mencapai tujuan Anda.
Jed Daniels

Jawaban:

8

Saya setuju dengan sentimen dari jawaban lain di sini: Meskipun begitu mungkin mungkin untuk menginstal Ubuntu jarak jauh pada RHEL 3.4, Anda mungkin akan menginjak beberapa sangat es tipis.

Saya pikir masalah terbesar yang mungkin Anda miliki adalah usia kernel dan libc pada sistem yang ada. Apakah itu kernel 2.4.x-series? Jika demikian, saya tidak yakin Anda dapat melakukan ini, karena pada suatu saat selama instalasi Anda, Anda harus menjalankan alat yang dikompilasi untuk berjalan di kernel dan libc Ubuntu, dan mereka mungkin tidak berfungsi dengan baik (atau sama sekali) pada lingkungan runtime yang lebih lama. Jika Anda tidak menjalankan kernel 2.6.x-series di server jarak jauh, saya rasa Anda tidak memiliki banyak peluang untuk berhasil.

Jika Anda masih berpikir Anda mungkin ingin mencoba ini, ada beberapa panduan yang saya ketahui:

Kedua panduan itu agak tua, sehingga tidak ada yang bisa diperlakukan sebagai sesuatu yang bahkan dekat dengan panduan potong-dan-tempel. Saya akan sangat menyarankan mengikuti saran orang lain di sini dan melakukan beberapa berjalan kering pada server lokal atau VM, karena pasti ada ketegaran dan gotchas Anda harus bekerja sebelum melanjutkan nyata.

Steven Monday
sumber
12

Praktik terbaik untuk memasang OS apa pun dari jarak jauh adalah membeli perangkat keras server tanpa manajemen band (HP ilo, Dell drac) yang memungkinkan Anda melakukan siklus daya jarak jauh dan melihat konsol server. Jangan coba sebaliknya.

Mark Wagner
sumber
Saya setuju, tapi saya masih harus berurusan dengan situasi saya saat ini
netvope
6
Banyak orang berpengalaman yang telah melakukan ini selama satu dekade akan memberi tahu Anda "semoga sukses dengan itu".
troyengel
1
Baik embobo dan troyengel tepat; situasi yang Anda alami hanya akan menjadi lebih buruk jika Anda mencoba dan melakukan ini dari jarak jauh. Saran saya? Hubungi pusat data.
Andrew M.
1
Kartu manajemen jarak jauh sangat bagus, dan sebagian besar sistem Supermicro baru datang bersama mereka, termasuk daya jarak jauh, keyboard / video / mouse dan drive CD / DVD jarak jauh. Untuk situasi ini, saya tidak bisa membayangkan hidup tanpa itu.
Sean Reifschneider
5

Menginstal distro baru di tempat dapat dilakukan, tetapi sangat menantang. Ini adalah sesuatu yang Anda hampir pasti TIDAK akan benar pada kali pertama. Bahkan, Anda akan beruntung jika melakukannya dengan benar untuk ketiga atau keempat kalinya.

Selain itu, tidak ada orang di sini yang dapat memberi Anda daftar cucian yang bisa Anda ikuti dan ini akan terjadi. Anda harus bereksperimen dengan berbagai alternatif, tergantung pada partisi disk dan tata letak sistem file, konfigurasi perangkat keras, dll.

Yang mengatakan, inilah cara saya melakukan sesuatu seperti itu jika saya harus:

  • Dapatkan mesin yang dikonfigurasi semirip mungkin dengan mesin yang ada: hard drive, kartu jaringan, adaptor disk, RAM, sebut saja.
  • Siapkan mesin ini untuk meniru pengaturan saat ini pada host itu.
  • Lakukan percobaan dengan melakukan apa yang perlu Anda lakukan pada sistem tes ini.
  • Buat catatan yang banyak sehingga Anda dapat mereproduksinya di sistem "langsung".
  • Jalankan kembali catatan ini pada sistem uji sebelum Anda melakukan migrasi akhir.

Beberapa teknik yang mungkin dapat membantu Anda:

  • Putuskan apakah Anda ingin menginstal ke partisi baru, atau mencoba menginstal melalui sistem file yang ada. Jika Anda melakukan partisi baru, Anda selalu dapat mundur dengan mem-boot partisi lama. Namun, itu mungkin berarti Anda perlu mengecilkan sistem file saat ini, yang harus dilakukan secara offline. Saya menulis beberapa catatan pada tahun 2007 ketika saya melakukan ini .
  • Anda mungkin dapat melakukan instalasi ke partisi kecil di mesin uji Anda, dan kemudian membuat perubahan yang sesuai seperti alamat IP dan "dd" gambar sistem file ini untuk digunakan untuk mengisi instalasi dasar pada partisi baru. Ini hanya akan terjadi jika Anda menggunakan partisi terpisah untuk pemasangan baru.
  • Anda bisa meletakkan sistem file root pada sub-direktori dan kemudian melakukan sesuatu di initrd sehingga akan: "cd / target; mv * oldroot; mv oldroot / newos / *." untuk memindahkan semua direktori lama dari tempatnya dan meletakkan yang baru di tempatnya. Ini harus dilakukan sebelum initrd melakukan "pivotroot", mungkin tepat setelah me-mount sistem file.
  • Menambahkan beberapa kode ke skrip initrd dapat memungkinkan Anda untuk melakukan segala macam hal indah selama boot sistem. Lihat posting blog saya referensi di atas untuk lebih jelasnya.
  • Berharap Anda akan gagal dalam hal ini. Ini adalah upaya yang sangat berisiko. Ketika saya melakukan resize sistem file saya (yang disebutkan di atas), saya terkejut ketika reboot dengan benar.
  • Anda harus memutuskan apa yang ingin Anda lakukan tentang sektor boot, apakah itu menjalankan LILO atau GRUB? Apakah Anda ingin tetap menggunakan boot loader saat ini, atau beralih ke 10,04? Mungkin hal yang ideal adalah menggunakan loader yang ada untuk boot ke OS baru, kemudian jalankan "grub-install" dari OS itu untuk meletakkan yang baru.

Semoga berhasil! Anda akan membutuhkannya. :-)

Sean Reifschneider
sumber
1

Jika Anda memiliki partisi yang berbeda, Anda dapat menggunakan partisi itu untuk menginstal di VM yang melihat seluruh disk. Selama Anda tidak memasang partisi yang sama di VM dan host atau bermain dengan tabel partisi Anda aman. Cara lain adalah dengan boot dari jaringan dan melakukan instalasi menggunakan preseed atau kickstart. Bereksperimenlah dengan lingkungan lokal sebelum bermain dari jarak jauh.

Mircea Vutcovici
sumber
1

Saya menulis solusi sederhana berdasarkan preseed.

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

Anda perlu menginstal versi ubuntu yang memiliki ssh. server http lain untuk melayani file preseed. Saya menguji berkali-kali di banyak pusat data.

Jika Anda memiliki ubuntu, Anda dapat menginstal ulang dan mempartisi ulang melalui ssh tanpa KVM / IPMI / VNC atau aplikasi jarak jauh apa pun. hanya menggunakan ssh. Dan instalasi murni menggunakan netiso / miniiso dari server ubuntu.

Ini berdasarkan grub image loader boot file iso kustom Anda yang berisi pengaturan jaringan dan kata sandi ssh Anda.

sweb
sumber
0
  1. Semoga berhasil.

  2. Hal ini dapat dilakukan, dalam beberapa keadaan (yang mungkin tidak berlaku di sini / untuk Anda).

  3. Ini sulit; Saya sarankan Anda berlatih di mesin lokal (virtual jika perlu). Banyak.

Slartibartfast
sumber
0

Jika Anda bisa mendapatkan hanya satu kunjungan ke server, Anda bisa menambahkan KVM melalui port IP ke sistem. Saya menemukan $ 310 Lantronix Spider 1-port di CDW yang melakukan ini. Itu tidak membantu dengan "tombol restart" atau membuat media untuk mengeluarkan, meskipun Anda bisa masuk ke BIOS saat reboot dan mengubah urutan boot sehingga CD diabaikan.

zerolagtime
sumber
0

Saya sudah melakukannya sebelumnya, sebagai ujian. Bukan sesuatu yang saya sarankan lakukan jika tidak ada rencana mundur.

Karena ternyata sistem cukup dapat diandalkan jika semua aplikasi yang dibutuhkan sudah dimuat. Saya berhasil menjalankan dd dan menimpa 8GB pertama atau lebih dari server target dengan instalasi Ubuntu default dan kemudian reboot server ke Ubuntu tanpa masalah. Anda kemudian dapat memperluas partisi dari sana untuk mengisi sisa drive.

Anda juga dapat mengatur partisi baru, debootstrap instalasi baru ke dalamnya, dan memodifikasi bootloader Anda untuk boot ke partisi baru ini. Sekali lagi, harapkan kegagalan dan harapan untuk sukses.

Jeff McJunkin
sumber