SEブログ

【Azure】AzureVMのDiskをAzurePowershellで追加する

こんにちは!

 

 

AzureVM(仮想マシン)に PowerShell でディスクを作成・追加してみました。

この記事を通してディスクの作成を試していただくと、仮想マシンに対してディスクを作成し、追加する一連の流れが理解できるかと思います。

まずは Azure で使用されるディスクの種類から確認してゆきたいと思います。

 

 

スポンサーリンク

ディスクとは

 

 

ここでいうディスクとは、仮想マシンに追加するデータ用のディスクになります。

最大で 4 TB(2018年6月時点)が上限になります。

 

 

Azure IaaS VM: 最大 4 TB の大容量ディスクを発表 | Microsoft TechNet

 

 

スポンサーリンク

ディスクの種類

 

 

まず、自分の中で整理できていないので、Disk の種類を整理しますと、Disk は 2 種類あります。Standard と Premium になります。

一言でいえば、Standard は HDD ベース なので遅い、Premium は SSD ベース なので早いといった感じになります。

ここでは、テスト用として HDD を作成します。

 

 

種類 性能 用途
Standard HDDベース

基本的に低パフォーマンス (IO)

一般的な役割のサーバーでの用途になります。

ファイル共有など、それほど Disk のパフォーマンスが要求されないようなサーバーに使用します。

Premium SSDベース

高パフォーマンス (IO)

特定の役割のサーバーでの用途になります。

DB サーバーなど、高い Disk のパフォーマンスが要求されるようなサーバーに使用します。

 

 

事前準備

 

 

  • Azure PowerShell で Azure Portal に接続済みである事。

方法は以下の記事を参考にしていただければ幸いです。(別タブで開きます)

【Azure】Azure PowerShellでAzureに接続する

 

 

スポンサーリンク

Disk を作成・追加する流れ

 

 

PowerShell で Azure の Disk を作成・追加するには、以下のような順序があります。(と思っております)

 

  1. Disk の構成オブジェクトを作成
  2. Disk を作成(構成オブジェクトをもとに)
  3. 仮想マシンに Disk を追加する
  4. 仮想マシンの構成を更新する
  5. 仮想マシン上でディスクを初期化する

 

 

Disk の構成オブジェクトを作成する

 

 

New-AzureRmDiskConfig コマンドレットを使用し、ディスクの構成オブジェクトを作ります。

 

 

New-AzureRmDiskConfig  | Microsoft Azure

 

 

$DiskConfig = New-AzureRmDiskConfig `
 -Location "EastUS" `
 -CreateOption Empty `
 -DiskSizeGB 32


# 実行結果(以下の警告以外が表示されなければ良しとします。)
警告: New-AzureRmDiskConfig: A property of the output of this cmdlet will change in an upcoming breaking change release. The Name property for a Sku will return Standard_LRS and Premium
_LRS

 

 

Disk を作成する

 

 

New-AzureRmDiskConfig コマンドレットを使用し、構成オブジェクトを作成しましたら、次に Disk を作成します。

New-AzureRmDisk コマンドレットを使用し、Disk を作ります。

 

 

New-AzureRmDisk  | Microsoft Azure

 

 

$Disk = New-AzureRmDisk `
 -ResourceGroupName "TestLab" `
 -DiskName "Data" `
 -Disk $DiskConfig


# 実行結果(完了までに少し時間がかかるかと思います。また、以下の警告以外が表示されなければ良しとします。)

警告: New-AzureRmDisk: A property of the output of this cmdlet will change in an upcoming breaking change release. The Name property for a Sku will return Standard_LRS and Premium_LRS

 

 

作成した Disk の情報を取得する場合は、以下のコマンドで確認できます。

 

 

Get-AzureRmDisk -ResourceGroupName "TestLab" -DiskName "Data"


# 実行結果

警告: Get-AzureRmDisk: A property of the output of this cmdlet will change in an upcoming breaking change release. The Name property for a Sku will return Standard_LRS and Premium_LRS

ResourceGroupName : TestLab
ManagedBy : 
Sku : Microsoft.Azure.Management.Compute.Models.DiskSku
Zones : 
TimeCreated : 2018/06/04 3:44:26
OsType : 
CreationData : Microsoft.Azure.Management.Compute.Models.CreationData
DiskSizeGB : 32
EncryptionSettings : 
ProvisioningState : Succeeded
Id : /subscriptions/.../resourceGroups/TestLab/providers/Microsoft.Compute/disks/Data
Name : Data
Type : Microsoft.Compute/disks
Location : eastus
Tags : {}

 

 

すべてのリソースに、追加した Disk がありました。確認しましたところ、構成したとおりの内容で作成されています。

 

 

 

仮想マシンに Disk を追加する

 

 

ここでは仮想マシンの構成内容を変数に代入し、その変数を指定して Disk を追加する方法とします。

 

 

Get-AzureRmVm コマンドレットを使用し、仮想マシンの構成内容を変数 $vm に代入します。

 

 

Get-AzureRmVm  | Microsoft Azure

 

 

$vm = Get-AzureRmVm -ResourceGroupName "TestLab" -Name "labvm01"

# 実行結果(以下の警告以外が表示されなければ良しとします。)

警告: Get-AzureRmVM: A property of the output of this cmdlet will change in an upcoming breaking change release. The StorageAccountType property for a DataDisk will return Standard_LRS 
and Premium_LRS

 

 

Add-AzureRmVmDataDisk コマンドレットを使用し、指定した仮想マシンに Disk を追加します。

 

 

Add-AzureRmVmDataDisk  | Microsoft Azure

 

 

$vm = Add-AzureRmVmDataDisk `
 -VM $vm `
 -Name "Data" `
 -CreateOption Attach `
 -ManagedDiskId $Disk.Id `
 -Lun 1


# 実行結果

何も表示されなければ良しとします。

 

 

スポンサーリンク

仮想マシンの構成を更新する

 

 

Update-AzureRmVm コマンドレットを使用し、仮想マシンの構成を更新します。

 

 

Update-AzureRmVm  | Microsoft Azure

 

 

Update-AzureRmVm -ResourceGroupName "TestLab" -VM $vm


# 実行結果

RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
True OK OK 

 

 

仮想マシン上でディスクを初期化する

 

 

RDP でサーバーに接続し、PowerShell を実行します。

また、以下の流れの処理で実行します。

 

  1. Get-Disk コマンドレットで、raw フォーマットのパーティションを取得します。
  2. Initialize-Disk コマンドレットで、取得したパーティションを MBR でフォーマットします。
  3. New-Partition コマンドレットで、ドライブレターの割り当てとサイズを全て割り当てます。
  4. Format-Volume コマンドレットで、NTFS ファイルシステムに設定、ラベルを Data実行確認を $false(無効)にします。

 

 

Get-Disk コマンドレット  | Microsoft Azure

Initialize-Disk コマンドレット  | Microsoft Azure

New-Partition コマンドレット  | Microsoft Azure

Format-Volume コマンドレット  | Microsoft Azure

 

 

Get-Disk | Where PartitionStyle -eq 'raw' | `
Initialize-Disk -PartitionStyle MBR -PassThru | `
New-Partition -AssignDriveLetter -UseMaximumSize | `
Format-Volume -FileSystem NTFS -NewFileSystemLabel "Data" -Confirm:$false


# 実行結果

DriveLetter FileSystemLabel FileSystem DriveType HealthStatus OperationalStatus SizeRemaining Size
----------- --------------- ---------- --------- ------------ ----------------- ------------- ----
F Data NTFS Fixed Healthy OK 31.92 GB 32 GB

 

 

スポンサーリンク

ディスクが追加されているか確認する

 

 

今までの流れでの結果、ディスクが追加されているか、確認します。

 

 

1. Azure ポータルにサインインします。追加した仮想マシンのディスクが表示されている事を確認します。

 

 

 

2. OS 側で追加されているディスクが初期化・構成されている事を確認します。

 

 

 

以上になります。

 

 

いかがでしょうか。これで AzureVM に対してディスクを追加する基本が理解できました。

Azure コマンドレットの説明が未だ日本語化されていないのがあるので対応してほしいです。

とはいえ、ディスクの作成・管理で Microsoft のサイトで分かり易い説明がありましたので貼り付けておきます。

 

 

Azure Virtual Machines の作成および管理に使用される一般的な PowerShell コマンド  | Microsoft Azure

 

 

では最後までお読みいただきありがとうございました!

 

 

おすすめの本はこちら ↓↓↓