Debian bullseye (RC1)のインストール練習 5 〜自動パーティション構成〜
標準ではないパーティション構成を自動で作成してみる。
今回は敢えて変な構成でパーティションを作成する。
ドライブ
LVMボリュームグループ
- vdb:
/boot
,/boot/efi
以外全部をVGvg00
で使用 - vda: 10 GBをVG
vg01
で使用
LVM論理ボリューム
- vg00
- / - 8 GB
- /var - 4 GB
- 空き - 残り
- vg01
- /home - vg01全部
- swapパーティションなし
まずはpreseed.cfg
ファイルを準備。
自動パーティショニングに関連する部分。
# 使用するドライブ(デバイス) d-i partman-auto/disk string /dev/vdb /dev/vda # LVMを利用 d-i partman-auto/method string lvm d-i partman-auto-lvm/guided_size string max # recipeファイルを指定 d-i partman-auto/expert_recipe_file string /recipe # UEFI/GPTを利用 d-i partman-efi/non_efi_system boolean true d-i partman-partitioning/choose_label string gpt d-i partman-partitioning/default_label string gpt # swapパーティションなしでも確認しない d-i partman-basicfilesystems/no_swap boolean false # フォーマット未指定パーティションありでも確認しない d-i partman-basicmethods/method_only boolean false
partman用のrecipeファイルを ドキュメントや ソースを参考に作成する。
lvm_two_drive :: 538 538 1075 free $iflabel{ gpt } $reusemethod{ } method{ efi } format{ } . 5000 5000 -1 ext4 $defaultignore{ } $primary{ } method{ lvm } device{ /dev/vdb } vg_name{ vg00 } . 512 512 768 ext2 $defaultignore{ } device{ /dev/vdb } method{ format } format{ } use_filesystem{ } filesystem{ ext2 } mountpoint{ /boot } . 8000 1 8000 $default_filesystem $lvmok{ } in_vg{ vg00 } method{ format } format{ } use_filesystem{ } $default_filesystem{ } mountpoint{ / } . 4000 1 4000 $default_filesystem $lvmok{ } in_vg{ vg00 } method{ format } format{ } use_filesystem{ } $default_filesystem{ } mountpoint{ /var } . 1 10000 -1 free $lvmok{ } in_vg{ vg00 } method{ keep } . 10000 10000 10000 ext4 $defaultignore{ } $primary{ } method{ lvm } device{ /dev/vda1 } vg_name{ vg01 } . 5000 1 10000 free $lvmok{ } in_vg{ vg01 } method{ format } format{ } use_filesystem{ } $default_filesystem{ } mountpoint{ /home } . 5000 1 -1 ext4 $defaultignore{ } $primary{ } method{ lvm } device{ /dev/vda2 } vg_name{ dummy } .
なお、partmanでは空き容量は全てパーティションに割り振ってしまうので、空きを作りたい場合はダミーのパーティションを作成しておいて、インストール後に削除する必要がある。
virt-installでインストールする。
- vda.img, vdb.imgの2個のディスクを作成
- initrd-injectで
preseed.cfg
ファイルとrecipe
ファイルを利用
host$ virt-install --name debian --memory 4096 --vcpus 1 --location $PWD/debian-bullseye-DI-rc1-amd64-netinst.iso --os-variant debiantesting --disk path=vda.img,size=20,format=qcow2 --disk path=vdb.img,size=16,format=qcow2 --network network=default --graphics none --serial pty --console pty --initrd-inject preseed.cfg --initrd-inject recipe --extra-args 'console=ttyS0,115200n8 serial'
自動でインストール完了。
ただ、そのままだと、1番目のディスク (vda.img) から起動しようとしてしまいOSが起動しないので、記事「KVMのブートドライブ変更」と同様に起動ドライブを変更する。
host$ virsh destroy debian host$ virsh edit debian
debian# fdisk -l /dev/vda /dev/vdb Disk /dev/vda: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: A682AD80-3822-40C3-B683-9F552A752B6F Device Start End Sectors Size Type /dev/vda1 2048 19531775 19529728 9.3G Linux LVM /dev/vda2 19531776 41940991 22409216 10.7G Linux LVM Disk /dev/vdb: 16 GiB, 17179869184 bytes, 33554432 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 5F3C0AC9-B022-4EE4-A8ED-0A19E0D46072 Device Start End Sectors Size Type /dev/vdb1 2048 1050623 1048576 512M Linux filesystem /dev/vdb2 1050624 2050047 999424 488M Linux filesystem /dev/vdb3 2050048 33552383 31502336 15G Linux LVM debian# pvscan PV /dev/vdb3 VG vg00 lvm2 [<15.02 GiB / 0 free] PV /dev/vda2 VG dummy lvm2 [10.68 GiB / 10.68 GiB free] PV /dev/vda1 VG vg01 lvm2 [<9.31 GiB / 0 free] Total: 3 [35.01 GiB] / in use: 3 [35.01 GiB] / in no VG: 0 [0 ] debian# lvscan ACTIVE '/dev/vg00/root' [<7.45 GiB] inherit ACTIVE '/dev/vg00/var' [3.72 GiB] inherit ACTIVE '/dev/vg00/keep_1' [<3.85 GiB] inherit ACTIVE '/dev/vg01/home' [<9.31 GiB] inherit debian# df Filesystem 1K-blocks Used Available Use% Mounted on udev 1995216 0 1995216 0% /dev tmpfs 402588 512 402076 1% /run /dev/mapper/vg00-root 7588516 603708 6577872 9% / tmpfs 2012924 0 2012924 0% /dev/shm tmpfs 5120 0 5120 0% /run/lock /dev/vdb2 481642 48558 408099 11% /boot /dev/mapper/vg01-home 9504960 40 9000500 1% /home /dev/mapper/vg00-var 3761336 156808 3392972 5% /var /dev/vdb1 523244 4 523240 1% /boot/efi
予定通りのパーティションが自動で作成できた!
ダミーのパーティションを削除する。
debian# lvremove -y /dev/vg00/keep_1 Logical volume "keep_1" successfully removed debian# vgremove -y dummy Volume group "dummy" successfully removed debian# pvremove /dev/vda2 Labels on physical volume "/dev/vda2" successfully wiped.
結論!凝ったパーティション構成にしたい場合は、インストール後に手動で作った方が早い!