インストーラーで「自動分割」を選んで済ませてしまい、後から /var が満杯になって運用が止まった——そんなトラブルを現場で何度も見てきました。
この記事では、Linuxサーバーのパーティション設計について、ファイルシステムの選定から LVM の基本、/var や /tmp の分離理由、スワップ容量の決め方、クラウド環境での考え方まで、実務で使える内容をひとまとめに解説します。
この記事のポイント
・/var や /tmp を分離しないと、ログ爆発でシステムが停止する
・LVM を使えばディスク容量を後から柔軟に拡張できる
・スワップはRAMの容量と用途で推奨サイズが変わる
・クラウド環境では EBS/ディスク追加でオンライン拡張が前提
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
パーティション設計の考え方
パーティション設計で最初に意識すべきことは「障害の封じ込め」です。たとえば /var を独立パーティションにせず、/ と同居させていると、Apacheのアクセスログや spool が肥大化したとき、/ の空き容量がゼロになります。
/ の空き容量がゼロになると ssh ログインすらできなくなり、サーバーが事実上の停止状態に陥ります。
パーティションを分けるのは「ファイルシステムの整頓」ではなく、ある領域の問題が別の領域に波及しないようにするための設計です。
設計の基本方針は次の3点です。
・読み書きが多い領域は独立させる:/var(ログ・spool)、/tmp(一時ファイル)
・成長しやすい領域は LVM で構成する:後からオンラインで拡張できる
・安全策として /boot は物理パーティションで確保する:LVM/RAID 障害時でも起動できる
ファイルシステムの選定(xfs / ext4 / btrfs)
1. xfs
RHEL 7 以降のデフォルト。大容量ファイルの読み書きが速く、マルチスレッドI/O性能が高い。ただし縮小(shrink)ができないため、LVM ボリュームを小さくしたい場合は再作成が必要です。
推奨用途:RHEL/AlmaLinux/Rocky Linux 系のすべてのパーティション
2. ext4
Ubuntu/Debian のデフォルト。歴史が長く、トラブルシュートの情報が豊富です。xfs と異なり縮小が可能なため、ディスク構成の見直し時に柔軟性があります。
推奨用途:Ubuntu/Debian 系サーバー、開発環境
3. btrfs
スナップショット・サブボリューム・透過的圧縮が強み。SUSE Linux / Fedora でデフォルト採用。ただし本番の高トラフィックサーバーではまだ慎重に扱うべきです。RAID-5/6 はカーネルバージョンによっては不安定な報告があります。
推奨用途:スナップショット主体の開発環境、SUSE 系
/var・/tmp・/home を分離する理由
1. /var を分離する
/var 配下には以下のような「増え続けるデータ」が格納されます。・/var/log:syslog / messages / httpd / maillog など
・/var/spool:cron・mail キュー・プリントスプール
・/var/cache:yum/dnf のパッケージキャッシュ
特に攻撃を受けたときのログ爆発や、設定ミスによる無限ループログが / を圧迫するケースは実務でよく起きます。
独立パーティションにしておけば、/ が満杯になることはありません。
推奨サイズ:最低 5GB、本番 Web サーバーでは 20GB 以上(ログ保持期間による)
2. /tmp を分離する
コンパイルや一時ファイルの書き出しが大量に発生するワークロードでは、/tmp が数十 GB になることがあります。また、セキュリティ観点では /tmp に実行ビットを立てた悪意あるスクリプトを置く攻撃手法(tmpfs noexec マウント)への対策としても独立が有効です。
推奨サイズ:2GB 以上(tmpfs で RAM を使う構成も検討)
tmpfs として /tmp をマウントする例(/etc/fstab):
# /tmp を tmpfs(メモリ上)としてマウント(再起動で消える) tmpfs /tmp tmpfs defaults,noexec,nosuid,nodev,size=2G 0 0
3. /home を分離する
複数ユーザーが使うサーバーでは、1ユーザーが大量のファイルを置いてシステム全体を圧迫するリスクがあります。ユーザーディレクトリのクォータ設定も、独立パーティションの方が管理しやすいです。
推奨サイズ:ユーザー数と利用状況による(Web サーバーなら 10GB 程度)
LVM の基本と推奨
LVM(Logical Volume Manager)は、物理ディスクを抽象化して柔軟に管理するしくみです。従来の固定パーティション設計と違い、容量をオンラインで拡張できる点が最大のメリットです。
1. LVM の3層構造
| 層 | 名称 | 概要 |
|---|---|---|
| 物理層 | PV(Physical Volume) | 実際のディスクまたはパーティション |
| グループ層 | VG(Volume Group) | 複数の PV をひとまとめにした仮想プール |
| 論理層 | LV(Logical Volume) | VG から切り出した仮想パーティション |
2. LVM の基本操作(構築例)
# 1. PV 作成(/dev/sdb を LVM 用に初期化) pvcreate /dev/sdb # 2. VG 作成(VG 名: vg_data) vgcreate vg_data /dev/sdb # 3. LV 作成(/var 用に 20GB) lvcreate -L 20G -n lv_var vg_data # 4. ファイルシステム作成と マウント mkfs.xfs /dev/vg_data/lv_var mount /dev/vg_data/lv_var /var
3. LVM ボリュームの拡張(オンライン)
RHEL/AlmaLinux で xfs の場合:# LV を 10GB 追加拡張 lvextend -L +10G /dev/vg_data/lv_var # xfs はオンラインでファイルシステムも拡張できる xfs_growfs /var
# LV を 10GB 追加拡張し、ext4 を同時に拡張 lvextend -L +10G -r /dev/vg_data/lv_var # -r オプションで resize2fs が自動実行される
スワップ容量の決め方
スワップは「RAM が足りなくなったとき、ディスクを一時的なメモリとして使う領域」です。スワップが多ければ安心というわけではなく、スワップアウトが頻発するとシステムが著しく遅くなります。
1. RAM 別の推奨スワップ容量
| RAM 容量 | 推奨スワップ(RedHat ガイドライン) | ハイバーネーション使用時 |
|---|---|---|
| 2GB 未満 | RAM の 2 倍 | RAM の 3 倍 |
| 2GB ~ 8GB | RAM と同量 | RAM の 2 倍 |
| 8GB ~ 64GB | 最低 4GB | RAM の 1.5 倍 |
| 64GB 超 | ワークロードによる(4GB を目安に調整) | ハイバーネーション非推奨 |
2. スワップパーティション vs スワップファイル
・スワップパーティション:パフォーマンスがやや優れる。インストール時に設計が必要・スワップファイル:後からでも作成・削除が容易。クラウド環境に向いている
スワップファイルを後から追加する手順(RHEL/AlmaLinux/Ubuntu 共通):
# 1. 2GB のスワップファイルを作成(fallocate が使えない場合は dd を使う) fallocate -l 2G /swapfile # 2. パーミッションを 600 に変更(root のみ読み書き可) chmod 600 /swapfile # 3. スワップ領域として初期化 mkswap /swapfile # 4. 有効化 swapon /swapfile # 5. /etc/fstab に追記して再起動後も有効にする echo '/swapfile none swap sw 0 0' >> /etc/fstab # 確認 swapon --show
# 実行例 [root@web01 ~]# swapon --show NAME TYPE SIZE USED PRIO /swapfile file 2G 0B -2
3. swappiness チューニング
swappiness は「どのくらい積極的にスワップを使うか」を 0 ~ 100 で設定するカーネルパラメータです。・デフォルト値:60
・データベースサーバー推奨:10 前後(RAM をできるだけ使い続ける)
・一般 Web サーバー:30 程度で問題ない場合が多い
# 現在の値を確認 cat /proc/sys/vm/swappiness # 一時的に変更(再起動で戻る) sysctl vm.swappiness=10 # 永続化(/etc/sysctl.conf または /etc/sysctl.d/ に追記) echo 'vm.swappiness=10' >> /etc/sysctl.d/99-swap.conf sysctl -p /etc/sysctl.d/99-swap.conf
クラウド環境(AWS/GCP/Azure)での設計の差
クラウド環境ではオンプレミスと設計思想が異なる点があります。1. 物理パーティション設計は最小限にする
クラウドでは EBS(AWS)や Persistent Disk(GCP)を後から追加・拡張できます。インストール時に細かくパーティションを切るよりも、最初は / と /boot だけにして、/var などは後からアタッチする方が運用しやすいケースもあります。
2. スワップは原則「なし」から始める
EC2 の t 系インスタンスなどはメモリが少ないため、スワップを設けることもありますが、スワップアウトが多発するならインスタンスタイプの見直しが正解です。スワップに頼った設計はコスト管理が難しくなります。
3. LVM は使えるが AWS 推奨構成に注意
EBS ルートボリューム(gp3)は LVM なしでもgrowpart + xfs_growfs でオンライン拡張できます。# AWS EC2 (Amazon Linux 2023) でルートボリュームを拡張した場合の手順 # ※ AWS コンソールから EBS のサイズを先に変更しておく # パーティションを拡張(/dev/xvda の パーティション1) growpart /dev/xvda 1 # xfs ファイルシステムを拡張 xfs_growfs / # 確認 df -hT /
トラブルシュート:よくある設計失敗と対処法
1. /var を分離せず、ログで / が満杯になった
症状:ssh でログインできなくなった、systemd が起動できなくなった。対処:/ に余裕があるうちに LVM で /var 用の LV を切り出す。既に満杯の場合は不要ログを削除してから再設計。
2. LVM なしで構築し、ディスクが足りなくなった
症状:固定パーティションでディスクが満杯、拡張できない。対処:追加ディスクをマウントしてシンボリックリンクで逃がすか、LVM への移行(手順は複雑なため計画的に)。
3. スワップをゼロにしたら OOM Killer が暴走した
症状:急なメモリ不足でプロセスが突然落ちる。対処:最低でも小容量のスワップファイルを確保して OOM Killer の発動タイミングを遅らせる。
本記事のまとめ
| やりたいこと | コマンド・設定 |
|---|---|
| LV のサイズを確認する | lvs |
| VG の空き容量を確認する | vgs |
| LV を拡張する(xfs) | lvextend -L +10G /dev/vg/lv && xfs_growfs /マウントポイント |
| LV を拡張する(ext4) | lvextend -L +10G -r /dev/vg/lv |
| スワップファイルを追加する | fallocate -l 2G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile |
| スワップの状態を確認する | swapon --show |
| swappiness を変更する | sysctl vm.swappiness=10 |
| tmpfs で /tmp をメモリに乗せる | fstab に tmpfs /tmp tmpfs defaults,noexec,nosuid 0 0 |
LVM の詳細な構築手順は「pvcreate・vgcreate・lvcreateコマンドでLVMボリュームを構築する方法」も合わせてご覧ください。
また、ディスクのブロックデバイス情報の確認には「blkidコマンドでブロックデバイスのUUIDとラベルを確認する方法」が役立ちます。
マウント設定全般については「mount コマンドの使い方」もあわせて参照してください。
パーティション設計の基礎を固めたら、次はサーバー全体の構築スキルを体系的に身につけませんか?
LVM・パーティション設計はLinuxサーバー構築の根幹です。ファイルシステム・ネットワーク・セキュリティ設定と合わせて体系的に学ぶことで、現場で即戦力として活躍できるエンジニアになれます。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら

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