章 19. Kernel

AMD64 與 Intel 64 系統上,多 CPU 對 kdump 的支援

現在在 AMD64 與 Intel 64 系統上,kdump kernel 當機傾印機制可以在啟用了超過一個 CPU 時啟動。這解決了擁有大量記憶體空間的系統上,因為建立 kernel 傾印檔案時所產生的高 I/O 時,且 Linux 在啟用了單個 CPU 時("maxcpus=1" 或 nr_cpus=1),無法為裝置分配中斷的問題.
要在當機的 kernel 中啟用多個 CPU,請在 kernel 的命令列中提供 nr_cpus=X 選項(其中 X 是處理器的數量)與 disable_cpu_apicid=0 選項。

criu 工具

RHEL 7.2 納入了 criu 工具作為技術預覽版。這工具實作了 Checkpoint/Restore in User-space(在使用者空間中的回溯點 / 回復功能),可以用來凍結執行中的應用程式,並將其收藏為檔案。之後,這應用程式可以從凍結狀態中回復。
criu 工具依附於 Protocol Buffers(通訊協定緩衝區),是個與語言、平台中立的延伸機制,給序列化結構的資料使用。protobufprotobuf-c 套件提供了相依性,也加入了 RHEL 7.2 作為技術預覽版。

使用者命名空間

這功能對執行 Linux container 的伺服器,提供了額外的安全性,方法是在主機與 container 之間,提供隔離功能。container 的管理者再也不能於主機上進行系統管理方面的操作,這加強了安全性。

IBM System z 的 LPAR Watchdog

IBM System z 有了改良過的 watchdog 驅動程式,作為技術預覽版。這驅動程式支援 LPAR(Linux 邏輯分割區,Linux logical partition)以及 z/VM hypervisor 中的 Linux 客座端,並在 Linux 系統無法回應時,提供自動重新開機與自動傾印的能力。

使用 kpatch 動態更新 kernel

kpatch 工具程式能讓使用者管理多個 kernel 修補檔,進而動態升級 kernel,且不需要重新開機。kpatch 目前是技術預覽版,只支援 AMD64 與 Intel 64 架構。

i40evf 處理大型重置

VF(虛擬函數,Virtual Function)最常遇到的重置類型是 PF(實體函數,Physical Function)重置,後者會依序重置每個 VF。然而,對於「較大」(bigger)的重置,例如 Core 或 EMP 重置,當裝置重新初始化時,之前 VF 沒有取得同樣的 VSI,因此 VF 無法復原,會繼續為原始的 VSI 請求資源。作為技術預覽功能,這項更新為管理佇列狀態的機器新增了額外狀態,這樣一來,驅動程式可以在執行時重新請求其配置資訊。再重置復原時,這個位元會在 aq_required 欄位中設定,同時在試圖將驅動程式重新啟用時,會取得配置資訊。