Amazon EC2インスタンスでEBSボリュームを分割してマウントするために特にこれを使用しましたが、実際には通常、新しいドライブの初期化に適用できます。
質問が示すように、特定のデバイスで利用可能なすべてのスペースを使用する単一の基本パーティションを作成するスクリプトを作成したいと思います。デバイスがどれだけ大きくなるかは事前に知られておらず、かなり大きくなる可能性があります(例:数テラバイト)。
調査結果によると、parted
スクリプトに最適なコマンドのようです。私はそのようなものがparted /dev/sdf mkpart primary 0 END
私が望むものだと思いますが、ENDが何であるかを判断するためのエレガントな方法を見つけるのに苦労しています。これを行う簡単な方法を知っている人はいますか?
答え1
次のことができます。
parted /dev/sdf --script -- mkpart primary 0 -1
答え2
別の回答を使用しようとしたときに問題が発生しました。私に役立つのは、次のパーセンテージ方法を使用することです。
$ parted /dev/sdf --script -- mkpart primary 0% 100%
parted
パーティションのソートと処理方法に問題があります。次の2つの記事では、この問題について少し議論します。
- Red Hat Enterprise Linux 6 - parted を使用して 7TB パーティションを作成すると、常に「結果パーティションが最適なパフォーマンスのために正しく整列されていません」というメッセージが表示されます。
- 最高のパフォーマンスを得るために parted を使用してパーティションをソートする方法
この記事で説明されている数学は私のシナリオでは機能しません。 2番目のコメントリンクのコメントで、誰かがパーセンテージの使用を提案しました。
しかし、通常、HDDにもラベルを付ける必要があります。 CLIを介してこれを行うには、次のようにしますparted
。
$ parted /dev/sde --script -- mklabel msdos
-または-
$ parted /dev/sde --script -- mklabel gpt
ハードドライブによって異なります。
答え3
あなたはできます...
printf 'n\n\n\n\n\nw\n' | fdisk /dev/disk
...msdos型の場合。 gptもほぼ同じですが…
printf 'n\n\n\n\n\nw\ny\n' | gdisk /dev/disk
または以下を使用してくださいsgdisk
(非対話型gdisk
):
sgdisk -n 1:0:0 /dev/disk
ファイルシステムの作成中にディスクにラベルを付けることができます。