จะติดตั้ง Linux ผ่าน SSH จากระยะไกลได้อย่างไร


22

ฉันต้องติดตั้ง Ubuntu Server 10.04 (x86) จากระยะไกลบนเซิร์ฟเวอร์ที่กำลังใช้งาน RHEL 3.4 (x86) ฉันจะต้องระวังให้มากเพราะไม่มีใครสามารถกดปุ่มรีสตาร์ทสำหรับฉันถ้ามีอะไรผิดพลาด

คุณเคยติดตั้ง Linux จากระยะไกลหรือไม่? คุณจะแนะนำทางไหน คำแนะนำสำหรับสิ่งที่ต้องระวัง?


ปรับปรุง:

ขอบคุณสำหรับความช่วยเหลือของคุณ. ฉันจัดการเพื่อ"เปลี่ยนยางขณะขับรถ" !

ส่วนประกอบหลักของวิธีการของฉันถูกดึงมาจากHOWTO - ติดตั้ง Debian บนระบบลินุกซ์ระยะไกล , มรดกด้วง: บูตครั้งเดียวเท่านั้น , ด้วงบูตเดียวและตื่น kernel รีบูตและเอกสาร Ubuntu ชุมชน: InstallationFromKnoppix

นี่คือโครงร่างของสิ่งที่ฉันทำ:

  1. เรียกใช้ debootstrap บนเซิร์ฟเวอร์ Ubuntu ที่มีอยู่
  2. ถ่ายโอนไฟล์ไปยังswap partition ของเซิร์ฟเวอร์ RHEL 3.4
  3. บูตเข้าสู่พาร์ทิชัน tha swap (ระบบ debootstrap)
  4. ถ่ายโอนไฟล์ไปยังพาร์ติชันรากดั้งเดิม
  5. บูตเข้าสู่ระบบ Ubuntu ใหม่และจบการติดตั้งด้วย taskel, apt-get, etc.

ฉันทดสอบวิธีการใน VM แล้วนำไปใช้กับเซิร์ฟเวอร์ ฉันโชคดีพอที่ทุกอย่างราบรื่น :)


17
เสียงเหมือนพยายามใส่ยางใหม่เข้ากับรถของคุณขณะขับรถ
Orbling


ในทางทฤษฎีเป็นไปได้ บิตเหมือนกับ Orbling ทำให้เปลี่ยนยางของคุณในขณะขับรถ ไม่ใช่เรื่องง่ายมาก!
แมตต์

@ephemient Awesome คุณเห็นว่ามันเป็นไปได้ยากมาก ๆ
Orbling

บางทีหากคุณให้รายละเอียดเพิ่มเติมเกี่ยวกับข้อ จำกัด ของสถานการณ์ผู้คนที่มีความคิดสร้างสรรค์ความคิดสร้างสรรค์และทรัพยากรที่นี่ที่ Server Fault สามารถให้ทางเลือกหรือคำแนะนำอื่น ๆ ที่อาจช่วยให้เส้นทางที่เป็นจริงมากขึ้นเพื่อบรรลุเป้าหมายของคุณ
Jed Daniels

คำตอบ:


8

ฉันเห็นด้วยกับความรู้สึกของคำตอบอื่น ๆ ที่นี่: แม้ว่ามันจะเป็นไปได้ที่จะติดตั้ง Ubuntu จากระยะไกลบน RHEL 3.4 แต่คุณมีแนวโน้มที่จะได้สัมผัสกับน้ำแข็งที่บางมาก

ฉันคิดว่าปัญหาที่ใหญ่ที่สุดที่คุณอาจมีคืออายุของเคอร์เนลและ libc ในระบบที่มีอยู่ นั่นคือเคอร์เนล 2.4.x-series หรือไม่ ถ้าเป็นเช่นนั้นฉันไม่แน่ใจว่าคุณจะสามารถดึงสิ่งนี้ออกได้เนื่องจากในบางช่วงระหว่างการติดตั้งคุณจะต้องเรียกใช้เครื่องมือที่คอมไพล์เพื่อให้ทำงานในเคอร์เนลและ libc ของ Ubuntu และอาจทำงานได้ไม่ถูกต้อง (หรือเลย) ในสภาพแวดล้อมรันไทม์ที่เก่ากว่า หากคุณไม่ได้ใช้เคอร์เนล 2.6.x-series บนเซิร์ฟเวอร์ระยะไกลฉันไม่คิดว่าคุณจะมีโอกาสประสบความสำเร็จมากนัก

หากคุณยังคิดว่าคุณอาจต้องการลองสิ่งนี้มีคำแนะนำสองสามข้อที่ฉันทราบ:

ไกด์ทั้งสองนั้นดูเก่าไปแล้วดังนั้นจึงไม่สามารถถือได้ว่าเป็นอะไรที่ใกล้เคียงกับไกด์ที่ตัดแล้ววาง ฉันขอแนะนำอย่างยิ่งให้ทำตามคำแนะนำของคนอื่น ๆ ที่นี่และทำ dry run บนเซิร์ฟเวอร์ในพื้นที่หรือ VM เพราะมีข้อผิดพลาดและ gotchas อย่างแน่นอนคุณจะต้องออกกำลังกายก่อนที่จะเริ่มจริง


12

แนวทางปฏิบัติที่ดีที่สุดสำหรับการติดตั้งระบบปฏิบัติการจากระยะไกลคือซื้อฮาร์ดแวร์เซิร์ฟเวอร์ที่ไม่มีการจัดการแบนด์วิดท์ (HP ilo, Dell drac) ที่ให้คุณใช้พลังงานจากระยะไกลและดูคอนโซลของเซิร์ฟเวอร์ อย่าแม้แต่ลองอย่างอื่น


ฉันเห็นด้วย แต่ฉันยังคงต้องรับมือกับสถานการณ์ปัจจุบันของฉัน
netvope

6
คนที่มีประสบการณ์จำนวนมากที่ทำสิ่งนี้มาสิบปีจะบอกคุณว่า "ขอให้โชคดี"
troyengel

1
ทั้ง embobo และ troyengel เป็นจุดที่; สถานการณ์ที่คุณกำลังจะแย่ลงถ้าคุณลองทำสิ่งนี้จากระยะไกล คำแนะนำของฉัน? ติดต่อกับศูนย์ข้อมูล
Andrew M.

1
การ์ดการจัดการระยะไกลนั้นยอดเยี่ยมและระบบ Supermicro ใหม่ส่วนใหญ่มาพร้อมกับการ์ดในตัวรวมถึงพลังงานจากระยะไกลคีย์บอร์ด / วิดีโอ / เมาส์และไดรฟ์ CD / DVD ระยะไกล สำหรับสถานการณ์นี้ฉันไม่สามารถจินตนาการได้ว่าจะไม่มีใคร
Sean Reifschneider

5

การติดตั้ง distro ใหม่สามารถทำได้ แต่มีความท้าทายมาก มันเป็นสิ่งที่คุณแทบจะไม่ถูกต้องในครั้งแรก ในความเป็นจริงคุณจะโชคดีถ้าทำถูกครั้งที่สามหรือสี่

นอกจากนี้ไม่มีใครที่นี่จะสามารถให้รายการซักผ้าที่คุณสามารถติดตามได้และสิ่งนี้จะเกิดขึ้น คุณจะต้องทดสอบกับทางเลือกอื่น ๆ ขึ้นอยู่กับพาร์ติชั่นดิสก์และการวางระบบไฟล์, การกำหนดค่าฮาร์ดแวร์ ฯลฯ

ที่กล่าวว่านี่คือวิธีที่ฉันจะไปเกี่ยวกับการทำสิ่งที่ถ้าฉันต้อง:

  • รับการกำหนดค่าเครื่องให้ใกล้เคียงที่สุดกับเครื่องที่มีอยู่: ฮาร์ดไดรฟ์การ์ดเครือข่ายอะแดปเตอร์ดิสก์ RAM คุณตั้งชื่อมัน
  • ตั้งค่าเครื่องนี้เพื่อเลียนแบบการตั้งค่าปัจจุบันบนโฮสต์นั้น
  • ทดลองทำสิ่งที่คุณต้องทำในระบบทดสอบนี้
  • จดบันทึกมากมายเพื่อให้คุณสามารถทำซ้ำได้ในระบบ "สด"
  • รันบันทึกย่อเหล่านี้อีกครั้งในระบบทดสอบก่อนที่จะทำการโยกย้ายครั้งสุดท้าย

เทคนิคบางอย่างที่อาจช่วยคุณได้:

  • ตัดสินใจว่าคุณต้องการติดตั้งลงในพาร์ติชันใหม่หรือลองติดตั้งผ่านระบบไฟล์ที่มีอยู่ หากคุณทำพาร์ติชันใหม่คุณสามารถสำรองข้อมูลได้ตลอดเวลาโดยการบูตพาร์ติชันเก่า อย่างไรก็ตามนั่นอาจหมายความว่าคุณต้องลดขนาดระบบไฟล์ปัจจุบันซึ่งต้องทำแบบออฟไลน์ ผมเขียนขึ้นบันทึกบางส่วนกลับในปี 2007 เมื่อฉันทำอย่างนี้
  • คุณอาจสามารถทำการติดตั้งไปยังพาร์ติชันขนาดเล็กบนเครื่องทดสอบของคุณและทำการเปลี่ยนแปลงที่เหมาะสมเช่นที่อยู่ IP และ "dd" อิมเมจระบบไฟล์นี้เพื่อใช้ในการติดตั้งฐานในพาร์ติชันใหม่ สิ่งนี้จะเกิดขึ้นหากคุณใช้พาร์ติชันแยกต่างหากสำหรับการติดตั้งใหม่
  • คุณสามารถวางระบบไฟล์รูทไว้ในไดเรกทอรีย่อยแล้วทำบางอย่างใน initrd เพื่อที่จะ: "cd / target; mv * oldroot; mv oldroot / newos / *" เพื่อย้ายไดเรกทอรีเก่าทั้งหมดออกจากสถานที่และวางใหม่ในสถานที่ สิ่งนี้จะต้องทำก่อนที่ initrd จะทำหน้าที่เป็น "pivotroot" ซึ่งอาจเกิดขึ้นทันทีหลังจากเมานต์ระบบไฟล์
  • การเพิ่มโค้ดลงในสคริปต์เริ่มต้นสามารถช่วยให้คุณทำสิ่งมหัศจรรย์ทุกประเภทในระหว่างการบูตระบบ ดูโพสต์บล็อกที่ฉันอ้างอิงข้างต้นสำหรับรายละเอียดเพิ่มเติม
  • คาดว่าคุณจะล้มเหลวในเรื่องนี้ มันเป็นความพยายามที่เสี่ยงอย่างยิ่ง เมื่อฉันปรับขนาดระบบไฟล์ของฉัน (ดังกล่าวข้างต้น) ฉันก็ตกใจเมื่อรีบูตอย่างถูกต้อง
  • คุณต้องตัดสินใจว่าคุณต้องการทำอะไรเกี่ยวกับบูตเซกเตอร์มันใช้ LILO หรือ GRUB หรือไม่? คุณต้องการพยายามอยู่กับบูทโหลดเดอร์ปัจจุบันหรือเปลี่ยนเป็น 10.04 หรือไม่? อาจเป็นสิ่งที่ดีที่สุดที่จะใช้โหลดเดอร์ที่มีอยู่เพื่อบู๊ตในระบบปฏิบัติการใหม่จากนั้นรัน "grub-install" จากระบบปฏิบัติการนั้นเพื่อวางใหม่

โชคดี! คุณจะต้องการมัน :-)


1

หากคุณมีพาร์ติชันที่แตกต่างกันคุณสามารถใช้พาร์ติชันนั้นเพื่อติดตั้งใน VM ที่เห็นดิสก์ทั้งหมด ตราบใดที่คุณไม่ได้ติดตั้งพาร์ทิชันเดียวกันทั้งใน VM และโฮสต์หรือเล่นกับตารางพาร์ติชันคุณจะปลอดภัย อีกวิธีหนึ่งคือการบูตจากเครือข่ายและทำการติดตั้งโดยใช้ preseed หรือ kickstart ทดลองกับสภาพแวดล้อมในท้องถิ่นก่อนเล่นจากระยะไกล


1

ฉันเขียนวิธีแก้ปัญหาอย่างง่ายโดยใช้ preseed

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

คุณต้องติดตั้ง Ubuntu รุ่นที่มี ssh เซิร์ฟเวอร์ http อื่นสำหรับการแสดงไฟล์ preseed ฉันทดสอบหลายครั้งในศูนย์ข้อมูลหลายแห่ง

หากคุณมีอูบุนตูคุณสามารถติดตั้งและแบ่งพาร์ติชั่นใหม่ผ่าน ssh โดยไม่ต้องใช้ KVM / IPMI / VNC หรือแอปพลิเคชั่นระยะไกลใด ๆ เพียงแค่ใช้ ssh และการติดตั้งที่บริสุทธิ์โดยใช้ netiso / miniiso ของเซิร์ฟเวอร์ ubuntu

มันขึ้นอยู่กับการบูตเครื่องด้วงภาพด้วงไฟล์ iso ที่คุณกำหนดเองซึ่งมีการตั้งค่าเครือข่ายและรหัสผ่าน ssh ของคุณ


0
  1. โชคดี.

  2. สิ่งนี้สามารถกระทำได้ในบางกรณี (ซึ่งอาจไม่มีผลกับคุณ / ที่นี่)

  3. นี่มันยาก; ฉันแนะนำให้คุณฝึกฝนบนเครื่อง (เสมือนจริงถ้าจำเป็น) มาก.


0

หากคุณสามารถเยี่ยมชมเซิร์ฟเวอร์เพียงครั้งเดียวคุณสามารถเพิ่ม KVM ผ่านพอร์ต IP ไปยังระบบ ฉันพบLantronix Spider $ 1 พอร์ตที่ CDW ซึ่งทำสิ่งนี้ มันไม่ได้ช่วยในเรื่อง "ปุ่มรีสตาร์ท" หรือการดึงสื่อออกแม้ว่าคุณจะสามารถเข้าไปใน BIOS ในการรีบูตและเปลี่ยนลำดับการบู๊ตเพื่อให้แผ่นซีดีถูกละเว้น


0

ฉันเคยทำมาก่อนเป็นแบบทดสอบ ไม่ใช่สิ่งที่ฉันแนะนำให้ทำถ้าไม่มีแผนสำรอง

มันกลับกลายเป็นว่าระบบมีความน่าเชื่อถือพอสมควรหากมีการโหลดแอปพลิเคชันทั้งหมด ฉันประสบความสำเร็จในการรัน dd และเขียนทับ 8gb แรกหรือมากกว่านั้นของเซิร์ฟเวอร์เป้าหมายด้วยการติดตั้ง Ubuntu เริ่มต้นจากนั้นรีบูทเซิร์ฟเวอร์ลงใน Ubuntu โดยไม่มีปัญหา จากนั้นคุณสามารถขยายพาร์ติชันจากที่นั่นเพื่อเติมส่วนที่เหลือของไดรฟ์

นอกจากนี้คุณยังสามารถตั้งค่าพาร์ติชันใหม่ debootstrap การติดตั้งใหม่เข้าไปในนั้นและปรับเปลี่ยน bootloader ของคุณเพื่อบูตลงในพาร์ทิชันใหม่นี้ คาดหวังความล้มเหลวอีกครั้งและหวังว่าจะประสบความสำเร็จ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.