Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
4.4.9. Kernel 當機集(Kdump)的變更
kernel 當機集工具 kdump,先前會為透過自訂的 mkdumprd script 截取 kernel 的 kdump 產生初始 ramdisk(
initrd
)。在 Red Hat Enterprise Linux 7 中,初始 ramdisk 是以 dracut 所產生的,這使產生初始 ramdisk 的程序變得更為容易。
因為此變動,kdump 及其配置檔案進行了以下變更。
net
指令已不再受到支援。使用者現在必須明確定義ssh
或nfs
。blacklist
選項已不再受到支援。使用者現在已能在其截取的 kernel 的/etc/sysconfig/kdump
檔案中指定rd.driver.blacklist
作為參數。- 預設的
mount_root_run_init
動作(若傾印至特定目標失敗,此動作便會進行)已被替換為dump_to_rootfs
動作。與其在kdump
服務啟用時掛載真實的 root 檔案系統、執行 init script,並嘗試儲存 vmcore,這項新動作會掛載 root 檔案系統並即刻儲存 vmcore 至該 root 檔案系統。 dracut_args
這項新指令能讓您在配置 kdump 時指定額外的 dracut 引數。debug_mem_level
選項已不再包含在 kdump 中。這項功能已被移至 dracut。使用者可藉由在其截取的 kernel 的/etc/sysconfig/kump
中指定rd.memdebug
作為參數,來達到相同的效果。options
指令先前被使用來包含初始 ram 檔案系統(initramfs
)中的 kernel 模組特屬參數。此方式在 Red Hat Enterprise Linux 7 中不受到支援。使用者能在其截取的 kernel 的/etc/sysconfig/kdump
檔案中指定相關參數。link_delay
和disk_timeout
參數已不再是必要的,並且已不受支援,因為 dracut 包含了udev
而它亦支援了先前需使用這些參數的動作。- 在 kdump 服務啟用和初始 ramdisk 映像檔被建立前,任何的檔案系統後端傾印目標皆必須掛載在當機的 kernel 中。您可藉由將這些目標加入
/etc/fstab
中,讓它們在開機時自動掛載,以達到此效果。 - 若您指定了一個路徑,但卻不指定目標,而您所指定之路徑中的任何目錄皆為獨立裝置的各別掛載點,則 vmcore 將會被儲存至該路徑上,而不是掛載在該路徑上的裝置中。因此,當您的系統重新啟動,而裝置掛載時,vmcore 將無法存取,因為裝置已掛載在其位置上方。Red Hat Enterprise Linux 7 現在已會針對于此問題,在您未指定目標前卻指定路徑時發出警告。
欲取得更多有關於 kdump 上的相關資訊,請參閱《Red Hat Enterprise Linux 7 Kernel 當機傾印指南》,位於〈http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/〉