UbuntoでEC 2サーバーのセットアップの実行中のインスタンスを取得しました。ダウンタイムを発生させず、リスクを最小限に抑えてディスクサイズを増やす最善の方法は何ですか?
ガイドを読んで、1つの方法は、新しいディスクを作成し、データを移行し、インスタンスのスワップディスクをオフにしてから再びオンにすることです。このアプローチは少しリスクが高いようですが、ダウンタイムが必要です。より良いアプローチがあるかしら?
UbuntoでEC 2サーバーのセットアップの実行中のインスタンスを取得しました。ダウンタイムを発生させず、リスクを最小限に抑えてディスクサイズを増やす最善の方法は何ですか?
ガイドを読んで、1つの方法は、新しいディスクを作成し、データを移行し、インスタンスのスワップディスクをオフにしてから再びオンにすることです。このアプローチは少しリスクが高いようですが、ダウンタイムが必要です。より良いアプローチがあるかしら?
回答:
Amazon AWSは、2017年2月13日にEBSボリュームのサイズを変更できる新機能をリリースしました。
ソース:https : //aws.amazon.com/blogs/aws/amazon-ebs-update-new-elastic-volumes-change-everything/
これにより、実行中に既存のインスタンスのEBSボリュームのサイズを増やすことができます。
ボリュームサイズを変更しても、ボリューム上のファイルシステムのサイズは変更されないことに注意してください(ほとんどのファイルシステムの場合)。オペレーティングシステム自体で、(ファイルシステムによっては)追加の手順が必要になる場合があります。たとえば、今日ほとんどのLinux OSで使用されているresizefs
on ext4
ファイルシステム。
プロセスを説明するAWSの完全なドキュメントは、http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.htmlにあります。
場合によっては、ブロックデバイスにパーティションがマップされており、1つ(または複数)のパーティションにのみファイルシステムが含まれます。この場合、パーティションのサイズを変更してから、ファイルシステムのサイズを変更する必要があります。このプロセスは、ドキュメントにも記載されています。
ブログで説明されている新しい「オンライン」サイズ変更機能は、現在の世代のインスタンスにのみ適用されます。ボリュームのサイズ変更を試みる前に確認する必要があるその他の考慮事項と制限があります。
fdisk
ルートパーティションに関しては、ディスクのサイズを変更するために使用する必要があります。通常、ディスクパーティションテーブルは、マウントされている間は書き込むことができません。アンマウントすることはできません。一度に再起動する必要があります:)
私がすること(そしてそれはあなたの質問に正確に答えているわけではありません)は次のとおりです:
echo '- - -' > /sys/bus/scsi/devices/host1/scsi_host/host1/scan
(ホスト番号の調整が必要になる場合があります)。pvcreate
見つかった新しいディスクで物理ボリュームを作成します(fdisk -l
すべてのディスクを一覧表示します)vgcreate
およびlvcreate
)tar
復元するターゲットマウントポイント。何かをインストールする前に新しいスペースを使用する場合、ステップ6と8はオプションです。既存のディレクトリを置き換える場合は、アーカイブの最後と復元の間に書き込みを行わないようにする必要があります。
マウントポイントごとに手順4〜8を繰り返すことができます。これにより、必要なスペースを拡張し、中断することなくオンラインでそれらのボリュームのサイズを変更できます。
EC2にZFSをインストールします。
EBSボリュームのサイズを変更した後、ZFSプールを拡張する必要があるときに実行したのは次のとおりです。
parted -l # Get the list of partitions
parted /dev/xvdf rm 9 # Remove the buffer partition
parted /dev/xvdf resizepart 1 100% # Resize the partition
zpool online -e <zfs partition name> /dev/xvdf # Expand the zpool and the filesystem it holds