4.4.9. Kernel 當機集(Kdump)的變更

kernel 當機集工具 kdump,先前會為透過自訂的 mkdumprd script 截取 kernel 的 kdump 產生初始 ramdisk(initrd)。在 Red Hat Enterprise Linux 7 中,初始 ramdisk 是以 dracut 所產生的,這使產生初始 ramdisk 的程序變得更為容易。
因為此變動,kdump 及其配置檔案進行了以下變更。
  • net 指令已不再受到支援。使用者現在必須明確定義 sshnfs
  • 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_delaydisk_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/