[Amazon-Web-Services] 拡大するAmazon EBSのボリュームサイズ



Answers

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

AmazonのEC2コマンドラインツールを使用した簡単なウォークスルーがあります

Question

私はAmazonのEC2とEBSサービスに非常に感銘を受けました。 EBSボリュームを増やすことが可能かどうかを知りたかったのです。

例:50GBのボリュームがあり、スペースが足りなくなったら、必要なときに100GBまで増やすことができますか?




これで、AWS Management Consoleでこれを行うことができます。 このプロセスは他の回答と同じですが、コマンドラインに行く必要はありません。




私はすべての答えに従った、すべてすべての点で何かが欠けている。

これらの手順を実行すると、EBSボリュームを拡張してデータを保持できます(これはルートボリューム用ではありません)。 簡単にするために、私はAWS consuleを使用してスナップショットを作成することを提案しています。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

開始値と終了値を書き留めます。 (この場合は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 : 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を使用します。




私のステップ:

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

    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 *であることを伝えています。




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

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

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

AmazonがEBSボリュームをオンザフライでサイズ変更することを可能にするのはうれしいことですが、LVMではそれが必要ではありません。






Links