古いノートPCをサーバー化:拡張と仕上げの細部

古いノートPCをサーバー化:拡張と仕上げの細部

サーバーが無線ネットワークに接続でき、SSHでも入れるようになった後、残っているのはいくつか見えにくい細かい問題です。こうした問題はインストールの段階では表に出ず、しばらく使い続けてから突然現れます。この回ではよくある三つの問題をまとめて扱い、最後に蓋を閉じた状態での運用を仕上げます。

一、問題一:500GBのディスクがなぜ100GBしか表示されないのか

サーバーの設定を終えてdf -h /でルートディレクトリを確認すると、500GBの物理ディスクなのに使用可能な容量が100GB程度しか表示されず、驚く人は少なくありません。

1. 容量が「目減り」して見える理由

Ubuntu ServerはデフォルトでLVM(論理ボリュームマネージャー)という仕組みを採用しています。システム障害への備えや今後のスナップショットのために余裕を持たせる目的で、インストーラーは初期化の際にディスク容量のおよそ20%だけをシステムの論理ボリューム(LV)に割り当て、残りのおよそ80%の物理領域はボリュームグループ(VG)内にフォーマットされないまま保持されます。

論理ボリューム 20%
未割当領域 80%

インストール直後のディスク容量の初期割り当て比率。未使用の80%は失われたわけではなく、まだ割り当てられていないだけです。

2. 自分のストレージ容量を取り戻す

パーティションを切り直す必要はなく、二つのコマンドだけで既存のデータを損なわず、停止することもなく、未使用の容量をルートディレクトリに組み込めます。まずボリュームグループ内の空き容量を100%論理ボリュームに割り当てます。

sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv

このlvextendコマンドが拡張するのは論理ボリューム自体で、ファイルシステム側は別途追従させる必要があります。

sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

もう一度df -h /を実行すると、ルートディレクトリの使用可能容量はおよそ460GBまで戻り、拡張は完了です。

二、問題二:日本語キーボードによるSSHログインのパスワードエラー

私が使っているのは日本仕様のキーボードですが、PuTTYでSSHログインする際、パスワード自体は間違っていないのにAccess Denied(アクセス拒否)というエラーに繰り返し遭遇することがあります。

1. キー配列がずれる理由

システムをインストールした際はデフォルトで米国配列(US Layout)が採用されますが、ノートパソコンの物理的なキーボードは日本語配列(JP Layout)です。この二つは記号キーの物理的な対応が大きく異なります。例えば日本語キーボードでは@記号はPキーの右側にありますが、米国配列では同じ物理キーを押すと二重引用符"が入力されます。つまりローカルでユーザーを作成した際に入力したパスワードの文字は、すでに物理的にずれた状態になっており、見た目が同じに見える平文パスワードではログインできないのです。

2. 物理キーボード配列を合わせ直す

基盤となる設定ファイルを書き換えて、システムに日本語105/109キー配列を強制的に使わせます。設定ファイルを開きます。

sudo nano /etc/default/keyboard

主要なパラメータを次のように変更します。

XKBMODEL="pc105"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""

それぞれのパラメータの意味はkeyboard(5)のマニュアルページで確認できます。保存して終了した後、次のコマンドでキー配列のマッピングを読み込み直し、すぐに反映させます。

sudo setupcon

この状態でノートパソコン本体から改めてsudo passwd ユーザー名を実行してパスワードを再設定すると、今回入力したパスワードは日本語キーボードの物理的なキー配置とぴったり一致するようになり、SSHの認証エラーも解消されます。

三、問題三:蓋を閉じるとサーバーが「寝落ち」する

ノートパソコンはデフォルトの状態では、画面の蓋を閉じるとシステムが自動的にサスペンド状態に入り、Wi-Fiチップの電源も落ちてしまい、リモート接続が切断されます。

1. 蓋を閉じる動作をシステムに無視させる

systemdのログイン管理の設定を変更し、蓋が閉じられたことを検知しても「何も行動しない」ようにします。logindの設定ファイルを開きます。

sudo nano /etc/systemd/logind.conf

次の二行を見つけて(#でコメントアウトされていれば外します)、値を ignore に変更します。

HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore

HandleLidSwitchというパラメータのデフォルト値はsuspendで、つまり蓋を閉じると即座にサスペンドする設定になっています。これをignoreに変更すると、システムは蓋を閉じる動作に対して反応しなくなります。保存して終了し、サービスを再起動して設定を反映させます。

sudo systemctl restart systemd-logind

四、仕上げ:初回再起動での確認

三つの問題への対応が終わったら、一度自分から再起動を行い、すべての変更が正しく反映されていること、再起動そのものに問題がないことを確認します。

sudo reboot

ノートパソコンの画面を見て、再起動が終わりテキストのみのログイン画面が表示されたら、蓋を閉じます。普段使っているパソコンに戻り、PuTTYを開いてサーバーのIPアドレスを入力します。すぐに接続でき、df -hで表示される容量も正しく、パスワードの入力でもエラーが出なければ、この古いノートパソコンは24時間部屋の片隅で静かに動き続ける個人サーバーとして正式に姿を変えたことになります。

シェア・購読:
🧡 この記事が気に入ったら、RSSフィードを購読して最新の更新を受け取りましょう。