稼働中Linuxサーバーへのディスク・メモリ増設手順|サービス停止を最小化するリソース拡張の実務

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxサーバー構築(Rocky Linux/RHEL9) > 稼働中Linuxサーバーへのディスク・メモリ増設手順|サービス停止を最小化するリソース拡張の実務
「本番サービスを止めずにディスクを追加したいが、正しい手順がわからない」
「メモリを増設したのに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つだけ/30秒/解除は3秒 / 詳細はこちら

なぜ「稼働中サーバーへの増設」は新規構築と違うのか

新規構築なら「ディスクをつないでインストールする」だけです。しかし稼働中サーバーへの増設では、次の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:"

実際のサーバーでの出力例(物理4スロット中2本使用・2本空き):

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

この出力から「B1・B2スロットが空いており、最大32GBの追加が可能」とわかります。dmidecodeの詳細な使い方はdmidecode でハードウェア情報を取得で解説しています。

あわせてメモリ使用量も確認しておきます:

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

Swapが常時使用されている状態はメモリ不足のサインです。増設の根拠としてこの値を記録しておきます。

2. ディスク使用量とデバイス構成を確認する

# ディスク使用量の確認 df -h # ブロックデバイスの構成を確認 lsblk

lsblkの出力例(既存ディスク /dev/sda のみの構成):

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

この出力から「LVM(rl-root)構成であること」が確認できます。LVM構成なら後述のオンライン拡張が可能です。

【ディスク増設】ホットプラグ対応サーバーへの追加手順

ほとんどの物理サーバー(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

または、各SCSIホストを個別にスキャンする方法もあります:

for host in /sys/class/scsi_host/host*; do echo "- - -" | sudo tee $host/scan done

スキャン後、lsblkで新しいデバイスが認識されたか確認します:

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 ← 新しく認識されたディスク

/dev/sdb が表示されたことを確認できました。

2. パーティション作成(GPTディスク対応)

RHEL 9 / Rocky Linux 9 では2TB超のディスクも想定してGPTパーティションテーブルを使います:

# gdisk でGPTパーティションを作成 sudo gdisk /dev/sdb

gdisk の対話操作(全領域をLVM用パーティションとして割り当てる場合):

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 ← 書き込んで終了

LVMを使わず単純にマウントする場合は 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の 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に追記したら、必ず再起動前に mount -a で構文チェックを行います

# fstabを再読み込み(エラーがあれば表示される) sudo mount -a # 成功を確認 df -h /data

mountコマンドの詳しい使い方とfstabのオプション説明はmount コマンドの使い方を参照してください。

ここまでのディスク増設手順をマスターしたら、次は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

最大容量を超えるDIMMを搭載しても認識されないため、必ず確認しておきます。

シャットダウンのタイミングはメンテナンスウィンドウに合わせます。直前にはサービスの正常動作を確認し、起動中の主要サービスをメモしておきます:

# 実行中のサービスを記録しておく systemctl list-units --type=service --state=running

2. 増設後の起動確認とメモリ認識チェック

電源投入後、OSが正常に起動したことを確認してからメモリ認識を確認します:

# OS認識メモリの総量を確認 free -h # DIMMスロット単位の認識を確認 sudo dmidecode -t memory | grep -E "Locator:|Size:|Speed:"

増設後の出力例(16GBを2本追加して合計64GBになった場合):

total used free shared buff/cache available Mem: 63Gi 24Gi 35Gi 312Mi 3.8Gi 38Gi Swap: 7.6Gi 0B 7.6Gi

Swapの使用が0になり、freeの値が大幅に増えていることが確認できます。BIOSでの認識数と 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

それでも認識しない場合、仮想環境(VMware / KVM)ではホスト側でディスクの「接続」を確認してからゲストOSで再スキャンする必要があります。

「fstabを書き間違えてマウントエラーが出る」場合

起動途中にエラーが表示されシングルユーザーモードに入った場合:

# ルートファイルシステムを読み書き可能で再マウント mount -o remount,rw / # バックアップからfstabを復元 cp /etc/fstab.bak /etc/fstab # 正常にマウントできるか確認してから再起動 mount -a reboot

この手順のために、作業前のfstabバックアップは必ず実施してください。

「メモリ増設後に認識容量が変わらない」場合

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列の値が増設後の合計メモリ量と一致するか確認
稼働中のLinuxサーバーへのリソース増設は、手順を守れば確実に実施できます。ポイントは「現状把握 → 増設 → 確認」のサイクルを崩さないこと、そしてfstabはUUID方式で書き mount -a で事前検証することです。LVM環境であればディスク拡張はオンラインで完結できるため、サービス停止を避けたい本番環境では最初からLVMで設計することを強くお勧めします。

サーバー増設の手順は、サーバー構築の「型」を知っていれば迷わない

稼働中のサーバーに安全にリソースを追加できるかどうかは、LVM設計・fstab管理・デバイス認識の仕組みを体系的に理解しているかで差がつきます。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として20年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。