Ubuntu LTSでHWEスタックを使いこなす:古いカーネルでハードウェアの性能を制限しないために

Ubuntu tutorial - IT technology blog
Ubuntu tutorial - IT technology blog

Ubuntu LTS(長期サポート版)を運用する際、私たちは通常, 安定性を最優先します。しかし、その代償としてカーネルやドライバーが最新のハードウェアに追いつかなくなることがあります。Dell PowerEdgeサーバーや第13世代Intelワークステーションで6ヶ月間運用した経験から、HWE(Hardware Enablement)スタックの習得は不可欠なスキルだと実感しました。これを無視すると、高価なハードウェアの性能を無駄にしてしまうことになります。

なぜUbuntu LTSにHWEスタックが必要なのか?

デフォルトでは、Ubuntu 22.04 LTSはカーネルGA(General Availability)のバージョン5.15を使用しています。このバージョンは非常に安定していますが、2022年初頭にパッケージ化されたものです。もしRTX 40シリーズのグラフィックカードやWi-Fi 7チップを搭載している場合、カーネル5.15ではデバイスが認識されなかったり、動作が不安定になったりすることがよくあります。

HWEスタックは、短期間サポート版(Ubuntu 23.10など)のカーネルとドライバーをLTS版に導入することで、この問題を解決します。これにより、LTSのOSとしての安定性と、最新ハードウェアへの対応力の両立が可能になります。

以前、NVMe Gen 4を使用したサーバークラスターでボトルネックが発生した際、デフォルトのカーネルでは読み書き速度が設計性能の60%しか出ていませんでした。しかし、HWEを有効にしてカーネル6.5にアップグレードしたところ、IOPSが45万から70万以上に急増しました。これは、適切なタイミングでカーネルを更新することの重要性を示す最良の証拠です。

ServerおよびDesktopでのHWEスタックのインストール方法

開始する前に、現在のカーネルバージョンを確認しましょう。ターミナルを開き、以下のコマンドを実行します。

uname -r
# システムがHWEをサポートしているか確認する
hwe-support-status --verbose

1. Ubuntu Desktop(ワークステーション)でのインストール

最新のドライバーを必要とするグラフィック制作やゲームを楽しむユーザー向けです。このコマンドは、カーネルとX11グラフィックススタックの両方を更新します。

sudo apt update
sudo apt install --install-recommends linux-generic-hwe-22.04

注:”22.04″ の部分は、現在使用しているバージョン(例:20.04)に置き換えてください。

2. Ubuntu Serverでのインストール

サーバー環境では、I/OやCPUの最適化のために新しいカーネルだけが必要で、重いグラフィックスパッケージは不要です。以下のコマンドを使用します。

sudo apt update
sudo apt install --install-recommends linux-generic-hwe-22.04

インストール完了後、新しいカーネルを読み込むために必ず再起動してください。

sudo reboot

高度なカーネル管理と設定

HWEを導入すると、apt upgradeを実行するたびに新しいカーネルが自動的に更新されます。ただし、プロダクション環境では、Dockerや独自のモジュールとの競合を避けるために厳密な管理が必要です。

インストールされているカーネルリストの確認

/bootパーティションの容量不足を防ぐために、システムに保存されているカーネルの数を確認するには以下を使用します。

dpkg --list | grep linux-image

Grubをカスタマイズして起動カーネルを選択する

新しいカーネルで問題が発生した場合、Grubメニューから古いバージョンに戻ることができます。設定ファイルを編集しましょう。

sudo nano /etc/default/grub

カーネル選択メニューが常に5秒間表示されるように、以下のパラメータを変更します。

GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=5

ファイルを保存した後、Grubの更新を忘れないでください:sudo update-grub

アップグレード後のモニタリング手順

再起動して終わりではありません。システムが円滑に動作しているか確認するために、私は通常3ステップのチェックを実施します。

1. システムログ(Dmesg)の確認

このコマンドにより、互換性のないドライバーやファームウェアのエラーを即座に発見できます。

dmesg | grep -i error
dmesg | grep -i firmware

ネットワークカードやディスクコントローラーのファームウェア不足が表示された場合は、linux-firmwareパッケージを追加でインストールしてください。

2. 実際のパフォーマンス監視

新しいアーキテクチャのCPU(Intel Alder Lakeなど)では、HWEのカーネル6.xの方がPコアとEコアの管理が格段に優れています。htopを使用して、カーネルがタスクをどのように割り当てているか観察してください。I/Oを確認するには、sysstatをインストールします。

sudo apt install sysstat
iostat -xz 1

3. 切り戻しプラン(Rollback)

システムが不安定な場合は、HWEを削除して元のGA版に戻します。正しい手順で行えば、この操作は比較的安全です。

sudo apt remove linux-generic-hwe-22.04
sudo apt autoremove
sudo update-grub
sudo reboot

HWEスタックへのアップグレードは、過去2年以内にリリースされたハードウェアを使用している場合に賢明な選択となります。システムの遅延を減らし、ハードウェアの帯域幅を最大限に活用できます。強力なサーバーが、数年前の古いコードによって制限されないようにしましょう。

システムの最適化が成功することを願っています!

Share: