はじめに
自宅サーバーの日常運用で地味に役立つ、Linux・Proxmoxまわりの小ネタを3つまとめました。それぞれ単独では記事1本にするほどのボリュームはありませんが、知っているかどうかで作業効率が変わるトピックです。
1. LVM-thinのディスク使用率を確認する:df -Tとlvs
LVM-thin(シンプロビジョニング)を使っている環境では、「ファイルシステム上の空き容量」と「LVM-thinプール自体の実際の使用率」が別物である点に注意が必要です。
df -Tは、マウントされているファイルシステムのタイプと使用率を表示します。
df -T
# Filesystem Type 1K-blocks Used Available Use% Mounted on
# /dev/mapper/... ext4 ...
一方、LVM-thinプール自体がどれだけ実容量を消費しているかはlvsで確認します。
lvs -o lv_name,seg_type,data_percent,metadata_percent
data_percent(データ使用率)・metadata_percent(メタデータ使用率)を見ることで、シンプロビジョニングされた仮想的な容量に対して、実際にどれだけ物理ディスクを消費しているかを把握できます。thin poolは「見た目の容量」より実際の消費が先に埋まってしまうと書き込みエラーの原因になるため、定期的にlvs側の実使用率もあわせて確認する習慣が大切です。
2. Debianのネットワーク設定を無停止で反映する:ifreload
Debian系で/etc/network/interfacesを編集した後、設定を反映させる方法はいくつかありますが、ifdown→ifupのような形でインターフェースを一度落とすと、SSH接続中の作業では接続断のリスクがあります。
ifreload(ifupdown2パッケージが提供するコマンド)を使うと、設定ファイルの内容と実際の稼働状態の差分だけを検出し、インターフェースを落とさずに変更を反映できます。
ifreload -a # /etc/network/interfaces の内容を無停止で反映
MACアドレスの変更など、カーネルの都合上どうしてもインターフェースの再起動が必要な変更の場合は、ifreload側が必要と判断した時だけ該当インターフェースを一時的に落とします。SSH経由でリモートサーバーのネットワーク設定を触る際は、ifreloadを使うことで接続断のリスクを減らせます。
3. デュアルホーム構成:1つのコンテナを2つのネットワークに同時接続する
「デュアルホーム(dual-homed)構成」とは、1台のサーバー(またはコンテナ・VM)が、性質の異なる2つのネットワークセグメントに同時に接続されている構成のことです。
典型的な使いどころは、リバースプロキシのような「橋渡し役」のコンテナです。
[外部/LAN側ネットワーク] ---- [リバースプロキシコンテナ] ---- [内部専用ネットワーク]
(例: 192.168.11.0/24) (例: 192.168.100.0/24)
このコンテナだけが両方のネットワークにインターフェースを持ち、外部からのアクセスを受け付けて内部ネットワークへ中継します。内部ネットワーク側にいる他のコンテナ(アプリケーションサーバー等)は外部ネットワークに直接インターフェースを持たないため、外部から直接到達できません。
この構成には、セキュリティ上の明確なメリットがあります。
- 内部ネットワーク側のコンテナは、外部から直接到達される経路自体が存在しない(アタックサーフェスが小さくなる)
- すべての通信がデュアルホームのコンテナを経由するため、アクセス制御・ログ収集を1箇所に集約しやすい
- 内部ネットワーク専用のコンテナが増えても、外部への露出ポイントは増えない
一方で、注意点として、内部ネットワーク側から外部の監視ツール等にアクセスしようとしても、デュアルホームのコンテナを経由しない限り到達できません。「内部ネットワークにいるコンテナのヘルスチェックを、外部ネットワーク側の監視ツールから直接行いたい」といった場合は、デュアルホームのコンテナ経由でアクセスできるよう、あらかじめ内部向けの中継ルートを用意しておく必要があります。
4. Proxmox WebUIのコンソールタブが真っ黒になったら
Proxmox VEのWeb管理画面から、VM/コンテナのコンソール(noVNC/xterm.js経由の画面)を複数タブで開いたり、開いたまま長時間放置したりすると、画面が真っ黒のまま応答しなくなることがあります。
これはコンソール接続に使われるWebSocket接続がブラウザ側のタブ管理と噛み合わなくなることが原因と考えられる現象で、Proxmox側の恒久的な不具合修正を待つよりも、次のような対処で解消することがほとんどです。
- 真っ黒になったコンソールタブを閉じて、Web UI側から再度コンソールを開き直す
- 複数のコンソールタブを同時に開かず、1つずつ開いて作業する
- それでも改善しない場合は、ブラウザ自体をリロードする
原因調査に時間をかけるより、「閉じて開き直す」で大半のケースは解決するため、まずこの対処を試すのが実務上は効率的です。
まとめ
| 項目 | 内容 |
|---|---|
df -T / lvs
|
ファイルシステムレベルの空き容量とLVM-thinプールの実使用率は別物。両方を定期的に確認する |
ifreload |
/etc/network/interfacesの変更を、インターフェースを落とさず無停止で反映できるコマンド |
| デュアルホーム構成 | 1台のサーバーが2つのネットワークに同時接続し、橋渡し役として内部ネットワークを外部から隔離する構成 |
| Proxmox WebUIコンソールの黒画面 | タブを閉じて開き直すことでほぼ解消する既知の現象 |