5.3. ブループリントでディスクのカスタマイズを記述する
ディスクのカスタマイズを使用する場合、ブループリントを使用して、パーティションテーブルのほぼすべてを記述できます。カスタマイズの構造は次のとおりです。
パーティション: 最上位レベルはパーティションのリストです。
type
: 各パーティションにはタイプがあります。タイプはplain
またはlvm
のいずれかです。タイプが設定されていない場合は、デフォルトでplain
になります。パーティションのその他の必須および任意のプロパティーは、タイプによって異なります。plain
: プレーンパーティションは、ファイルシステムを持つパーティションです。次のプロパティーがサポートされています。-
fs_type
: ファイルシステムのタイプ。xfs
、ext4
、vfat
、またはswap
のいずれかです。swap
に設定すると、スワップパーティションが作成されます。スワップパーティションの場合、マウントポイントが空である必要があります。 -
minsize
: パーティションの最小サイズ。整数 (バイト単位) またはデータ単位付きの文字列 (例: 3 GiB) で指定します。特定のマウントポイントでは、イメージ内のパーティションの最終的なサイズがより大きくなる場合があります。パーティションについて セクションを参照してください。 -
mountpoint
: ファイルシステムのマウントポイント。スワップパーティションの場合、これは空である必要があります。 -
label
: ファイルシステムのラベル (任意)。
-
lvm
: lvm パーティションは、LVM ボリュームグループを持つパーティションです。単一の永続ボリュームグループのみがサポートされています。次のプロパティーがサポートされています。-
name
: ボリュームグループの名前 (任意。設定されていない場合は、名前が自動的に生成されます)。 -
minsize
: ボリュームグループの最小サイズ。整数 (バイト単位) またはデータ単位付きの文字列 (例: 3 GiB) で指定します。この値が、イメージに含まれる論理ボリュームの合計よりも小さい場合、イメージ内のパーティションとボリュームグループの最終的なサイズがより大きくなる場合があります。 logical_volumes
: ボリュームグループの 1 つ以上の論理ボリューム。各ボリュームグループは次のプロパティーをサポートしています。-
name
: 論理ボリュームの名前 (任意。設定されていない場合は、マウントポイントに基づいて名前が自動的に生成されます)。 -
minsize
: 論理ボリュームの最小サイズ。整数 (バイト単位) またはデータ単位付きの文字列 (例: 3 GiB) で指定します。特定のマウントポイントでは、イメージ内の論理ボリュームの最終的なサイズがより大きくなる場合があります。詳細は、一般的な原則に関する章を参照してください。 -
label
: ファイルシステムのラベル (任意)。 -
fs_type
: ファイルシステムのタイプ。xfs
、ext4
、vfat
、またはswap
のいずれかです。swap に設定すると、スワップ論理ボリュームが作成されます。スワップ論理ボリュームの場合、マウントポイントが空である必要があります。 -
mountpoint
: 論理ボリュームのファイルシステムのマウントポイント。スワップ論理ボリュームの場合、これは空である必要があります。
-
-
- 順序:
パーティションテーブルの作成時に、リスト内の各要素の順序が適用されます。パーティションは、そのタイプに関係なく、定義された順序で作成されます。
- 不完全なパーティションテーブル:
不完全なパーティションの記述も有効です。パーティション (LVM 論理ボリューム) が自動的に追加され、有効なパーティションテーブルが作成されます。以下のルールが適用されます。
-
ルートファイルシステムが定義されていない場合は追加されます。これはマウントポイント
/
によって識別されます。LVM ボリュームグループが定義されている場合、ルートファイルシステムは論理ボリュームとして作成されます。定義されていない場合、ルートファイルシステムはファイルシステムを持つプレーンパーティションとして作成されます。プレーンおよび LVM の場合、ファイルシステムのタイプは、ディストリビューションによって異なります (RHEL および CentOS の場合は xfs、Fedora の場合は ext4)。ルートパーティションのサイズと順序については、パーティションについて セクションを参照してください。 -
ブートパーティションが定義されていない場合は必要に応じて作成されます。これはマウントポイント
/boot
によって識別されます。ルートパーティション (マウントポイント/
) が LVM 論理ボリューム上にある場合は、ブートパーティションが必要です。これは、ESP の後に続く最初のパーティションとして作成されます (次の項目を参照)。 -
EFI システムパーティション (ESP) が必要に応じて作成されます。これはマウントポイント
/boot/efi
によって識別されます。イメージが UEFI で起動するように設定されている場合は、ESP が必要です。これはイメージ定義によって定義され、イメージの種類、ディストリビューション、およびアーキテクチャーによって異なります。ファイルシステムのタイプは常にvfat
です。デフォルトでは、ESP は 200 MiB で、BIOS ブート後の最初のパーティションになります (次の項目を参照)。 - イメージが BIOS で起動するように設定されている場合、パーティションテーブルの先頭に 1 MiB の未フォーマットの BIOS ブートパーティションが作成されます。これはイメージ定義によって定義され、イメージの種類、ディストリビューション、およびアーキテクチャーによって異なります。ハイブリッドブート用に設定されたイメージの場合、BIOS ブートパーティションと ESP の両方が作成されます。
- パーティションタイプの組み合わせ:
複数のパーティションを定義できます。次のパーティションタイプの組み合わせが有効です。
-
plain
およびlvm
: プレーンパーティションは、LVM ボリュームグループと一緒に作成できます。ただし、定義できる LVM ボリュームグループは 1 つだけです。 - 例: 2 つのパーティションを定義するためのブループリント
次のブループリントは 2 つのパーティションを定義します。1 つ目は、/data
にマウントされる ext4
ファイルシステムを持つ 50 GiB パーティションです。2 つ目は、ルート /
用、ホームディレクトリー /home
用、swap
領域用の 3 つの論理ボリュームを持つ LVM ボリュームグループです。LVM ボリュームグループには 15 GiB の未割り当て領域があります。
[[customizations.disk.partitions]] type = "plain" label = "data" mountpoint = "/data" fs_type = "ext4" minsize = "50 GiB" [[customizations.disk.partitions]] type = "lvm" name = "mainvg" minsize = "20 GiB" [[customizations.disk.partitions.logical_volumes]] name = "rootlv" mountpoint = "/" label = "root" fs_type = "ext4" minsize = "2 GiB" [[customizations.disk.partitions.logical_volumes]] name = "homelv" mountpoint = "/home" label = "home" fs_type = "ext4" minsize = "2 GiB" [[customizations.disk.partitions.logical_volumes]] name = "swaplv" fs_type = "swap" minsize = "1 GiB"
[[customizations.disk.partitions]]
type = "plain"
label = "data"
mountpoint = "/data"
fs_type = "ext4"
minsize = "50 GiB"
[[customizations.disk.partitions]]
type = "lvm"
name = "mainvg"
minsize = "20 GiB"
[[customizations.disk.partitions.logical_volumes]]
name = "rootlv"
mountpoint = "/"
label = "root"
fs_type = "ext4"
minsize = "2 GiB"
[[customizations.disk.partitions.logical_volumes]]
name = "homelv"
mountpoint = "/home"
label = "home"
fs_type = "ext4"
minsize = "2 GiB"
[[customizations.disk.partitions.logical_volumes]]
name = "swaplv"
fs_type = "swap"
minsize = "1 GiB"