web-dev-qa-db-ja.com

Google Compute Engineのルートディスクのサイズを増やすにはどうすればよいですか?

GCEのルートディスクサイズは10ギガです。これを増やすにはどうすればよいですか?コンソールまたはgcutilフラグでオプションを見つけることができません。これはAWSで簡単に実行できます。

29
Rishin S Babu

2016年3月31日の時点で、VMを停止または再起動することなく、スナップショットを取ることなく、より大きなディスクに復元することなく、永続ディスクのサイズを変更できますonline

機能を発表するブログ投稿 に詳細があり、コンソールでこれを行う方法については ドキュメント を見ることができます:

Google Cloud Platform Consoleで永続ディスクのサイズを変更します。

  1. VMインスタンスページに移動します。
  2. サイズを変更するディスクの名前をクリックします。
  3. ディスクの詳細ページの上部で、[編集]をクリックします。
  4. [サイズ]フィールドに、ディスクの新しいサイズを入力します。
  5. ディスクの詳細ページの下部にある[保存]をクリックして、変更をディスクに適用します。
  6. ディスクのサイズを変更した後、オペレーティングシステムが追加のスペースにアクセスできるように、ディスクパーティションのサイズを変更する必要があります。

またはCLI経由:

gcloud compute disks resize example-disk --size 250

一部のオペレーティングシステム は、fdiskresize2fs、またはxfs_growfsなどのツールを使用して手動の手順を実行することなく、再起動時にパーティションのサイズを自動的に変更します。そのため、変更を有効にするには、ディスクのサイズを変更してVMを再起動するだけで十分です。

52
Misha Brukman
  1. スナップショットから新しいディスクを作成しますが、その際にサイズを増やします
  2. 新しい、embiggenedディスクを使用して、新しいインスタンスを作成します
  3. 新しいスペースを認識するためにパーティションをembiggenします( https://cloud.google.com/compute/docs/disks/persistent-disks#repartitionrootpd )(注:開始セクターに特別な注意を払ってください、ドン単に盲目的にリターンをヒットするのではなく、終了セクターで盲目的にリターンをヒットすることができます)
  4. Sudo resize2fs/dev/sda1(注、この手順はGoogleクラウドドキュメントには記載されていません)
21
user1130176

ほとんどの場合、必要なサイズの2つ目のデータディスクを作成する方が簡単で柔軟性が高く、 インスタンスにアタッチします です。

永続ディスク(ルートディスクを含む)のサイズを変更するには、ディスクのスナップショットを作成してから、 スナップショットから新しい大きなディスクを作成します

5
Brian Dorsey

これは@ user1130176の回答のフォローアップに似ていますが、CentOS 7+を実行している場合は、ステップ#4(ファイルシステムを拡張する)で次を実行する必要があります。xfs_growfs /dev/sda1

CentOS 7の新しいディスクは、xfsタイプです。これが役立つことを願って、それは周りのすべてのリンクからあまり明確ではなかった。

3
mohsenrezaeithe

新しいGCoudコマンドラインツール以降、インスタンス作成時にブートディスクのサイズとタイプを選択できます。

gcloud compute instances create foo-instance --boot-disk-size 100 --image "xxxxxx"

次に、次の手順を使用してルートパーティションのサイズを変更します。 https://cloud.google.com/compute/docs/disks#repartitionrootpd

ドキュメント: https://cloud.google.com/sdk/gcloud/reference/compute/instances/create

Edit:ルートパーティションのサイズを変更した後、インスタンスを再起動して、システムにパーティションテーブルの再読み込みを強制する必要があります。そのため、このトリックはスタートアップスクリプト(スタートアップ/リブートごとに実行される)で使用できなくなります。

3

まず、必要なサイズとイメージでディスクを作成し、次に既存のディスクをブートソースとして使用してインスタンスを作成します。

1
conlustro

これは古いトピックであることは知っていますが、上記で説明した方法よりも簡単な方法でこれを行いました。クラウドコンソールのユーザーインターフェイスからすべて、心配する必要も、数分でクリックするだけで特別なコマンドを実行する必要もありません。

ただし、既に実行中のインスタンスでディスクのサイズを変更するのではなく、新しいインスタンスを作成する必要があります

  1. 拡大するディスクのスナップショットを作成します

    インスタンスをクリックしてから、ディスクをクリックして、「スナップショットを作成」し、名前を付けて、スナップショットが作成されるのを待ちます。 (このためにインスタンスをオフにする必要はありません)

  2. スナップショットから新しいインスタンスを作成し、新しいサイズを指定します

    スナップショットをクリックし、「インスタンスを作成」すると、ブートディスクオプションが表示され、[変更]をクリックして、新しいサイズに変更できます。 (おそらく、すべてのデフォルトのインスタンス設定を必要な設定に変更したいでしょう)

これは、パーティションエラーを発生させることなくディスクを拡大するための絶対に安全な方法であり、コマンドや特別なアクションを必要としません。

唯一の欠点は、新しいインスタンスを作成する必要があることです。既にお持ちのインスタンスでそれを行うことはできません。

1
Inbar Rose

これで 永続ディスクを適切なサイズに変更

gcloud compute disks resize DISK_NAME [DISK_NAME …] --size SIZE [--zone ZONE]

これは、物理デバイスのサイズを変更するだけです。ファイルシステム(そして、おそらくパーティションはその後調整する必要があります)

1
Igor Belianski

実用的な答えを見つけることができない他の人のために、私は誰かが親切に投稿したこのスクリプトを見つけました:

https://Gist.github.com/xelwarto/6f5c6556613c9215b1e1

# Requires cloud-utils-growpart to be installed

# Resize ROOT FS
part=`df --output=source / |grep "/dev/"`
if [ ! -z "$part" ] ; then
  len=${#part}
  p=`echo $part|cut -c$len`
  d=`echo $part|cut -c1-$(($len-1))`

  growpart "$d" "$p"
  xfs_growfs "$part"
fi
0
d-_-b