手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 カーネルモジュールの設定

Ubuntu 26.04 OS 設定の関連記事

Ubuntu 26.04 をサーバーとして使う場合、KVM、コンテナ、Kubernetes、ブリッジネットワークなどで特定のカーネルモジュールが前提になることがあります。モジュールは一時的に読み込むだけでなく、再起動後にも同じ状態になるように永続化しておく必要があります。

この記事では、現在読み込まれているモジュールの確認、modprobe による一時読み込み、/etc/modules-load.d/ による永続化、再起動後の確認観点を整理します。

この記事で整理すること
  • カーネルモジュールの現在状態を確認する
  • 必要なモジュールを modprobe で一時的に読み込む
  • /etc/modules-load.d/ で再起動後も読み込まれるようにする
  • KVM、Kubernetes、ブリッジネットワークで関係する代表例を押さえる
対象 OSUbuntu 26.04
確認コマンドlsmod / modinfo / systemctl status systemd-modules-load
一時読み込みmodprobe
永続化/etc/modules-load.d/*.conf
代表例br_netfilter / overlay / kvm / kvm_intel / kvm_amd
  1. 1
    必要なモジュールを特定する
    Kubernetes、KVM、ネットワーク機能など、目的に応じて必要なモジュールを確認します。
  2. 2
    現在の読み込み状態を確認する
    lsmod で読み込み済みか確認します。
  3. 3
    一時的に読み込む
    modprobe で現在の起動中カーネルへ反映します。
  4. 4
    永続化する
    /etc/modules-load.d/ に設定ファイルを置き、再起動後も読み込まれるようにします。
  5. 5
    再起動後に確認する
    一時反映と永続化を混同しないよう、再起動後の状態を確認します。
参考
書籍
参考書籍

Advanced Ubuntu Administration and Management Best Practices

Ubuntu Server のカーネル、ネットワーク、運用設定を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

カーネルモジュールを確認する場面

カーネルモジュールは、Linux カーネルに機能を追加する仕組みです。普段は意識しなくても自動的に読み込まれることがありますが、サーバー用途では明示的に確認した方がよい場面があります。

  • Kubernetes ノードで br_netfilteroverlay が必要になる
  • KVM で kvmkvm_intelkvm_amd を確認する
  • Linux bridge やコンテナネットワークで bridge 関連の挙動を確認する
  • 再起動後に同じモジュールが読み込まれるか確認する
モジュールは、現在読み込まれていることと、再起動後にも読み込まれることを分けて考えます。modprobe だけでは一時反映であり、永続化には別途設定が必要です。

現在の状態を確認する

まず、カーネルバージョンと現在読み込まれているモジュールを確認します。

コマンド
uname -r
lsmod | head
lsmod | grep -E 'br_netfilter|overlay|kvm' || true

特定のモジュールが存在するか、どのような説明を持つかは modinfo で確認できます。

コマンド
modinfo br_netfilter
modinfo overlay

一時的に読み込む

起動中のシステムへ一時的にモジュールを読み込むには modprobe を使います。次は Kubernetes やコンテナネットワークでよく確認する例です。

コマンド
sudo modprobe br_netfilter
sudo modprobe overlay
lsmod | grep -E 'br_netfilter|overlay'
modprobe による読み込みは、現在の起動中カーネルに対する反映です。再起動後も必要な場合は、次の永続化を行います。

再起動後も読み込むようにする

再起動後もモジュールを読み込むには、/etc/modules-load.d/ 配下に設定ファイルを作成します。

設定ファイル例
sudo tee /etc/modules-load.d/container-network.conf >/dev/null <<'EOF'
br_netfilter
overlay
EOF

設定ファイルを作成したら、systemd-modules-load の状態とログを確認します。

コマンド
systemctl status systemd-modules-load --no-pager
journalctl -u systemd-modules-load --no-pager

KVM で確認するモジュール

KVM を使う場合は、CPU に応じて kvm_intel または kvm_amd が関係します。仮想化支援が有効か、モジュールが読み込まれているかを確認します。

コマンド
lsmod | grep kvm || true
egrep -c '(vmx|svm)' /proc/cpuinfo
vmx は Intel VT-x、svm は AMD-V を示します。値が 0 の場合は、ハードウェアやファームウェア設定、仮想化環境側のネスト設定を確認します。

再起動後の確認

サーバー設定は、再起動後に同じ状態へ戻ることが重要です。手動で一時的に反映した設定と、永続化された設定を混同しないようにします。

コマンド
sudo reboot
lsmod | grep -E 'br_netfilter|overlay|kvm' || true
systemctl status systemd-modules-load --no-pager
journalctl -u systemd-modules-load --no-pager
再起動を含む確認は、作業中の SSH 接続やサービス影響を考慮して実施します。すぐに再起動できない環境では、次回メンテナンス時の確認項目として残しておきます。

まとめ

Ubuntu 26.04 のカーネルモジュール設定では、現在読み込まれている状態、一時的な読み込み、再起動後の永続化を分けて確認します。特に Kubernetes、KVM、ブリッジネットワークでは、前提となるモジュールが読み込まれていないと、上位の設定が正しくても期待どおり動かないことがあります。

運用では、lsmodmodinfomodprobe/etc/modules-load.d/systemd-modules-load のログをセットで確認すると、原因を追いやすくなります。

Ubuntu 26.04 OS 設定の関連記事
Ubuntu 26.04 カーネルモジュールの設定

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る