Amazon の EC2 および EBS サービスには非常に感銘を受けました。EBS ボリュームを拡張できるかどうか知りたかったのです。
例: 50 GB のボリュームがあり、スペースが不足し始めた場合、必要に応じて 100 GB まで増やすことはできますか?
Amazon の EC2 および EBS サービスには非常に感銘を受けました。EBS ボリュームを拡張できるかどうか知りたかったのです。
例: 50 GB のボリュームがあり、スペースが不足し始めた場合、必要に応じて 100 GB まで増やすことはできますか?
ストレージを拡張することはできますが、その場で行うことはできません。現在のブロックのスナップショットを作成し、新しい大きなブロックを追加して、スナップショットを再アタッチする必要があります。
ここには、 Amazon の EC2 コマンド ライン ツールの使用に基づく簡単なチュートリアルがあります。
必要に応じて、その場でより多くのスペースを単純に「バンプイン」することはできませんが、スナップショットを使用してパーティションのサイズを変更することはできます。
これを行う手順は次のとおりです。
http://aws.amazon.com/ebs/を見てください- EBS スナップショット:
スナップショットを使用して、複数の新しいボリュームをインスタンス化したり、ボリュームのサイズを拡張したり、アベイラビリティ ゾーン間でボリュームを移動したりすることもできます。新しいボリュームが作成されるとき、既存の Amazon S3 スナップショットに基づいて作成するオプションがあります。そのシナリオでは、新しいボリュームは元のボリュームの正確なレプリカとして開始されます。必要に応じて別のボリューム サイズまたは別のアベイラビリティ ゾーンを指定することで、この機能を使用して、既存のボリュームのサイズを増やしたり、新しいアベイラビリティ ゾーンに複製ボリュームを作成したりできます。スナップショットを使用してボリュームのサイズを変更する場合は、ファイル システムまたはアプリケーションがデバイスのサイズ変更をサポートしていることを確認する必要があります。
私はすべての答えに従いましたが、すべての点で欠けているものがあります。
これらの手順に従うと、EBS ボリュームを拡張してデータを保持できます (これはルート ボリューム用ではありません)。簡単にするために、AWS コンソールを使用してスナップショットを作成することをお勧めします... AWS コマンドライン ツールを使用してそれを行うこともできます。
ここでは、ルート ボリュームには触れていません。
AWS コンソールに移動します。
インスタンスに 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
StartとIdの値を書き留めます。(この場合は 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
新しいサイズを確認するために使用します。
数分間のダウンタイムが許容される限り、Eric Hammond は実行中の EBS インスタンスのルート ディスクのサイズ変更に関する優れた記事を書いています: http://alestic.com/2010/02/ec2-resize-running-ebs -根
すべての素晴らしい推奨事項であり、必要な変更を行うために 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 に感謝します。
これは、AWS マネジメント コンソールから実行できるようになりました。プロセスは他の回答と同じですが、コマンドラインに移動する必要はなくなりました。
ところで: 物理ディスクと同様に、LVM を使用すると便利な場合があります。元:
http://www.davelachapelle.ca/guides/ubuntu-lvm-guide/ http://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/
大きな利点: スペースを動的に追加 (または削除) できます。
また、インスタンス間で簡単に移動できます。
警告:
私の手順:
上記のスナップショットを使用して、より大きなディスク容量を持つ新しいボリュームを作成します。残念ながら、スナップショットを作成するための aws コンソールの UI は、aws のすべてのスナップショットを一覧表示しているため、ほとんど使用できません。次のように、コマンド ライン ツールを使用する方がはるかに簡単です。
ec2-create-volume -s 100 --snapshot snap-a31fage -z us-east-1c
インスタンスから既存の ebs (より小さい) ボリュームを切り離す
これで完了です。
上記のステップ 3 以外は、aws マネジメント コンソールを使用してすべて実行できます。
また、ここで述べたように注意してください:
https://serverfault.com/questions/365605/how-do-i-access-the-attached-volume-in-amazon-ec2
EC2 インスタンスのデバイスは /dev/xv* である可能性がありますが、AWS Web コンソールでは /dev/s* であると通知されます。
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にサイズ変更したかったので、上記の手順に従ってこれを行うことができました。]
オペレーティングシステムでサポートされている場合は、すべてのEBSボリュームに論理ボリュームマネージャー(LVM)を使用することを強くお勧めします。Linuxディストリビューションは一般的にそうです。それはいくつかの理由で素晴らしいです。
論理ボリュームのサイズ変更と移動はライブで実行できるため、ダウンタイムを必要とするオフラインスナップショット全体の代わりに、別のより大きなEBSボリュームを追加して作成し、それを物理ボリューム(PV)としてLVMプールに追加し、それに論理ボリューム(LV)を追加し、プールから古い物理ボリュームを削除して、古いEBSボリュームを削除します。次に、論理ボリュームのサイズを変更し、その上のファイルシステムのサイズを変更するだけです。これにはダウンタイムはまったく必要ありません。
それはあなたの「物理的な」デバイスからあなたのストレージを抽象化します。ダウンタイムやmountpoints/fstabの変更を必要とせずに、デバイス間でパーティションを移動すると非常に便利です。
AmazonがEBSボリュームのサイズをオンザフライで変更できるようになればいいのですが、LVMではそれほど必要ありません。