วิธีการกำหนดค่าเซิร์ฟเวอร์ Linux โดยอัตโนมัติได้อย่างไร


25

มีวิธีใดในการตั้งค่าเซิร์ฟเวอร์ Linux โดยอัตโนมัติ ฉันกำลังทำงานเกี่ยวกับการตั้งค่าเซิร์ฟเวอร์สร้างใหม่สองสามเซิร์ฟเวอร์รวมถึงเซิร์ฟเวอร์ FTP และต้องการให้กระบวนการเป็นไปโดยอัตโนมัติให้มากที่สุด

เหตุผลนี้คือการตั้งค่าและการกำหนดค่าของเซิร์ฟเวอร์เหล่านี้จะต้องทำในวิธีที่ทำซ้ำได้ง่าย เราคิดว่าการทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติมากที่สุดจะทำให้ง่ายที่สุดในการทำซ้ำตามที่ต้องการในอนาคต

โดยพื้นฐานแล้วเซิร์ฟเวอร์ทั้งหมดจำเป็นต้องมีการติดตั้งระบบปฏิบัติการรวมถึงแพ็คเกจจำนวนหนึ่ง ไม่มีอะไรซับซ้อนเกินไปเกี่ยวกับการตั้งค่า

ดังนั้นมีวิธีที่จะทำให้กระบวนการนี้เป็นอัตโนมัติ (หรืออย่างน้อยก็จำนวนหนึ่ง)?

แก้ไข: นอกจากนี้ยังบอกว่าฉันใช้ Kickstart มีวิธีลบที่เก็บเริ่มต้นของ Ubuntu และเพียงแค่ติดตั้งแพคเกจจากคอลเลกชันของไฟล์. deb ที่เรามีอยู่ในเครื่อง


คุณเลือกติดตั้ง distro แบบใด ซึ่งจะเป็นประโยชน์ในการกำหนดขั้นตอนต่อไป
eyoung100

ระวัง แต่งานอัตโนมัติอาจใช้เวลานาน หากคุณวางแผนที่จะติดตั้งโฮสต์น้อยกว่า 10 โฮสต์อาจไม่คุ้มค่ากับงาน
Archemar

ฉันเพิ่งเรียนรู้เกี่ยวกับคุณสมบัติที่นำเสนอโดย saltstack (ส่วนใหญ่สนับสนุน repo บน Github) ฉันขอแนะนำให้มองหามันเพราะมันมีเครื่องมือสำหรับทั้งการสร้างเซิร์ฟเวอร์ใหม่บนบริการต่างๆเช่น aws และปรับใช้การตั้งค่าการตั้งค่าการเขียนไฟล์การเข้าถึงเชลล์ระยะไกลการเข้าถึงเชลล์จำนวนมาก แม้กระทั่งการ จำกัด การเข้าถึง ทุกอย่างเกี่ยวกับที่คุณต้องทำดูเหมือนว่า แม้ว่าฉันจะมีเพื่อนที่ดีที่สาบานโดย Ansible สำหรับการตั้งค่าเซิร์ฟเวอร์ใหม่
ThorSummoner

+1 กับคุณและ mattdm ... ฉันไม่รู้ว่ามีฟอรัมนี้อยู่จนกระทั่งฉันเห็นคำถามนี้ในคำถามยอดนิยมในเครือข่ายและฉันก็ไม่ได้คิดว่าคำถามนี้จะมีคำตอบ ดีใจที่คุณถามและมันก็ตอบได้ดีมาก !
Sylas Seabrook

คำตอบ:


36

ใช่ นี่เป็นเรื่องใหญ่และเป็นเรื่องธรรมดาอย่างไม่น่าเชื่อ และมีวิธีพื้นฐานสองประการ วิธีหนึ่งคือการติดตั้งสคริปต์แบบง่ายๆเช่นใช้ใน Fedora, RHEL หรือ Centos ของ kickstart ลองดูในคู่มือการติดตั้ง Fedora: การติดตั้งเริ่มต้น สำหรับกรณีที่เรียบง่ายของคุณนี้อาจเพียงพอ (ยกตัวอย่างนี้มีระบบที่คล้ายกันสำหรับ distros อื่น ๆ แต่เนื่องจากฉันทำงานกับ Fedora นั่นคือสิ่งที่ฉันคุ้นเคย)

วิธีการอื่น ๆ คือการใช้การจัดการการกำหนดค่า นี่เป็นหัวข้อใหญ่ แต่มองไปที่ Puppet, Chef, Ansible, cfengine, Salt และอื่น ๆ ในกรณีนี้คุณอาจใช้การเริ่มต้นทั่วไปขั้นพื้นฐานเพื่อจัดเตรียมเครื่องขั้นต่ำและเครื่องมือการจัดการการกำหนดค่าเพื่อนำมาใช้ในบทบาทที่เหมาะสม

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

เราคิดว่าการทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติมากที่สุดจะทำให้ง่ายที่สุดในการทำซ้ำตามที่ต้องการในอนาคต

คุณอยู่ในเส้นทางที่ถูกต้อง - นี่คือหลักการพื้นฐานของการบริหารระบบมืออาชีพ เรายังมีภาพมส์สำหรับมัน:

อัตโนมัติทุกสิ่ง

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


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

คุณไม่ได้พูดถึง Cobbler
Brian

@staticx ใช่มันไม่ครอบคลุม มีโลกทั้งโลกของการจัดเตรียมระบบเช่นกัน: Cobbler, Foreman, Satellite / Spacewalk, FAI, Razor และนั่นก็ไม่ได้เข้าไปในระบบคลาวด์
mattdm

@ ChrisK Ha ฉันจะพูดแบบเดียวกัน;)
William Edwards


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