เซิร์ฟเวอร์ Linux อัพเดทเคอร์เนลอย่างไรโดยไม่ต้องบูตเครื่องใหม่


13

ตามข้อมูลของฉันการอัพเกรดเคอร์เนล linux ต้องทำการรีบูต การรีบูตคอมพิวเตอร์ที่บ้านไม่ใช่ปัญหา แต่ฉันไม่คิดว่ามันเป็นสิ่งเดียวกันสำหรับเซิร์ฟเวอร์

เซิร์ฟเวอร์ที่ใช้ลีนุกซ์รุ่นบูทรีบูตหลังจากอัพเกรดเคอร์เนลหรือว่าพวกมันใช้กลอุบายบางอย่างเพื่อหลีกเลี่ยงการบูท ??

คำตอบ:


8

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

เซิร์ฟเวอร์สามารถรีบู๊ตได้และบริการจะไม่ได้รับผลกระทบหากเซิร์ฟเวอร์เป็นส่วนหนึ่งของคลัสเตอร์ คุณสามารถสร้างกลุ่มไฟร์วอลล์ / เราเตอร์ด้วยเช่นกันที่ไม่มีจุดกลางของความล้มเหลว (SPOF) เมื่อต้องการทำสิ่งนี้คุณต้องใช้สิ่งที่เรียกว่า Virtual IP (VIP) ที่แชร์ผ่านระบบมากกว่าหนึ่งระบบ

หากคุณต้องการทดลองกับแนวคิดนี้คุณสามารถใช้ QEMU หรือ VirtualBox และอื่น ๆ เพื่อสร้างเครือข่ายเสมือน


8
สิ่งที่เกี่ยวกับการปรับปรุงเคอร์เนลสด?
jiggunjer

คำถามไม่เฉพาะเจาะจงกับการแก้ไขเล็กน้อย แต่กล่าวถึง 'การอัพเกรด' ซึ่งฉันจะใช้เพื่อหมายถึงการอัพเกรดรุ่นใหญ่ ดังนั้นเพื่อ 'อัพเกรด' จาก 2.6 -> 3.0 ฉันขอแนะนำให้วางเครื่องจากการโหลดก่อนเริ่มการอัพเกรด โพสต์การเปลี่ยนแปลงเคอร์เนลฉันจะรีบูต เนื่องจาก grub / lilo มีแนวโน้มที่จะต้องมีการเปลี่ยนแปลงฉันจะแนะนำให้รีบูตเครื่องด้วยความอนุเคราะห์
Ed Neville

15

ใช่พวกเขาทำการ "รีบูต" แต่สามารถทำการเรียกระบบ kexec_load เพื่อโหลดเคอร์เนลใหม่ล่วงหน้าได้

มีความเป็นไปได้ของ patching เคอร์เนลทำงานเป็นเช่นกันRedHat kpatchตัวอย่างเช่น ทุกสิ่งที่ทำเช่นนี้ที่ฉันรู้ไม่สามารถเปลี่ยนโครงสร้างข้อมูลได้

แน่นอนว่าเครื่องเสียงกระเพื่อมที่ใช้ในการแก้ไขเมล็ดของพวกเขาทำงานในศตวรรษที่ผ่านมา


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