「メモリを増設したのにOSに認識されない」「fstabを書き間違えてサーバーが起動しなくなった」——
稼働中のLinuxサーバーへのリソース増設は、新規構築とはまったく異なるリスクを伴います。OSが動いている状態でディスクを追加する場合、認識手順を誤るとデバイスが見えないまま作業が進んでしまいます。メモリはほとんどのケースでシャットダウンが必須です。
この記事では、linux サーバー増設の実務手順を「ディスク追加」「メモリ追加」の2軸に分けて解説します。Rocky Linux 9 / RHEL 9 を前提に、物理ディスクの認識からLVMを使ったオンライン拡張、fstab設定のミス防止、増設後の確認コマンドまで、現場で実際に使われる手順をまとめています。
この記事のポイント
・稼働中ディスク増設は lsblk・rescan-scsi-bus.sh で認識を確認してから操作する
・LVM 環境なら lvextend + xfs_growfs でサービス停止なしにオンライン拡張できる
・fstab 設定は UUID で書き、mount -a で事前検証してから再起動する
・メモリ増設はシャットダウン必須。完了後は free -h と dmidecode -t memory で確認する
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
なぜ「稼働中サーバーへの増設」は新規構築と違うのか
新規構築なら「ディスクをつないでインストールする」だけです。しかし稼働中サーバーへの増設では、次の3つのリスクが加わります。・サービスへの影響:作業中のI/Oが遅延し、DBやWebサーバーのレスポンスが悪化することがあります
・既存デバイス名のズレ:新しいディスクが認識されると、既存デバイス(/dev/sda, /dev/sdb)の番号がずれるケースがあります(特にSCSI/SANでは要注意)
・fstabミスによる起動不能:マウント設定を誤ったままリブートするとシングルユーザーモードに落ち、サービスが完全停止します
本記事では、これらのリスクを1つずつ回避する手順を解説します。
増設前の現状把握(確認必須コマンド)
増設作業の前に、必ず現在の構成を把握しておきます。「作業前と後を比較できる状態」を作るのが鉄則です。1. 現在のメモリ構成を確認する(dmidecode)
# メモリスロットの構成を確認(root権限必須) sudo dmidecode -t memory | grep -E "Size:|Speed:|Type:|Locator:"
Locator: DIMM_A1 Size: 16 GB Type: DDR4 Speed: 3200 MT/s Locator: DIMM_A2 Size: 16 GB Type: DDR4 Speed: 3200 MT/s Locator: DIMM_B1 Size: No Module Installed Locator: DIMM_B2 Size: No Module Installed
あわせてメモリ使用量も確認しておきます:
free -h
total used free shared buff/cache available Mem: 31Gi 24Gi 1.2Gi 312Mi 5.8Gi 6.4Gi Swap: 7.6Gi 1.2Gi 6.4Gi
2. ディスク使用量とデバイス構成を確認する
# ディスク使用量の確認 df -h # ブロックデバイスの構成を確認 lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 500G 0 disk ├─sda1 8:1 0 1G 0 part /boot ├─sda2 8:2 0 2G 0 part [SWAP] └─sda3 8:3 0 497G 0 part └─rl-root 253:0 0 497G 0 lvm / sr0 11:0 1 1024M 0 rom
【ディスク増設】ホットプラグ対応サーバーへの追加手順
ほとんどの物理サーバー(HP ProLiant、Dell PowerEdge等)はホットプラグ対応で、OSを稼働させたまま物理ディスクを追加できます。手順は「認識 → パーティション → ファイルシステム → マウント」の4ステップです。1. 物理ディスクをOSに認識させる
物理的にディスクを挿入した後、OSに認識させるためにSCSIバスを再スキャンします:# SCSIバスの再スキャン(sg3_utils パッケージが必要) sudo /usr/bin/rescan-scsi-bus.sh # パッケージが未インストールの場合 sudo dnf install -y sg3_utils
for host in /sys/class/scsi_host/host*; do echo "- - -" | sudo tee $host/scan done
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 500G 0 disk └─rl-root 253:0 0 497G 0 lvm / sdb 8:16 0 500G 0 disk ← 新しく認識されたディスク
2. パーティション作成(GPTディスク対応)
RHEL 9 / Rocky Linux 9 では2TB超のディスクも想定してGPTパーティションテーブルを使います:# gdisk でGPTパーティションを作成 sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 1.0.7 Command (? for help): n ← 新規パーティション Partition number: 1 ← Enterで1 First sector: (Enter) ← デフォルト Last sector: (Enter) ← 全領域を使用 Hex code or GUID: 8e00 ← Linux LVM タイプ Command (? for help): w ← 書き込んで終了
Hex code: 8300(Linux filesystem)を指定します。
3. LVMで既存ボリュームをオンライン拡張する
既存のLVMボリュームを拡張する場合、サービスを止めずに作業できます。これが稼働中サーバーへの linux サーバー増設 で最も安全な手法です:# 1. 新しいパーティションをPV(物理ボリューム)として登録 sudo pvcreate /dev/sdb1 # 2. 既存のVG(ボリュームグループ)に追加 sudo vgextend rl /dev/sdb1 # 3. VGの空き容量を確認 sudo vgdisplay rl | grep "Free PE" # 4. LVをオンラインで拡張(+100%FREE = 全空き領域を追加) sudo lvextend -l +100%FREE /dev/rl/root # 5. ファイルシステムをオンラインで拡張(XFSの場合) sudo xfs_growfs / # ext4の場合はこちら # sudo resize2fs /dev/rl/root
# xfs_growfs 実行後にdfで確認 df -h /
Filesystem Size Used Avail Use% Mounted on /dev/mapper/rl-root 994G 245G 749G 25% /
xfs_growfs はマウントしたまま実行できるのが最大の利点です。データを読み書きしながら拡張できます。
4. LVMを使わない場合の新規パーティションマウント手順
追加ディスクを独立したマウントポイント(例: /data)として使う場合は以下の手順で設定します:# ファイルシステムを作成(XFS推奨) sudo mkfs.xfs /dev/sdb1 # UUIDを確認(デバイス名ではなくUUIDでfstabに記入する) sudo blkid /dev/sdb1
/dev/sdb1: UUID="a3f5b291-6c4d-4e8a-9102-d7e3f4c5b8a1" TYPE="xfs" PARTLABEL="Linux filesystem"
# マウントポイントを作成 sudo mkdir -p /data # /etc/fstab に以下を追記(UUID方式を使う) UUID=a3f5b291-6c4d-4e8a-9102-d7e3f4c5b8a1 /data xfs defaults 0 2
# fstabを再読み込み(エラーがあれば表示される) sudo mount -a # 成功を確認 df -h /data
ここまでのディスク増設手順をマスターしたら、次はLVM設計や冗長化構成まで体系的に学べるLinux Master Pro Seminarもぜひ検討してみてください。2日間のハンズオンで本番環境を想定した構築スキルが身につきます。
【メモリ増設】シャットダウンが必要な手順と確認方法
ディスクと違い、メモリ増設はほぼすべてのケースでシャットダウンが必要です。ホットプラグ対応のメモリスロット(DIMM Hot-Add)を搭載したエンタープライズサーバーは一部存在しますが、一般的なラックサーバーでは物理的なメモリ交換・追加時に電源をオフにする必要があります。1. シャットダウン前の事前確認と準備
増設作業前に以下を確認します:# 空きスロット数を確認(No Module Installed がある行を数える) sudo dmidecode -t memory | grep "Size:" | grep -c "No Module" # 最大搭載可能メモリをBIOS/DMI情報から確認 sudo dmidecode -t memory | grep "Maximum Capacity"
Maximum Capacity: 128 GB
シャットダウンのタイミングはメンテナンスウィンドウに合わせます。直前にはサービスの正常動作を確認し、起動中の主要サービスをメモしておきます:
# 実行中のサービスを記録しておく systemctl list-units --type=service --state=running
2. 増設後の起動確認とメモリ認識チェック
電源投入後、OSが正常に起動したことを確認してからメモリ認識を確認します:# OS認識メモリの総量を確認 free -h # DIMMスロット単位の認識を確認 sudo dmidecode -t memory | grep -E "Locator:|Size:|Speed:"
total used free shared buff/cache available Mem: 63Gi 24Gi 35Gi 312Mi 3.8Gi 38Gi Swap: 7.6Gi 0B 7.6Gi
dmidecode での確認数が一致しない場合は、DIMMの刺し直しを検討します。
サービス停止を最小化するための実務Tips
・作業前にfstabをバックアップする:fstabの変更前は必ずsudo cp /etc/fstab /etc/fstab.bak で保存します・デバイス名ではなくUUIDで記述する:ディスクの追加・削除によって /dev/sdb が /dev/sdc にずれることがあります。UUIDは変わらないため、fstabは常にUUID方式で記述します
・xfs_growfsは無停止で実行できる:LVM + XFSの組み合わせなら、ディスク追加からLV拡張・FSリサイズまでオンラインで完結します。メンテナンスウィンドウが短い環境ではLVMの導入を強くお勧めします
・作業ログをteeで残す:
sudo fdisk /dev/sdb 2>&1 | tee /var/log/disk-add-$(date +%Y%m%d).log のように実施ログを記録しておくと、後の障害調査で役立ちます・1つの変更ごとに確認する:パーティション作成 → lsblkで確認、FS作成 → mount → df -hで確認、という「変更 → 確認」のサイクルを必ず回します
トラブルシュート・エラー対処
「新しいディスクがlsblkで見えない」場合
SCSIバスの再スキャンが効かない場合は、カーネルのdmesgログを確認します:# dmesgでSCSI/ATA認識ログを確認 sudo dmesg | grep -E "sd[a-z]|scsi|nvme" | tail -20 # udevadm でデバイスイベントを確認 sudo udevadm settle lsblk
「fstabを書き間違えてマウントエラーが出る」場合
起動途中にエラーが表示されシングルユーザーモードに入った場合:# ルートファイルシステムを読み書き可能で再マウント mount -o remount,rw / # バックアップからfstabを復元 cp /etc/fstab.bak /etc/fstab # 正常にマウントできるか確認してから再起動 mount -a reboot
「メモリ増設後に認識容量が変わらない」場合
・BIOS設定の確認:一部のサーバーではBIOS設定でメモリ容量の上限が制限されている場合があります。サーバー管理画面(iLO / iDRAC)のメモリ情報でBIOSが認識しているか確認します・DIMMの規格不一致:既存のDIMMと異なる規格(DDR4 vs DDR5など)や異なる速度のDIMMを混在させると認識されないことがあります。メーカーのQVL(Qualified Vendor List)でDIMMの互換性を確認します
・スロットの実装順序:多くのマザーボードはスロットに優先順位(A1 → B1 → A2 → B2の順に挿すなど)があります。マニュアルの「メモリ実装順序」を必ず確認します
本記事のまとめ
| やりたいこと | コマンド | 備考 |
|---|---|---|
| メモリスロット構成を確認する | sudo dmidecode -t memory |
root権限必須。空きスロットと最大容量を確認 |
| 新しいディスクをOSに認識させる | sudo /usr/bin/rescan-scsi-bus.sh |
sg3_utilsパッケージが必要 |
| ディスク構成を確認する | lsblk |
デバイス名・パーティション・マウントポイントを一覧表示 |
| GPTパーティションを作成する | sudo gdisk /dev/sdb |
LVM用は8e00、通常FSは8300 |
| LVMに新ディスクを追加する | sudo pvcreate /dev/sdb1 |
その後 vgextend でVGへ組み込む |
| LVをオンライン拡張する | sudo lvextend -l +100%FREE /dev/rl/root |
拡張後にxfs_growfsまたはresize2fsでFSを拡張 |
| XFSをオンライン拡張する | sudo xfs_growfs / |
マウントしたまま実行可能。サービス停止不要 |
| fstabの事前構文チェック | sudo mount -a |
再起動前の必須手順。エラーがあれば表示される |
| 増設後のメモリ認識を確認する | free -h |
total列の値が増設後の合計メモリ量と一致するか確認 |
mount -a で事前検証することです。LVM環境であればディスク拡張はオンラインで完結できるため、サービス停止を避けたい本番環境では最初からLVMで設計することを強くお勧めします。
サーバー増設の手順は、サーバー構築の「型」を知っていれば迷わない
稼働中のサーバーに安全にリソースを追加できるかどうかは、LVM設計・fstab管理・デバイス認識の仕組みを体系的に理解しているかで差がつきます。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら
- 前のページへ:GrafanaでLinuxサーバーの監視ダッシュボードを構築する方法|Prometheus連携からアラート設定まで
- この記事の属するカテゴリ:Linuxサーバー構築(Rocky Linux/RHEL9)へ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。
登録無料・いつでも解除できます