パーティションが正しくソートされるように、partedまたはsfdiskを使用して非対話式にディスクを分割するにはどうすればよいですか?

パーティションが正しくソートされるように、partedまたはsfdiskを使用して非対話式にディスクを分割するにはどうすればよいですか?

ディスクに3つの「msdos」プライマリパーティション(1つは/ boot用、1つはスワップ用、最後の1つは論理ボリューム用)があるように、ディスクをプログラム的に分割する方法を理解しようとしています。お客様の方針のため、puppetやansibleなどは使用できません。

すべてのシステムは単一の1TBディスクで構成されています。

  • sda1 = /boot は 512MB でなければなりません。
  • sda2 = スワップ領域は 16 GB でなければなりません。
  • sda4 = ディスクの残りの部分、論理ボリュームの拡張パーティション。

パーティションを正しくソートしたいが、物理セクター境界で始まらない最後のパーティションのエラーが発生し続けます。

partedにはどのタイプのデバイスを使用する必要がありますか? sfdiskは簡単ですか?メガバイトを使っている人の投稿を見ました。そして私は同じmkpartコマンドのセクタがなぜか疑問に思います。

答え1

ディスクパーティショニングツールについての意見を持つことに問題はないと思います。とにかく私はpartedを選びました。なぜなら、partedは私たちが職場で常に使用しているからです。参考までに、これは物理ディスク用です。物理パーティションでスワップとブートを実行し、ディスクの残りの部分を1つの大きなパーティションに論理ボリュームとして配置したいと思います。

parted -s /dev/sda mklabel msdos
boot slice: 'parted -a optimal -s /dev/sda mkpart primary xfs 2048s 800MB'
swap slice: 'parted -s -a cylinder -- /dev/sda mkpart primary xfs 800MiB' 7720MiB
rest of disk: 'parted -s -a cylinder -- /dev/sda mkpart primary xfs 19087MiB -0'<br>
'pvcreate /dev/sda3' create physical volume
'vgcreate star /dev/sda3 create volume group
'lvcreate --size 10G --name tmp star' create temp volume
'lvcreate --size 30G --name home star' create home volume
'lvcreate --size 20G --name var star' create var volume
'lvcreate --size 20G --name var_log star' create /var/log volume
'lvcreate --size 20G --name var_audit star' create /var/log/audit volume
'lvcreate -l 100%FREE -n home star' create home volume with remaining space.

関連情報