Linuxの利用では、パーティションを分けて利用することが望ましいです。個人的な最近のパーティション構成をこじつけてまとめています。
最近のパーティション構成
パーティションを分けておくことで、ファイルが肥大化したときなど、他のパーティションへの影響を局所化することが出来るので、めんどくさがらずに、パーティションは分けましょう。
下記が、最近の基本的なパーティション構成で、これをベースに目的にあったパーティションを追加しています。
マウントポイント | サイズ | デバイスタイプ | ファイルシステム | VG(ボリューム・グループ) | LV(論理ボリューム) |
---|---|---|---|---|---|
/boot/efi | 640MiB | 標準パーティション | EFI System Partition | – | – |
/boot | 1024MiB | 標準パーティション | xfs | – | – |
/ | 10240MiB | LVM | xfs | rootvg | rootlv |
N/A | 4096MiB | LVM | swap | rootvg | swaplv |
/tmp | 1024MiB | LVM | xfs | rootvg | tmplv |
/var | 2048MiB | LVM | xfs | rootvg | varlv |
/home | 1024MiB | LVM | xfs | rootvg | homelv |
$ 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クローン」なので、パーティション構成を考えるにあたっては、下記のマニュアルが参考になる。
マニュアル名

主に参考にした記載箇所


「/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」のファイルシステムの採用も考えておくこと。
