Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
章 3. Kernel
qla4xxx
驅動程式的預設行為,是讓介面卡的韌體管理探索過程,並登入 iSCSI 目標。RHEL 6.2 中的新功能能讓您使用 open-iscsi 管理 qla4xxx
探索過程與登入過程。這能提供更一致的管理過程。
qla4xxx
iSCSI 韌體設定可以透過以下方式存取:
~]# iscsiadm -m fw
ql4xdisablesysfsboot=1
參數來停用,如下所示:
- 設定
/etc/modprobe.d
檔案中的參數:~]#
echo "options qla4xxx ql4xdisablesysfsboot=1" >> /etc/modprobe.d/qla4xxx.conf
- 請執行以下任一指令,重新載入
qla4xxx
模組。~]#
rmmod qla4xxx
~]#modprobe qla4xxx
或重新啟動系統(如果您是透過qla4xxx
裝置啟動的話)。
qla4xxx
裝置啟動時,從 RHEL 6.1 更新到 RHEL 6.2會導致系統無法透過新 kernel 開機。欲知本問題的更多詳情,請參閱《技術公告》。
Kdump(以 kexec 為基礎的當機傾印機制)現在支援 RHEL 6 的檔案系統之核心傾印功能:
- Btrfs(請注意此檔案系統為技術搶先版)
- ext4
- XFS(請注意 XFS 是階層性產品,要安裝後才可以啟用此功能)
pkgtemp
模組已經與 coretemp
模組合併。前者已被淘汰;後者支援本身的舊有功能,加上前者所支援的功能。
coretemp
僅提供每個 CPU 核心的溫度,而 pkgtemp
模組則提供了 CPU 的整體溫度。在 RHEL 6.2 中,coretemp
模組能讓使用者讀取核心(core)、非核心(uncore)與整體(package)的溫度。
在 RHEL 6.2 中,SCSI 中間層支援選用的無鎖定分配 SCSI 驅動程式(lockless dispatching SCSI driver)queuecommand
功能。
scsi_host_template
結構的未使用旗標會由 SCSI 驅動程式所使用,指向 SCSI 中間層,這中間層是由 queuecommand
所分配且不持有 SCSI 主匯流排鎖定。
Scsi_Host
會在驅動程式 queuecommand
分配時鎖定。在使用 scsi_host_alloc
之前設定 scsi_host_template
非鎖定位元會導致驅動程式的 queuecommand
功能在不持有 Scsi_Host
鎖的情況下分配。在這種情況下,任何鎖定保護的責任都會被「push down」(推下)到驅動程式的 queuecommand
程式路徑。
queuecommand
:
- iscsi_iser
- be2iscsi
- bnx2fc
- bnx2i
- cxgb3i
- cxgb4i
- fcoe(軟體 fcoe)
- qla2xxx
- qla4xxx
RHEL 6.2 包括了對 FCoE(Fiber Channel over Ethernet)目標模式的支援,這是「技術搶先版」。kernel 功能會透過 targetadmin 完成,由 fcoe-target-utils 套件所提供。FCoE 是設計於網路中支援資料中心橋接(DCB,Data Center Bridging)。進一步的詳細資料可參閱 dcbtool(8)
與 targetadmin(8)
man page。
重要
RHEL 6.1 裡,鑑於 BZ#605786,crashkernel=auto
開機參數已經淘汰。然而,就 RHEL 6.2 而言,crashkernel=auto
仍然持續於 RHEL 6 系統中運作。
mdadm
與 mdmon
工具程式已經更新,以支援自動重建陣列、RAID 等級遷移、RAID 5 的支援限制、以及 SAS-SATA 驅動程式漫遊。
RHEL 6.2 支援 flush 請求的合併功能,以支援慢速進行 flush 的裝置。
RHEL 6.2 新增了 UV2 Hub 的支援功能。UV2 是 UVhub 晶片,承襲了目前的 UV1 hub 晶片。UV2 使用了發展中的 HARP hub 晶片。UV2 提供了新 Intel 插槽的支援。其新功能也改善了效能。UV2 是設計來支援 SSI 裡的 64 TB 記憶體。除此之外,節點控制器 MMR 已經為了 UV 系統而更新。
RHEL 6.2 引介了 acpi_rsdp
開機參數,讓 kdump 能傳遞 ACPI RSDP 位址,這樣一來 kdump kernel 就能不需要 EFI 啟動。
QETH 網路驅動程式以增加了以下功能:
af_iucv
HiperSockets 傳輸的功能- 支援強迫訊號介面的指引
- 支援儲存區塊的非同步發送
if_ether
模組加入新的乙太網路通訊協定 ID
加入了對新 CPACF(CP Assist for Cryptographic Function)演算法則的支援,這是由 IBM zEnterprise 196 所支援。新的硬體加速演算法則:
- AES 的 CTR 模式
- DES 與 3DES 的 CTR 模式
- AES(金鑰長度為 128 與 256 位元)的 XTS 模式
- GCM 模式的 GHASH 訊息摘要
RHEL 6.2 透過 pci=realloc
kernel 參數,支援視情況而定的資源分配。這功能是新增動態分配 pci 資源、而不會造成任何劣化的過渡方案。預設上它會停用動態分配,但透過新增 pci=realloc
kernel 命令列參數,加入啟用的權利。
預設上,動態分配會被停用。使用者可以透過 pci=realloc
kernel 命令列參數來啟用。除此之外,橋接資源已經更新,提供更多 PCI 指定 / 非指定
呼叫功能。
RHEL 6.2 在 kernel 中啟用了 SMEP(監管模式執行保護,Supervision Mode Execution Protection),提供了強迫機制,讓系統在管理者模式下設定需求,不從使用者分頁執行。這項需求會由 CPU 強迫,避免 CPU 處於管理模式時,來自使用者模式的不負責任攻擊,入侵系統程式碼的弱點。
加入最新 Intel 平台的加速快速字串 REP
MOVSB
/STORESB
指令的支援。
USB 3.0 xHCI 主機端驅動程式已經更新,新增了獨立 hub 的支援,讓 xHCI 主機控制晶片可以作為外部 USB 3.0 hub,方法是註冊為 USB 3.0 roothub 與 USB 2.0 roothub。
現在預設上,對 ACPI、APEI、與 EINJ 參數的支援是停用的
RHEL 6.2 新增了對 pstore 的支援 — 這是一種檔案系統介面,與平台相依的持續性儲存有關。
加入了對以 printk 為基礎的 APEI(ACPI 平台錯誤介面,ACPI Platform Error Interface)硬體錯誤回報系統的支援,提供了統一來自多種來源並發送到系統主控台的一致方式。
ioatdma
驅動程式(dma
引擎驅動程式)已經更新,以支援擁有dma
引擎的 Intel 處理器。
在 8250 PCI 序列驅動程式中,加入對 Digi/IBM PCIe 2-port Async EIA-232 介面卡的支援。除此之外,也加入了對這介面卡的 EEH(加強型錯誤處理,Enhanced Error Handling)功能。
RHEL 6.2 中已經加入了對 ARI(替代路由 ID 解讀,Alternative Routing- ID Interpretation)的支援,這是 PCIe v2 的功能。
加入給 Intel 平台對 PCIe OBFF(緩衝區清空 / 填寫最佳化,Optimized Buffer Flush/Fill)的支援。OBFF 為裝置提供了中斷與記憶體活動的訊息,以及降低電力的潛在影響,最終可以改善能量效能。
在 RHEL 6.2 中,kernel 會啟用 oops/panic 回報的擷取功能,從 dmesg
緩衝區到 PowerPC 架構的 NVRAM 上。
MXM 驅動程式負責處理 NVIDIA 平台上的圖形切換,這功能已經加入 RHEL 6.2。
RHEL 6.2 引介了分頁聯合功能(page coalescing),這是 IBM Power 伺服器上的功能,能在邏輯分頁之間聯合相同的分頁。
對於 L3 快取分割的支援功能已經加入至最新的 AMD 處理器。
thinkpad_acpi
模組已經更新,加入對 ThinkPad 新型號的支援。
Intel 處理器最新的 C-State 支援已經加入 intel_idle。
RHEL 6.2 現在會顯示 AMD 系統上 IOMMU(輸出入記憶體管理單元,Input/Output Memory Management Unit)的警告。
已經加入開機時紀錄主機板、系統、BIOS 資訊的功能。
cputable
條目已經加入了 kernel,為最新的 IBM PowerPC 處理器家族提供支援。
IBM System p 上的 VPHN(虛擬處理器主節點,Virtual Processor Home Node)功能已經停用。
以下驅動程式已支援 Intel 的最新晶片組:
i2c-i801
SMBus 驅動程式ahci
AHCI 模式 SATAata_piix
IDE 模式 SATA 驅動程式- TCO Watchdog 驅動程式
- LPC 控制晶片驅動程式
在 IVM PowerPC 系統上,sysctl 或 /proc/sys/kernel/exec-shield
參數的 exewc-shield
值不再是強制的。
64 位元的 PowerPC 與 64 位元的 IBM POWER 系列系統中,已經加入了對 kdump
的額外檢查與修正。
UV MMTIMER 模組(uv_mmtimer
)已經於 SGI 平台上啟用。uv_mmtimer
模組允許 UV 系統的即時時鐘與所有 hub 同步時,直接存取 userland。
RHEL 6.2 加入了對 IB700
模組的支援。
aer_mask_override
模組參數已經加入,提供覆寫 PCI 裝置已修正或未修正的遮罩。這遮罩的位元對應到傳到 aer_inject()
功能的狀態。
對 USB 3.0 主控制晶片的支援已加入 64 位元的 PowerPC 與 64 位元的 IBM POWER 系列系統。
RHEL 6.2 加入了改進過的 OOM(記憶體不足,Out of Memory)終止程序上游版本。改善包括:
- 即將退出的程序會由 OOM 終止程序處理。
- OOM 終止程序也會終止所選程序的子程序。
- 加入探索法以終止
forkbomb
程序。
oom_score_adj
/proc
可調整參數新增了儲存於每個程序的 oom_score_adj
變數,這可以透過 /proc
。這允許調整每個程序在使用者空間中,吸引 OOM 終止程序的能力;設定為 -1000
會完全停用 OOM 終止程序,而設定為 +1000
會將這程序標示為 OOM 的主要終止目標。
RHEL 6.2 提供了更新過的 zram
驅動程式(建立一般性 RAM 為基礎的壓縮區塊裝置)。
在 RHEL 6.2 中,kernel 中的 taskstat 工具程式(印出 ASET 任務狀態)更為加強,為 top 提供了更細緻的微秒 CPU 時間單位。
RHEL 6.2 更新了 perf 工具程式至上游的 3.1 版,加上更新 kernel 至 v3.1。詳情請參閱 BZ#725524 以得知 perf 工具程式新支援的 kernel 功能。 perf 工具程式的更新版本包括了:
- 新增對於 cgroup 的支援
- 新增
/proc/sys/kernel/kptr_restrict
的處理 - 新增更多找不到快取的百分比輸出資料
- 加入
-d -d
與-d -d -d
選項,顯示更多 CPU 事件 - 新增
--sync/-S
選項 - 新增
PERF_TYPE_RAW
參數的支援 - 新增更多
-f/--fields
選項的文件 - python-perf 套件已經加入了 python 的綁定支援
RHEL 6.2 新增了對 Intel 處理器的 OProfile 支援。
中斷需求(IRQ)的數量現在會以「所有 IRQ 總數」(sum of all irq)計數器來計算,降低在 /proc/stat
檔案中搜尋的效能成本。
RHEL 6.2 引介了排程上的改進,為排程器提供了下一組睡眠與先佔路徑的提示。這提示 / 功能改進對多任務群組中的多任務工作量有所助益。
RHEL 6.2 中,通透 Huge 分頁的改進散見於 kernel 中的多處:
- mremap、mincore、與 mprotect 的系統呼叫
/proc
可調整參數:/proc/<pid>/smaps
與/proc/vmstat
RHEL 6.2 新增了 XTS(XEX-based Tweaked CodeBook)AES256 自我測試,以符合 FIPS-140 的需求。
之前,SELinux netfilter hook 如果丟棄封包,會傳回 NF_DROP
。在 RHEL 6.2 中,netfilter 棄置封包會引起永久型致命錯誤的訊息,而非暫時性的。這樣一來,錯誤就會傳回堆疊裡,在某些地方與應用程式中,這會更快得知有地方出錯。
RHEL 6.2 裡,mount -o remount
掛載選項會傳送到新的 LSM hook 上。
預設上,RHEL 6.0 與 6.1 會以實體位址模式執行 UEFI。而預設上,RHEL 6.2 會以虛擬位址模式執行。之前的行為可以透過傳遞 physefi
kernel 參數來獲得。
在 RHEL 6 中,透過 SSH 進行 kdump 的預設 corre_collector
方法已經從 scp
變成 makedumpfile
,這能減少核心檔案的大小,進而加快在網路上複製的速度。
/etc/kdump.conf
檔案中指定以下:
core_collector /usr/bin/scp