154

Amazon の EC2 および EBS サービスには非常に感銘を受けました。EBS ボリュームを拡張できるかどうか知りたかったのです。

例: 50 GB のボリュームがあり、スペースが不足し始めた場合、必要に応じて 100 GB まで増やすことはできますか?

4

11 に答える 11

103

ストレージを拡張することはできますが、その場で行うことはできません。現在のブロックのスナップショットを作成し、新しい大きなブロックを追加して、スナップショットを再アタッチする必要があります。

ここには、 Amazon の EC2 コマンド ライン ツールの使用に基づく簡単なチュートリアルがあります。

于 2009-02-15T12:40:08.350 に答える
44

必要に応じて、その場でより多くのスペースを単純に「バンプイン」することはできませんが、スナップショットを使用してパーティションのサイズを変更することはできます。

これを行う手順は次のとおりです。

  1. ebs ボリュームをアンマウントする
  2. ebs スナップショットを作成する
  3. より多くのスペースを持つ新しいボリュームを追加する
  4. パーティションテーブルを再作成し、ファイルシステムのサイズを変更します
  5. 新しい ebs ボリュームをマウントします

http://aws.amazon.com/ebs/を見てください- EBS スナップショット:

スナップショットを使用して、複数の新しいボリュームをインスタンス化したり、ボリュームのサイズを拡張したり、アベイラビリティ ゾーン間でボリュームを移動したりすることもできます。新しいボリュームが作成されるとき、既存の Amazon S3 スナップショットに基づいて作成するオプションがあります。そのシナリオでは、新しいボリュームは元のボリュームの正確なレプリカとして開始されます。必要に応じて別のボリューム サイズまたは別のアベイラビリティ ゾーンを指定することで、この機能を使用して、既存のボリュームのサイズを増やしたり、新しいアベイラビリティ ゾーンに複製ボリュームを作成したりできます。スナップショットを使用してボリュームのサイズを変更する場合は、ファイル システムまたはアプリケーションがデバイスのサイズ変更をサポートしていることを確認する必要があります。

于 2009-02-15T12:37:38.527 に答える
22

私はすべての答えに従いましたが、すべての点で欠けているものがあります。

これらの手順に従うと、EBS ボリュームを拡張してデータを保持できます (これはルート ボリューム用ではありません)。簡単にするために、AWS コンソールを使用してスナップショットを作成することをお勧めします... AWS コマンドライン ツールを使用してそれを行うこともできます。

ここでは、ルート ボリュームには触れていません。

AWS コンソールに移動します。

  1. インスタンスをシャットダウンします (数分間のみです)
  2. 拡張する予定のボリュームを切り離します (/dev/xvdf など)。
  3. ボリュームのスナップショットを作成します。
  4. 作成したスナップショットを使用して、より大きなサイズの新しいボリュームを作成します
  5. 新しいボリュームをインスタンスにアタッチします
  6. インスタンスを開始する

インスタンスに SSH で接続します。

 $ sudo fdisk -l

これにより、次のようなものが得られます。

Disk /dev/xvdf: 21.5 GB, 21474836480 bytes
12 heads, 7 sectors/track, 499321 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd3a8abe4

    Device Boot      Start         End      Blocks   Id  System
/dev/xvdf1            2048    41943039    20970496   83  Linux

StartIdの値を書き留めます。(この場合は 2048 と 83)

fdisk を使用して、パーティション xvdf1 を削除し、まったく同じブロック (2048) から始まる新しいパーティションを作成します。同じ ID (83) を与えます。

$ sudo fdisk /dev/xvdf 

Command (m for help): d
Selected partition 1

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
Using default value 1
First sector (2048-41943039, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): 
Using default value 41943039

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 83

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

このステップはここでよく説明されています: http://litwol.com/content/fdisk-resizegrow-physical-partition-without-losing-data-linodecom

ボリュームをマウントして resize2fs を実行するだけです。

ebs ボリュームをマウントします: (私のは /mnt/ebs1 にあります)

$ sudo mount /dev/xvdf1 /mnt/ebs1

サイズを変更します:

$ sudo resize2fs -p /dev/xvdf1

resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/xvdf1 is mounted on /mnt/ebs1; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/xvdf1 to 5242624 (4k) blocks.
The filesystem on /dev/xvdf1 is now 5242624 blocks long.

ubuntu@ip-xxxxxxx:~$ 

終わり!df -h新しいサイズを確認するために使用します。

于 2012-07-19T20:37:29.087 に答える
19

数分間のダウンタイムが許容される限り、Eric Hammond は実行中の EBS インスタンスのルート ディスクのサイズ変更に関する優れた記事を書いています: http://alestic.com/2010/02/ec2-resize-running-ebs -根

于 2010-04-28T14:17:25.117 に答える
9

すべての素晴らしい推奨事項であり、必要な変更を行うために Amazon Web UI ツールを使用して Windows Amazon EC2 EBS インスタンスを拡張することに関連する、私が見つけたこの記事を追加することにしました。CLI の使用に慣れていない場合は、これによりアップグレードがはるかに簡単になります。

http://www.tekgoblin.com/2012/08/27/aws-guides-how-to-resize-a-ec2-windows-ebs-volume/

この記事を投稿してくれた TekGoblin に感謝します。

于 2013-03-05T16:48:09.957 に答える
5

これは、AWS マネジメント コンソールから実行できるようになりました。プロセスは他の回答と同じですが、コマンドラインに移動する必要はなくなりました。

于 2011-04-05T09:57:02.303 に答える
4

ところで: 物理ディスクと同様に、LVM を使用すると便利な場合があります。元:

http://www.davelachapelle.ca/guides/ubuntu-lvm-guide/ http://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/

大きな利点: スペースを動的に追加 (または削除) できます。

また、インスタンス間で簡単に移動できます。

警告:

  • 事前に構成する必要があります
  • シンプルな JBOD セットアップでは、「ディスク」を 1 つ失うとすべてが失われます。
于 2011-05-20T16:32:55.643 に答える
4

私の手順:

  1. インスタンスを停止します
  2. インスタンスにアタッチされた ebs ボリュームを見つけて、そのスナップショットを作成します
  3. 上記のスナップショットを使用して、より大きなディスク容量を持つ新しいボリュームを作成します。残念ながら、スナップショットを作成するための aws コンソールの UI は、aws のすべてのスナップショットを一覧表示しているため、ほとんど使用できません。次のように、コマンド ライン ツールを使用する方がはるかに簡単です。

    ec2-create-volume -s 100 --snapshot snap-a31fage -z us-east-1c
    
  4. インスタンスから既存の ebs (より小さい) ボリュームを切り離す

  5. 新しい (より大きな) ボリュームをインスタンスに接続し、インスタンスが想定しているのと同じデバイス (私の場合は /dev/sda1) に接続してください。
  6. インスタンスを開始する

これで完了です。

上記のステップ 3 以外は、aws マネジメント コンソールを使用してすべて実行できます。

また、ここで述べたように注意してください:

https://serverfault.com/questions/365605/how-do-i-access-the-attached-volume-in-amazon-ec2

EC2 インスタンスのデバイスは /dev/xv* である可能性がありますが、AWS Web コンソールでは /dev/s* であると通知されます。

于 2012-07-12T21:44:09.990 に答える
3

Windows OSの場合はコマンド「diskpart」を使用します。こちらをご覧ください:http ://support.microsoft.com/kb/300415を使用してください 以下は、非ルートディスク(ダイナミックディスクではなく基本ディスク)に対して実行した手順です。

スナップショットを作成したら、古いEBSボリューム(たとえば600GB)をマウント解除し、より大きなEBSボリューム(たとえば1TB)を作成して、この新しいEBSボリュームをマウントします-サイズ変更(600GBから1TB)をWindowsに通知する必要がありますコマンドプロンプトで(管理者として実行)

diskpart.exe

disk=9を選択します

volume=Zを選択します

拡張する

[私のディスク9、ボリュームZというラベルは、サイズ600GBのec2スナップショットから作成されたサイズ1TBのボリュームでした。600GBを1TBにサイズ変更したかったので、上記の手順に従ってこれを行うことができました。]

于 2011-02-14T10:40:47.513 に答える
0

オペレーティングシステムでサポートされている場合は、すべてのEBSボリュームに論理ボリュームマネージャー(LVM)を使用することを強くお勧めします。Linuxディストリビューションは一般的にそうです。それはいくつかの理由で素晴らしいです。

  1. 論理ボリュームのサイズ変更と移動はライブで実行できるため、ダウンタイムを必要とするオフラインスナップショット全体の代わりに、別のより大きなEBSボリュームを追加して作成し、それを物理ボリューム(PV)としてLVMプールに追加し、それに論理ボリューム(LV)を追加し、プールから古い物理ボリュームを削除して、古いEBSボリュームを削除します。次に、論理ボリュームのサイズを変更し、その上のファイルシステムのサイズを変更するだけです。これにはダウンタイムはまったく必要ありません。

  2. それはあなたの「物理的な」デバイスからあなたのストレージを抽象化します。ダウンタイムやmountpoints/fstabの変更を必要とせずに、デバイス間でパーティションを移動すると非常に便利です。

AmazonがEBSボリュームのサイズをオンザフライで変更できるようになればいいのですが、LVMではそれほど必要ありません。

于 2012-06-22T09:01:13.927 に答える