การแก้ไขแพทช์แบบเรียลไทม์ของ SLES ทำอะไรได้บ้าง
การแพตช์สดเคอร์เนล (Kernel Live Patching หรือ KLP) ของ SUSE Linux Enterprise Server (SLES) จะทำการแก้ไขเคอร์เนลที่ได้รับการสนับสนุนลงในระบบที่กำลังทำงานอยู่โดยไม่ต้องรีสตาร์ท ใน SLES 15 SP7 นั้น SUSE จะส่งมอบการแก้ไขเหล่านี้ในรูปแบบแพ็กเกจแพตช์สดเคอร์เนลที่ตรงกับเวอร์ชันเคอร์เนลที่เฉพาะเจาะจงuname -rดังนั้นผลลัพธ์จึงยังคงเหมือนเดิมหลังจากทำการแพตช์สดสำเร็จแล้ว โปรดใช้เครื่องมือ KLP เพื่อตรวจสอบสถานะการแพตช์
การแพทช์แบบเรียลไทม์ช่วยลดความจำเป็นในการรีบูตเพื่อบำรุงรักษาในทันที แต่ไม่ได้ขจัดความจำเป็นในการวางแผนการรีบูตเคอร์เนล การแพทช์แบบเรียลไทม์ครอบคลุมการแก้ไขที่สำคัญบางส่วนเท่านั้น ไม่ได้แทนที่การอัปเดตเคอร์เนลปกติ การบำรุงรักษาเซอร์วิสแพ็ค หรือการแก้ไขที่ต้องรีบูต SUSE อาจไม่สามารถสร้างแพทช์แบบเรียลไทม์สำหรับทุกการแก้ไขที่เข้าเกณฑ์ได้ ควรมีเส้นทางการรีบูตตามกำหนดเวลาสำหรับการติดตั้งเคอร์เนลพื้นฐานเวอร์ชันใหม่กว่าและใช้การแก้ไขที่ไม่สามารถแพทช์ได้ทันที
คู่มือนี้ปฏิบัติตามขั้นตอนของ SLES 15 SP7 ที่เผยแพร่ในคู่มือการดูแลระบบ Kernel Live Patching with KLP ของ SUSE โปรดตรวจสอบเอกสารสำหรับ Service Pack และสถาปัตยกรรมที่แน่นอนของคุณก่อนที่จะใช้คำสั่งกับโฮสต์ที่ใช้งานจริง
คู่มืออ้างอิงฉบับย่อ
| งาน | คำสั่งหรือตรวจสอบ | มันบอกอะไรคุณบ้าง |
| ระบุเคอร์เนลที่กำลังทำงานอยู่ | uname -r | เวอร์ชันเคอร์เนลปัจจุบันอยู่ในหน่วยความจำ ไม่แสดงระดับแพทช์แบบเรียลไทม์ |
| แสดงรายการแพ็คเกจแพทช์สดที่ติดตั้งแล้ว | zypper se --details 'kernel-livepatch-*' | แพ็กเกจที่ติดตั้งแล้วหรือมีอยู่ในที่เก็บข้อมูลที่เปิดใช้งานอยู่ |
| ตรวจสอบสถานะการอัปเดตแพทช์ปัจจุบัน | sudo klp status | KLP ยังดำเนินการอยู่หรือไม่ และอยู่ในสถานะใดในปัจจุบัน |
| ตรวจสอบรายละเอียดแพทช์ที่โหลดแล้ว | sudo klp -v patches | ข้อมูลแพทช์ที่ติดตั้ง/โหลดแล้ว และการแก้ไขที่ครอบคลุม |
| ตรวจสอบวันที่รองรับการอัปเดตแพทช์ | sudo zypper lifecycle | ข้อมูลวงจรชีวิต เมื่อติดตั้งแพ็กเกจวงจรชีวิตที่จำเป็นแล้ว |
ก่อนเปิดใช้งาน KLP
- ตรวจสอบให้แน่ใจว่าโฮสต์ใช้งาน SLES 15 Service Pack และสถาปัตยกรรมที่รองรับ ขั้นตอน SP7 ด้านล่างใช้ตัวอย่างส่วนขยาย x86_64 โปรดอ่านเอาต์พุตของส่วนขยายบนโฮสต์ของคุณเอง แทนที่จะคัดลอกเส้นทางผลิตภัณฑ์หรือสถาปัตยกรรมอื่น
- ตรวจสอบให้แน่ใจว่าการสมัครใช้งาน SLES และสิทธิ์การใช้งาน SLE Live Patching เปิดใช้งานอยู่ และขอรับรหัสลงทะเบียน Live Patching จากศูนย์บริการลูกค้า SUSE
- ตรวจสอบให้แน่ใจว่าโฮสต์สามารถเข้าถึงที่เก็บข้อมูล SUSE ที่กำหนดค่าไว้ หรือบริการอัปเดตแบบมิเรอร์ขององค์กรของคุณได้ สำหรับกลุ่มเครื่องที่ได้รับการจัดการ ให้ตรวจสอบว่าช่องทางที่เก็บข้อมูลมีเนื้อหาแพตช์แบบเรียลไทม์ที่ตรงกันหรือไม่
- บันทึกข้อมูล
uname -rสถานะระบบล่าสุด และแผนการบำรุงรักษาปัจจุบัน ทดสอบขั้นตอนดังกล่าวบนเซิร์ฟเวอร์ที่ไม่ใช่เซิร์ฟเวอร์ใช้งานจริงหากเป็นไปได้
- ควรคงกระบวนการอัปเดตเคอร์เนลและการรีบูตตามปกติไว้ การแก้ไขแบบเรียลไทม์ช่วยลดความเร่งด่วนสำหรับบางปัญหา และไม่ได้ทำให้เคอร์เนลที่ใช้งานอยู่เป็นเวอร์ชันล่าสุดตลอดไป
เปิดใช้งานการแพทช์เคอร์เนลแบบเรียลไทม์สำหรับ SLES 15 SP7
1. ตรวจสอบคำสั่งส่วนขยายที่มีอยู่
เรียกใช้รายการส่วนขยายและค้นหารายการ SLE Live Patching ที่ตรงกับผลิตภัณฑ์ที่ติดตั้งไว้:
sudo SUSEConnect --list-extensions
สำหรับ SLES 15 SP7 บน x86_64 เอกสารของ SUSE ระบุขั้นตอนการเปิดใช้งานไว้ดังนี้sle-module-live-patching/15.7/x86_64ผลลัพธ์บนเครื่องของคุณถือเป็นข้อมูลที่ถูกต้องที่สุด: โปรดยืนยันว่าเวอร์ชันและสถาปัตยกรรมตรงกันก่อนดำเนินการต่อ
2. ลงทะเบียนส่วนขยาย Live Patching
ใช้คำสั่งการเปิดใช้งานที่แสดงโดย โดยSUSEConnect --list-extensionsแทนที่ด้วยรหัสลงทะเบียนที่ถูกต้องของคุณ ตัวอย่างสำหรับ SLES 15 SP7 x86_64:
sudo SUSEConnect -p sle-module-live-patching/15.7/x86_64 \
-r LIVE_PATCHING_REGISTRATION_CODE
ห้ามวางรหัสลงทะเบียนจริงลงในตั๋วที่ใช้ร่วมกัน บันทึกการทำงานของเชลล์ หรือบันทึกสาธารณะ หากการลงทะเบียนล้มเหลว ให้ตรวจสอบรหัส สถานะการสมัครใช้งาน เส้นทางผลิตภัณฑ์ การเข้าถึงเครือข่าย และตรวจสอบว่าเครื่องนั้นได้ลงทะเบียนกับองค์กร SUSE Customer Center ที่คาดไว้แล้วหรือไม่
3. ติดตั้งรูปแบบที่ต้องการ
ติดตั้งโปรแกรม Live Patching และส่วนประกอบที่จำเป็น:
sudo zypper install -t pattern lp_sles
โปรดตรวจสอบการเปลี่ยนแปลงที่ Zypper เสนอก่อนยืนยัน รูปแบบนี้จะติดตั้งส่วนประกอบ KLP พื้นฐานและแพทช์สดเบื้องต้น เมื่อตัวจัดการแพ็กเกจพบแพทช์สดสำหรับเคอร์เนลที่กำลังทำงานอยู่ในที่เก็บข้อมูลที่เปิดใช้งาน เคอร์เนลที่กำลังทำงานอยู่จะสามารถได้รับการแก้ไขระหว่างการติดตั้งแพ็กเกจได้ การแก้ไขจะพร้อมใช้งานหรือไม่นั้นขึ้นอยู่กับเวอร์ชันเคอร์เนลและเนื้อหาในที่เก็บข้อมูลอย่างแม่นยำ
ทำการอัปเดตและตรวจสอบผลลัพธ์
หลังจากเปิดใช้งานแล้ว ให้ติดตั้งแพ็กเกจแพตช์แบบเรียลไทม์ผ่านกระบวนการอัปเดต SLES ตามปกติ ก่อนอื่นให้รีเฟรชเมตาเดตาของที่เก็บและตรวจสอบแพตช์ที่มีอยู่ จากนั้นใช้การอัปเดตตามการควบคุมการเปลี่ยนแปลงตามปกติขององค์กรของคุณ ตัวอย่างเช่น:
sudo zypper refresh
sudo zypper patch
โปรดอ่านรายละเอียดธุรกรรมที่เสนออย่างละเอียด แพ็กเกจแพตช์แบบเรียลไทม์สำหรับเคอร์เนลที่กำลังทำงานอยู่สามารถติดตั้งได้โดยไม่ต้องรีบูต แต่การอัปเดตแพ็กเกจเคอร์เนลตามปกติอาจยังคงแจ้งให้รีบูต อย่าปิดการแจ้งเตือนนั้นหรือล็อกการอัปเดตเคอร์เนลเป็นวิธีแก้ปัญหาถาวร หากมีการติดตั้งเคอร์เนลพื้นฐานเวอร์ชันใหม่กว่า โปรดวางแผนการรีสตาร์ทอย่างรอบคอบเพื่อเริ่มใช้งานและดำเนินการบำรุงรักษาเคอร์เนลให้เสร็จสมบูรณ์
ตรวจสอบแพทช์แบบเรียลไทม์โดยอิสระจากสตริงการเผยแพร่เคอร์เนล:
uname -r
sudo klp status
sudo klp -v patches
zypper se --details 'kernel-livepatch-*'
ใช้klp statusสำหรับตรวจสอบสถานะการทำงานและklp -v patchesรายละเอียดของแพทช์ รวมถึงการแก้ไขที่เกี่ยวข้องกับแพทช์ที่ใช้งานอยู่ SUSE ระบุว่าข้อมูลนี้uname -rจะไม่เปลี่ยนแปลงสำหรับเคอร์เนลที่ได้รับการติดตั้งแพทช์แล้ว การมีแพ็กเกจที่ติดตั้งอยู่เพียงอย่างเดียวไม่เพียงพอที่จะพิสูจน์ได้ว่าแพทช์ที่คาดหวังได้รับการโหลดแล้ว โปรดตรวจสอบเอาต์พุตสถานะ KLP
ข้อจำกัดในการปฏิบัติงานและการตัดสินใจรีสตาร์ท
- การครอบคลุมการแก้ไขนั้นค่อนข้างเลือกสรรขอบเขตที่ SUSE ระบุไว้ ได้แก่ การแก้ไขช่องโหว่ระดับ SUSE CVSS ระดับ 7 ขึ้นไป และการแก้ไขปัญหาด้านเสถียรภาพหรือการเสียหายของข้อมูล แต่ข้อจำกัดทางเทคนิคหมายความว่าไม่ใช่ทุกปัญหาที่เข้าเกณฑ์จะได้รับการแก้ไขแบบเรียลไทม์
- แพตช์นั้นเฉพาะเจาะจงกับเคอร์เนลและเป็นการสะสมแพตช์แพ็กเกจแบบเรียลไทม์จะกำหนดเป้าหมายไปยังเวอร์ชันเคอร์เนลที่แน่นอน แพตช์แพ็กเกจล่าสุดสำหรับเคอร์เนลหนึ่งจะไม่สามารถแก้ไขเวอร์ชันเคอร์เนลอื่นได้โดยอัตโนมัติ
- การอัปเดตเคอร์เนลพื้นฐานยังคงมีความสำคัญแพตช์แบบเรียลไทม์เป็นการป้องกันชั่วคราวสำหรับการแก้ไขข้อบกพร่องที่เลือกไว้ การอัปเดตเคอร์เนลเป็นประจำอาจต้องรีบูตเครื่องและนำมาซึ่งการเปลี่ยนแปลงอื่นๆ ด้วย
- การสนับสนุนมีระยะเวลาหมดอายุ คู่มือ SLES 15 SP7 ระบุว่าแพตช์แบบสดจะได้รับการอัปเดตเป็นเวลา 13 เดือนนับจากวันที่เผยแพร่แพ็กเกจเคอร์เนลพื้นฐาน ตรวจสอบวันที่ปัจจุบันกับข้อมูลวงจรชีวิตและ ตารางแพตช์แบบสดและตารางเคอร์เนลที่ SUSE ดูแลอยู่ในปัจจุบัน
- สถาปัตยกรรมหรือผลิตภัณฑ์บางอย่างอาจใช้คำสั่งไม่เหมือนกันคู่มือ SLES 15 SP7 KLP ระบุเฉพาะ AMD64/Intel 64, POWER และ IBM Z โปรดตรวจสอบคู่มือเฉพาะผลิตภัณฑ์และสิทธิ์การใช้งานของคุณก่อนเริ่มใช้งานจริง
รายการตรวจสอบการแก้ไขปัญหา
| อาการ | เช็ค |
| ส่วนขยายหายไปจากรายการ | ตรวจสอบการลงทะเบียนผลิตภัณฑ์ สิทธิ์การใช้งาน แพ็คเกจบริการ สถาปัตยกรรม การเข้าถึงที่เก็บข้อมูล และความพร้อมใช้งานของส่วนขยายที่แน่นอนใน SUSE Customer Center |
| ไม่พบแพ็คเกจแพทช์แบบเรียลไทม์ | เปรียบเทียบuname -rกับชื่อแพ็กเกจและเนื้อหาในที่เก็บแพ็กเกจ ต้องมีแพทช์สำหรับเคอร์เนลที่ใช้งานอยู่จริงและสามารถเข้าถึงได้ผ่านช่องทางที่เปิดใช้งานอยู่ |
| ติดตั้งแพ็กเกจแล้ว แต่สถานะไม่เป็นไปตามที่คาดไว้ | ตรวจสอบsudo klp statusและsudo klp -v patchesแยกแยะแพ็กเกจที่ติดตั้งแล้วออกจากแพทช์ที่โหลดอยู่ในเคอร์เนลที่กำลังทำงานอยู่ |
| Zypper ขอให้รีบูต | ตรวจสอบว่าธุรกรรมได้รับการอัปเดตkernel-defaultหรือไม่ หรือมีส่วนประกอบอื่นใดที่ต้องรีสตาร์ทหรือไม่ ปฏิบัติตามขั้นตอนการอนุมัติและการบำรุงรักษาการรีสตาร์ทตามปกติ |
| ไม่มีการระบุวันที่ของวงจรชีวิต | ตรวจสอบให้แน่ใจว่าได้ติดตั้งข้อมูลวงจรชีวิตสำหรับ SLE Live Patching แล้ว จากนั้นเรียกใช้คำสั่งอีกsudo zypper lifecycleครั้ง |
หากพบว่าแพทช์อัปเดตใหม่ทำให้เกิดปัญหา ให้หยุดการติดตั้งแพทช์เพิ่มเติมและตรวจสอบบันทึกเคอร์เนลและสถานะการทำงานของบริการ เอกสารของ SUSE ระบุวิธีการดาวน์เกรดด้วยตนเองสำหรับระบบที่เหมาะสม แต่เตือนว่าระบบที่แสดงคำเตือนหรือข้อผิดพลาดของเคอร์เนลอยู่แล้วอาจไม่เหมาะสม ให้ใช้เวอร์ชันของแพ็คเกจแพทช์ที่ตรงกันและติดต่อฝ่ายสนับสนุนของ SUSE เมื่อไม่แน่ใจเกี่ยวกับสถานะของระบบ หลีกเลี่ยงการดาวน์เกรดโดยไม่ตรวจสอบอย่างละเอียดบนเคอร์เนลที่ใช้งานจริง
รายการตรวจสอบการเปิดตัว
- ตรวจสอบความถูกต้องของ Service Pack, สถาปัตยกรรม, การสมัครใช้งาน และช่องทางคลังเก็บข้อมูลของ SLES
- บันทึกข้อมูลเคอร์เนลที่กำลังทำงานอยู่และสถานะสุขภาพพื้นฐานของโฮสต์
- ลงทะเบียนส่วนขยาย SLE Live Patching และติด
lp_slesตั้ง
- ดำเนินการอัปเดตผ่านขั้นตอนการทำงานปกติของแพ็กเกจ และตรวจสอบธุรกรรมแต่ละรายการ
- ตรวจสอบความถูกต้องของแพทช์ที่โหลดแล้วด้วย
klp statusและklp -v patches.
- ติดตามวันที่ของวงจรการพัฒนาแพทช์และกำหนดเวลาการรีบูตเคอร์เนลหลักเป็นประจำ
สำหรับการบริหารจัดการระบบคลาวด์ ให้ใช้เวิร์กโฟลว์การจัดการ SUSE ที่องค์กรของคุณทดสอบแล้ว และตรวจสอบให้แน่ใจว่าช่องทางต่างๆ แสดงแพ็กเกจแพทช์แบบเรียลไทม์ที่ตรงกันเอกสารการตั้งค่าช่องทาง SUSE Multi-Linux Manager อย่างเป็นทางการ อธิบายถึงการเตรียมช่องทางสำหรับ SLES 15 SP7