サーバーにインストールしてたら、ディスクの分け方を聞かれた
全部 / に入れたらあかんの?
【疑問】インストーラで「パーティションの分け方」を聞かれて手が止まった。/・/boot・/var・/home・スワップ・ESP と LVM【LPICレベル1】
前提のおさらい。FHS で /var は変わるデータ(ログ・スプール)、/home はユーザーの場所、/boot は起動に要るファイルと決まってる
>>1
あかんことはない。1つにまとめると空きを無駄にしにくい。分けるのは、どこかが一杯になっても他を巻き込まないようにしたいとき
>>3
よく分けるもの
/var:ログが増えて一杯になっても / が止まらないように
/home:OS を入れ直してもユーザーのデータを残せるように
/tmp:一時ファイルで / を埋めないように
/boot:ブートローダが読めるシンプルな場所にカーネルを置く
>>4
/boot を分けるのはどういうとき?
>>5
/ を LVM や暗号化の上に置いたときなど、ブートローダから / が読みにくい場合。カーネルと initramfs を普通のパーティションに置いておく
>>2
UEFI のマシンで聞かれた ESP って?
>>7
EFI システムパーティション。UEFI のファームウェアはここにある .efi のブートローダを動かす。FAT で作って、Linux からは /boot/efi にマウントすることが多い。GPT の種類のコードは EF00
>>8
BIOS のマシンで GPT のディスクから GRUB を起動するなら、GRUB を置くための小さい「BIOS 起動パーティション」(コード EF02)が要る。sgdisk の種類の一覧にもあった
>>1
スワップはどれくらい?
>>10
メモリが足りなくなったときに使うディスクの場所。昔は「メモリの2倍」と言われたけど、今は決まった数字はない。メモリの量、休止状態(ハイバネート)を使うか、何を動かすかで決める。パーティションでもファイルでも作れる
>>1
あとで足りなくなったら?
>>12
LVM にしておくと広げやすい。ディスクやパーティションを PV(物理ボリューム)にして、まとめて VG(ボリュームグループ)にして、その中から LV(論理ボリューム)を切り出して、LV にファイルシステムを作る
>>13
コマンドの流れ(lvm の man から)pvcreate /dev/sdb1vgcreate vg0 /dev/sdb1 /dev/sdc1lvcreate -L 10G -n data vg0 → /dev/vg0/data(/dev/mapper/vg0-data)ができるlvextend -r -L +5G vg0/data で5G広げて、-r でファイルシステムも合わせて広げる
一覧は pvs・vgs・lvs、詳しくは pvdisplay など
>>14
LVM は PV → VG → LV の順に作る、やな。ディスクを足したら vgextend で VG に入れる
>>1
今のマシンがどう分かれてるかは?
>>16lsblk で木の形に出る。試した仮想マシンは vda と vdb の2台で、パーティションを切らずに vdb 全体が / やった。こういう分け方もできる
>>4
増えるものは分けて、起動に要るものは /boot と ESP、スワップは用途で決めて、広げたいなら LVM。分ける理由で決めたらええんか
管理人のひとこと
- 1つにまとめると空きを無駄にしにくい。分けると、一杯になったときの影響を閉じ込められる。/var(ログ)・/home(ユーザーのデータを残す)・/tmp・/boot(ブートローダが読める場所にカーネルと initramfs)。
- UEFI は ESP(FAT、/boot/efi、GPT の種類 EF00)が必要。BIOS で GPT から GRUB を起動するなら BIOS 起動パーティション(EF02)。
- スワップの大きさに決まった数字はない。メモリの量・休止状態・用途で決める。パーティションでもファイルでもよい。
- LVM:PV(pvcreate)→ VG(vgcreate、vgextend で追加)→ LV(lvcreate -L 大きさ -n 名前)。LV は /dev/VG名/LV名。
lvextend -rでファイルシステムごと広げる。一覧は pvs・vgs・lvs。