24.7. パーティショニングスキーマの変更
パーティショニングスキーマを編集して、パーティショニングサイズを変更したり、新規パーティションの作成や既存パーティションの削除を行うことができます。新規パーティショニングスキーマを定義するには、以下の環境変数を使用します。
export DIB_BLOCK_DEVICE_CONFIG='<yaml_schema_with_partitions>'
$ export DIB_BLOCK_DEVICE_CONFIG='<yaml_schema_with_partitions>'
BIOS の例
以下の YAML 設定は、オーバークラウドのコンテナーイメージをプルするのに十分なスペースを提供する、論理ボリュームの変更後のパーティションレイアウトを示しています。
export DIB_BLOCK_DEVICE_CONFIG=''' - local_loop: name: image0 - partitioning: base: image0 label: mbr partitions: - name: root flags: [ boot,primary ] size: 40G - lvm: name: lvm base: [ root ] pvs: - name: pv base: root options: [ "--force" ] vgs: - name: vg base: [ "pv" ] options: [ "--force" ] lvs: - name: lv_root base: vg extents: 23%VG - name: lv_tmp base: vg extents: 4%VG - name: lv_var base: vg extents: 45%VG - name: lv_log base: vg extents: 23%VG - name: lv_audit base: vg extents: 4%VG - name: lv_home base: vg extents: 1%VG - mkfs: name: fs_root base: lv_root type: xfs label: "img-rootfs" mount: mount_point: / fstab: options: "rw,relatime" fsck-passno: 1 - mkfs: name: fs_tmp base: lv_tmp type: xfs mount: mount_point: /tmp fstab: options: "rw,nosuid,nodev,noexec,relatime" fsck-passno: 2 - mkfs: name: fs_var base: lv_var type: xfs mount: mount_point: /var fstab: options: "rw,relatime" fsck-passno: 2 - mkfs: name: fs_log base: lv_log type: xfs mount: mount_point: /var/log fstab: options: "rw,relatime" fsck-passno: 3 - mkfs: name: fs_audit base: lv_audit type: xfs mount: mount_point: /var/log/audit fstab: options: "rw,relatime" fsck-passno: 4 - mkfs: name: fs_home base: lv_home type: xfs mount: mount_point: /home fstab: options: "rw,nodev,relatime" fsck-passno: 2 '''
export DIB_BLOCK_DEVICE_CONFIG='''
- local_loop:
name: image0
- partitioning:
base: image0
label: mbr
partitions:
- name: root
flags: [ boot,primary ]
size: 40G
- lvm:
name: lvm
base: [ root ]
pvs:
- name: pv
base: root
options: [ "--force" ]
vgs:
- name: vg
base: [ "pv" ]
options: [ "--force" ]
lvs:
- name: lv_root
base: vg
extents: 23%VG
- name: lv_tmp
base: vg
extents: 4%VG
- name: lv_var
base: vg
extents: 45%VG
- name: lv_log
base: vg
extents: 23%VG
- name: lv_audit
base: vg
extents: 4%VG
- name: lv_home
base: vg
extents: 1%VG
- mkfs:
name: fs_root
base: lv_root
type: xfs
label: "img-rootfs"
mount:
mount_point: /
fstab:
options: "rw,relatime"
fsck-passno: 1
- mkfs:
name: fs_tmp
base: lv_tmp
type: xfs
mount:
mount_point: /tmp
fstab:
options: "rw,nosuid,nodev,noexec,relatime"
fsck-passno: 2
- mkfs:
name: fs_var
base: lv_var
type: xfs
mount:
mount_point: /var
fstab:
options: "rw,relatime"
fsck-passno: 2
- mkfs:
name: fs_log
base: lv_log
type: xfs
mount:
mount_point: /var/log
fstab:
options: "rw,relatime"
fsck-passno: 3
- mkfs:
name: fs_audit
base: lv_audit
type: xfs
mount:
mount_point: /var/log/audit
fstab:
options: "rw,relatime"
fsck-passno: 4
- mkfs:
name: fs_home
base: lv_home
type: xfs
mount:
mount_point: /home
fstab:
options: "rw,nodev,relatime"
fsck-passno: 2
'''
このサンプル YAML コンテンツをイメージのパーティションスキーマのベースとして使用します。パーティションサイズとレイアウトを必要に応じて変更します。
デプロイメント後にパーティションサイズを変更することはできないので、イメージ用に正しいパーティションサイズを定義する必要があります。
UEFI の例
以下の YAML 設定は、オーバークラウドのコンテナーイメージをプルするのに十分なスペースを提供する、論理ボリュームの変更後のパーティションレイアウトを示しています。
export DIB_BLOCK_DEVICE_CONFIG=''' - local_loop: name: image0 - partitioning: base: image0 label: gpt partitions: - name: ESP type: 'EF00' size: 200MiB - name: BSP type: 'EF02' size: 1MiB - name: ROOT type: '8300' size: 100% - mkfs: name: fs_esp base: ESP type: vfat mount: mount_point: /boot/efi fstab: options: "defaults" fsck-passno: 1 - mkfs: name: fs_root label: "img-rootfs" base: ROOT type: xfs mount: mount_point: / fstab: options: "defaults" fsck-passno: 1 '''
export DIB_BLOCK_DEVICE_CONFIG='''
- local_loop:
name: image0
- partitioning:
base: image0
label: gpt
partitions:
- name: ESP
type: 'EF00'
size: 200MiB
- name: BSP
type: 'EF02'
size: 1MiB
- name: ROOT
type: '8300'
size: 100%
- mkfs:
name: fs_esp
base: ESP
type: vfat
mount:
mount_point: /boot/efi
fstab:
options: "defaults"
fsck-passno: 1
- mkfs:
name: fs_root
label: "img-rootfs"
base: ROOT
type: xfs
mount:
mount_point: /
fstab:
options: "defaults"
fsck-passno: 1
'''
このサンプル YAML コンテンツをイメージのパーティションスキーマのベースとして使用します。ご使用の環境に合わせて、パーティションのサイズとレイアウトを変更してください。
デプロイメント後にイメージのサイズを変更することはできないため、デプロイメント前にイメージの正しいパーティションサイズを定義する必要があります。