Linux 仮想マシンの OS ディスクの拡張方法 (ARM編)
最終更新日:2016/09/07
こんにちは。Microsoft Azure テクニカル サポートの乾です。
Microsoft Azure 上の多くの Linux 仮想マシンの OS ディスク (/dev/sda1) は 30 GB に設定されています。ディスクを追加してマウントすることは容易ですが、OS ディスクの拡張が必要となることもあるかと思います。今回は、リソース マネージャー デプロイ モデルの CentOS6.7 の仮想マシンの OS ディスクの拡張方法をご案内いたします。ディストリビューターやバージョンが異なる仮想マシンで本手順を実施いただく場合、実行できるコマンドが異なる場合がございますので、ご注意ください。
※本情報の内容(添付文書、リンク先などを含む)は、更新日時点でのものであり、予告なく変更される場合があります。
利用シーン
OS ディスク (/dev/sda1) のサイズをデフォルトのサイズから拡張して利用したい場合
[重要] ご注意事項
- パーティション サイズの変更の結果、仮想マシンが起動できなくなる場合もございます。事前に仮想マシンのバックアップを取得することを、強くお勧めします。
- ディストリビューターやバージョンが異なる仮想マシンで本手順を実施いただく場合、実行できるコマンドが異なる場合がございます。例えば、CentOS 7.2 では、resize2fs の替わりに xfs_growfs を実行する必要がございます。</li>
- Linux のコマンドについては弊社が動作保証しているものではございません。Linux コマンドの最新のマニュアルをあわせて参照ください。
手順
今回は、CentOS 6.7 の仮想マシンの OS ディスクのを 100GB に拡張するケースを例に手順をご案内いたします。ディストリビューターやバージョンが異なる仮想マシンで本手順を実施いただく場合、実行できるコマンドが異なる場合がございますので、ご注意ください。
ディスクの使用状況を確認します。
Azure ポータルなどより仮想マシンを停止して「停止(割り当て解除済み)」の状態にします。
Azure ポータルから OS ディスクのサイズを変更します。
- Azure ポータル を表示します。
- 左側のメニューから「Virtual Machines」をクリックします。
- 設定メニューから「ディスク」をクリックします。
- ディスクの一覧から「OS ディスク」をクリックします。
- 「サイズ」を任意の値に変更して「保存」をクリックします。
仮想マシンを起動します。
ディスクの使用状況を確認します。
パーティションの設定を変更します。
- fdisk /dev/sda を実行します。
- ”u”を入力して、unit から sector に表示を変更します。
- ”p”を入力して、現在のパーティションの情報を表示し、Sector の開始番号をメモします。(例:2048)
- ”d”を入力して、パーティションを削除します。パーティションが1つしかない場合は、パーティション番号に 1 が自動的に選択されます。(データを削除するのではなく、パーティションテーブルの情報を削除します。)
- ”n”を入力して、新しいプライマリー パーティションを作成します。
- パーティション番号に ”1” を入力します。
- Sector の開始番号に前の手順でメモした値 (例:2048) を入力します。
- Sector の終了番号は、Enter を押してデフォルトの値をアクセプトします。
- ”w”を入力して、パーティション テーブルに書き込みます。"WARNING: Re-reading the partition table failed with error 16: Device or resource busy. "の警告メッセージが表示されるのが正常な動作です。
仮想マシンを再起動します。
ファイルシステムのサイズを変更します。
以上で OS ディスクの拡張は完了です。
関連ドキュメント
- Step by Step: how to resize a Linux VM OS disk in Azure (ARM)
https://blogs.msdn.microsoft.com/cloud_solution_architect/2016/05/24/step-by-step-how-to-resize-a-linux-vm-os-disk-in-azure-arm/
FAQ
Q: この記事の手順に沿って進めたところ、「4.仮想マシンを起動します。」で以下のエラーが発生しました。どのようにすれば、仮想マシンを起動できるようになりますか。
仮想マシン '*****' を起動できませんでした。エラー:
Storage account ***** not found.
Ensure storage account is not deleted and belongs to the same Azure location as the VM.
A: このエラー メッセージは、対象の仮想マシンの「診断」に設定しているストレージ アカウントが削除されている場合などに表示されます。以下の画面で「診断」に利用しているストレージ アカウントを変更いただき、エラーが解消するかご確認ください。
変更履歴
2016/09/07: FAQ を追加しました
Comments
- Anonymous
March 13, 2017
ファイルシステムが XFS の場合は、次のコマンドを使ってください。sudo xfs_growfs / -D 26086144