web-dev-qa-db-ja.com

EBSボリュームにパーティションを作成する必要がありますか?何が良いですか?

AWS EC2上の既存のUbuntuサーバーに新しいEBSボリュームを追加しています。

ボリュームを作成し、サーバーに接続すると、そこに表示されます。すべて問題ありません。

ボリューム上にパーティションを作成することのボーナス/責任(「/ dev/xvdf1」のように使用します)をそのまま使用して(「/ dev/xvdf」)、ボリューム上に直接ファイルシステムを作成することに対して?

7
diegov

EC2の内部では、Elastic Block Store(EBS)ボリュームが提供する柔軟性により、ボリューム全体をファイルシステムに使用することが本当に理にかなっています。必要に応じてそれらを破棄し、必要に応じて破棄し、再起動せずにインスタンスにアタッチおよびデタッチし、スナップショットを作成して、インスタンスのプロセッサ、メモリ、またはI/Oを使用せずにクローンを作成します。そして、パーティションテーブルがなければ、より多くのスペースが必要なときにサイズを変更するのは簡単です。

より大きなファイルシステムが必要ですか?パーティションテーブルなしでボリューム全体を使用している場合は、非常に簡単です。

AWSコンソールを使用して、ボリュームのEBSスナップショットを作成します。ボリュームはまだマウントされ使用されています。このスナップショットは実際には使用しませんが、しばらくの間は私を信頼してください。ボリュームのスナップショットを最近作成し、まだ持っている場合、ここでの目的は残りのステップを高速化することであるため、このステップをスキップできます。

ボリュームをアンマウントします。

2番目のスナップショットを撮ります。これはあなたが望むものです。このスナップショットがはるかに高速になるため、前のものを作成しました。 EBSがスナップショットを取得すると、ディスクの内容をS3の隠しリポジトリに保存します。同じボリュームの連続したスナップショットごとに、changedブロックのみを保存する必要があるため、このスナップショットは、ほとんどの場合、すでにキャプチャされているすべてのデータの場所。変更されたブロックのみが物理的にバックアップされます。

最後のスナップショットを使用して、新しいボリュームを作成します。

新しいボリュームを古いボリュームの代わりにインスタンスに接続し、マウントします。必要に応じてデータを検証します。

次に、resize2fsを使用して、ボリュームの使用中にファイルシステムを拡張し、新しいボリュームで使用可能なサイズを満たすことができます。

次に、上記の最初のスナップショットを削除します。 EBSは、最終スナップショットに必要なEBSに含まれるすべてを「ロールフォワード」するため、最終スナップショットは引き続き有効です。

最後のステップとして、Sudo dd if=/dev/xvdx of=/dev/null bs=1Mを使用して新しいボリュームをウォームアップできます。スナップショットからボリュームが作成されると、ボリュームのコンテンツがスナップショットから実際のボリュームに「遅延」ロードされます。つまり、パフォーマンスが最適になる前にボリュームが完全に使用可能になります。バックグラウンドプロセスによってまだロードされていないボリュームから何かを要求した場合、ほとんどすぐに取得できますが、バックグラウンドプロセスがすべてをロードした場合ほど速くはありません。上記のdd操作は、ボリューム全体の物理的な読み取りを実行し、可能な限り最小のレイテンシで全体を利用可能にします。これは、ボリュームをアンマウントした状態で実行する必要があるものとして文書化されていますが、サイズ変更の前後で行うかどうかはそれほど重要ではありません。予熱EBSボリュームのさまざまなフレーバーについては、 http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/ebs-prewarm.html ...

私にとって、パーティションテーブルなしでボリューム全体をファイルシステムに使用することは、ダウンタイムとエラーの可能性を最小限に抑えるための唯一の方法のようです。非常に初期のものを除き、私のEBS(および短命)のボリュームはすべてこの方法で処理されます。

もちろん、fdiskまたはpartedを使用して、パーティションテーブルを通常の方法で作成および変更できますが、これは-私の意見では-追加の「可動部品」を不必要に追加しています...これは通常、エラーの機会が増えることを意味します。

ローカルマシンのX-Serverを動作させ、ローカルでGUI出力を表示するためにEC2インスタンスからの着信接続を受け入れる方法を知っている場合、EC2インスタンスでグラフィカルツールgpartedを簡単に使用できます。ローカルワークステーションの画面に表示されるグラフィカルインターフェイス-はい、これは機能します、私はやったことがあります-しかし、その機能を得ることはこの質問の範囲外です。

9

今日、同じ問題が発生しました。デフォルトでは、EBSが8GBである新しいec2のインスタンスを作成します。接続されたEBSのサイズを変更するには、新しいインターフェイスを作成したり、スナップショットを作成したり、EBSを切り離したりする必要がありません。以下の3つの手順を実行できます。

  1. EBSボリュームのサイズ変更
  2. パーティションのサイズ変更
  3. パーティションのサイズ変更最初のステップでは、AWSコンソールに移動して[EBS]をクリックし、目的のサイズを変更して[変更]をクリックします。

残りのステップについては、 この記事 に従ってください。質問がある場合は、お気軽にお問い合わせください。

ありがとう!

0
Narendra Sharma