LPC 2022:Linux內核實時補丁在數百萬台Meta服務器上運行良好
在本週的LPC 2022 大會上,Meta / Facebook 披露旗下的數百萬台服務器,已轉向使用Red Hat 的Kpatch 內核實時補丁(KLP)解決方案。同時Meta 工程師分享了他們在這項實時補丁基礎設施上取得的成功,以及在此過程中遇到的麻煩。可知與大多數組織一樣,這項轉進旨在減少內核更新導致的服務器停機時間—— 尤其是無止境的安全更新流程。
(via Phoronix)
熟悉服務器應用場景的朋友,一定不會對冗長的開機自檢(POST)和完全重啟所需的時間感到陌生。
而通過引入內核實時修補方案,當一切按計劃進行時,服務器將能夠實現近乎無縫的新內核遷移。
具體說來是,livepatching 允許內核函數在運行時安全地實施就地修補。
而除了內核基礎設施,Meta 還選用了Red Hat 的Kpatch 解決方案。
同時SUSE 有在持續維護kGraft,Oracle 也有提供Ksplice 方案。
不過在針對數百萬台服務器的Linux 實時補丁試驗過程中,Meta 工程師們也追踪記錄了需要克服的一些問題(比如性能方面)。
報告的內容,主要涉及在實時修補更高的I/O、fsync 延遲、以及TCP 重傳率期間,可能出現持續1~2 秒的問題。
Meta 工程師們一直在努力應對極端狀況,尤其是更好地處理Clang 編譯的PGO 優化內核構建等方面、以及其它有助於提升穩健性的項目。
最後,對Meta 大規模內核修補工作感到好奇的朋友,可移步查看LPC 2022 大會的幻燈片和完整視頻記錄。