パーティションの設定方針

スポンサーリンク

Linuxの利用では、パーティションを分けて利用することが望ましいです。個人的な最近のパーティション構成をこじつけてまとめています。

最近のパーティション構成

パーティションを分けておくことで、ファイルが肥大化したときなど、他のパーティションへの影響を局所化することが出来るので、めんどくさがらずに、パーティションは分けましょう。

下記が、最近の基本的なパーティション構成で、これをベースに目的にあったパーティションを追加しています。

マウントポイントサイズデバイスタイプファイルシステムVG(ボリューム・グループ)LV(論理ボリューム)
/boot/efi640MiB標準パーティションEFI System Partition
/boot1024MiB標準パーティションxfs
/10240MiBLVMxfsrootvgrootlv
N/A4096MiBLVMswaprootvgswaplv
/tmp1024MiBLVMxfsrootvgtmplv
/var2048MiBLVMxfsrootvgvarlv
/home1024MiBLVMxfsrootvghomelv
$ lsblk
NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                 8:0    0   40G  0 disk
|-sda1              8:1    0  640M  0 part /boot/efi
|-sda2              8:2    0    1G  0 part /boot
`-sda3              8:3    0   40G  0 part
  |-rootvg-rootlv 253:0    0   10G  0 lvm  /
  |-rootvg-swaplv 253:1    0    4G  0 lvm  [SWAP]
  |-rootvg-tmplv  253:2    0    1G  0 lvm  /tmp
  |-rootvg-varlv  253:3    0    4G  0 lvm  /var
  `-rootvg-homelv 253:4    0    1G  0 lvm  /home

パーティション構成の考察

パーティション構成を考えるにあたって、私なりの設定のノウハウをメモしています。

RHELのマニュアルを参考に

AlmaLinuxは「RHELクローン」なので、パーティション構成を考えるにあたっては、下記のマニュアルが参考になる。

マニュアル名

標準的な RHEL 9 インストールの実行 Red Hat Enterprise Linux 9 | Red Hat Customer Portal
AMD、Intel、64 ビット ARM、IBM Power、および 64 ビット IBM Z アーキテクチャー上で Red Hat Enterprise Linux 9 の標準的なインストールを実行します。まず、システムのインストールを準...

主に参考にした記載箇所

B.4. 推奨されるパーティション設定スキーム Red Hat Enterprise Linux 9 | Red Hat Customer Portal
Access Red Hat’s knowledge, guidance, and support through your subscription.
B.5. パーティション設定に関するアドバイス Red Hat Enterprise Linux 9 | Red Hat Customer Portal
Access Red Hat’s knowledge, guidance, and support through your subscription.

「/usr」は「/」パーティションに含めた

過去には、「/usr」のマウントポイントを作成して、別パーティションとしていたが、「/usr」配下自体が頻繁に書き込みされるようなこともないので、「/」パーティション内に含めることにした。

RHELのマニュアルには、「一部のセキュリティーポリシーでは、管理がより複雑になりますが、/usr と /var の分離が必要になります。」と記載があるが、どのようなセキュリティーポリシーがあるのか良くわからず。

(「/usr」パーティションを読み取り専用にするとかかな?じゃあ「/var」は?」)

「/var」はパーティションを分離する

「/usr」は、「/」パーティション配下に含めたが、「/var」については、ログとかrpmパッケージ関連が出力される場所で、ローテートなどで一定の出力はある。ファイルが増大したときのことを考えて、「/」パーティションとは分離した。

「/tmp」はパーティションを分離する

「/tmp」は、各種プログラムの一時領域として利用されている。プログラムの暴走などで、ファイルが増大したときのことを考えて、「/」パーティションとは分離した。

過去には、「/tmp」を作業用領域として、作成したファイルを置いていたりしていたが、プログラム用に一時領域として使われるので、ここには置かず、別途、「/work」などのパーティションを追加して、そちらに配置するのが好ましい。

「/home」はパーティションを分離する

「/home」には、作成したユーザーのホームディレクトリーとなるが、基本的には、作成したリソースは置かない。シェルスクリプトなどは、別の追加したパーティションに置くようにする。

ただし、これはシステムの使われ方に左右されるので一概には言えないか。

「/boot」と「/boot/efi」について

最近のシステムであれば、ほとんどの場合、UEFI(Unified Extensible Firmware Interface)だと思われるので、ほとんどの場合、「/boot」と「/boot/efi」が必要。LVM配下には作らない。

スワップ領域について

最近では物理メモリーの容量が大きくなったので、スワップ領域を作らない人もいるが、そうではないと思う。できるだけ、スワップをさせたくないのであれば、カーネルパラメータで「vm.swappiness」を設定すれば良いと思う。システムの安全性の観点で、スワップ領域は用意する。

ファイルシステムについて

LVMの物理ボリューム(PV)およびボリュームグループ(VG)はディスクパーティションの最大で割り当てを行い、VG内のすべてを使用して論理ボリューム(LV)を設定するのではなく、余らしておく。そうすることで、要件が変化したときに柔軟に対応できる。

また、標準のファイルシステムは「xfs」であるが、要件の変化があった場合、ファイルシステムの縮小ができないので注意すること(通常は、縮小することはないと思いますが)。

もし、ファイルシステムを縮小するかも知れないと思うときは、「ext4」のファイルシステムの採用も考えておくこと。

1.5. XFS と ext4 の比較 Red Hat Enterprise Linux 9 | Red Hat Customer Portal
Access Red Hat’s knowledge, guidance, and support through your subscription.