Azure VM(CentOS 7)にマネージドディスクを追加する

Azure,CentOS,Managed Disks,PowerShell/Azure CLI

 Azure VM (CentOS 7) へのデータディスク(マネージドディスク(Standard SSD))追加をマイクロソフト様のサイトを参考に試してみました。

    • 今回の実施内容
      • マネージドディスクの作成、追加(今回はPowerShellでやってみてます)
      • CentOS上でマウント、パーティション作成、フォーマット、fstabへの追加

 Windows Serverでのディスク追加はこちら。

スポンサーリンク

マネージドディスクを作成して仮想マシンへ追加(Azure Portal)

マネージドストレージディスクを作成して仮想マシンへ追加

仮想マシンのメニューでもマネージドストレージの作成が出来ます。
また作成したマネージドストレージをそのまま追加する事が出来ます。

仮想マシンのリソースメニューでディスクを選択します。
データディスクの項目が表示されますので新しいディスクを作成し追加するを

ディスクの入力画面が表示されます。

ディスク名、ストーレジの種類、サイズ等を入力します。
入力が完了したら保存をクリックします。

これで仮想マシンへのマネージドディスクの追加は完了です。
ディスクの画面を確認するとマネージドディスクが追加されている事が分かります。

マネージドディスクを作成して仮想マシンへ追加(PowerShell)

マネージドディスク作成から仮想マシン追加するPowerShell

マイクロソフト公式サイト記載内容を参考に仮想マシンにデータディスクを追加するPowerShellを作ってみました。
PowerShell内のリソースグループ名、VM名、データディスク名や容量等は適時指定します。

ポータルを利用し、データ ディスクを Linux VM に接続する

$rgName = 'リソースグループ名’
$vmName = 'DISK追加するVM名’
$location = 'japaneast’
#今回は、Standard SSDなので下記を指定。

$storageType = 'StandardSSD_LRS’
$dataDiskName = '追加するDISK名’
#今回は、最低の4GBを指定。
$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $location -CreateOption Empty -DiskSizeGB 4
$dataDisk1 = New-AzDisk -DiskName $dataDiskName -Disk $diskConfig -ResourceGroupName $rgName
$vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName

$vm = Add-AzVMDataDisk -VM $vm -Name $dataDiskName -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1
Update-AzVM -VM $vm -ResourceGroupName $rgName

マネージドディスクを作成にはNew-AzDiskConfigとNew-AzDiskを使う

マネージドディスク作成部分のみでPowerShellを作成するとこのようになります。

$rgName = 'リソースグループ名’
$location = 'japaneast’
#今回は、Standard SSDなので下記を指定。

$storageType = 'StandardSSD_LRS’
$dataDiskName = '追加するDISK名’
#今回は、最低の4GBを指定。
$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $location -CreateOption Empty -DiskSizeGB 4
New-AzDisk -DiskName $dataDiskName -Disk $diskConfig -ResourceGroupName $rgName

New-AzDiskConfigで作成するマネージドディスクの設定値を決めています。今回はディスクタイプ、作成するリージョン、ディスクサイズと言った一番基本的な設定値のみを指定しています。-CreateOption Emptyは空で作成するという意味になります。New-AzDiskConfigで指定した設定値は$diskConfigに設定値を保管します。
New-AzDiskでマネージドディスクの作成処理を行っています。-Diskで設定値を指定しますが、ここは$diskConfigを指定します。

マネージドディスクを仮想マシンに追加する為にはAdd-AzVMDataDiskとUpdate-AzVMを使う

先ほどのPowerShellで仮想マシンへディスク追加を行っているのは最後の3行になります。抜粋して確認しみます。

$vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
$vm = Add-AzVMDataDisk -VM $vm -Name $dataDiskName -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1
Update-AzVM -VM $vm -ResourceGroupName $rgName

Get-AzVMで追加する仮想マシンの情報を取得しています。
Add-AzVMDataDiskで追加する内容を指定します。追加するLunも指定しています。
最後にUpdate-AzVMで仮想マシンの設定を更新しています。

追加したマネージドディスクをLinux(CentOS)上でマウントしパーティションを作成する

こちらもマイクロソフト様のサイトに記載の手順を参考に進めます。

ポータルを利用し、データ ディスクを Linux VM に接続する

dmesgでディスク追加状況を確認

仮想マシンにディスクが追加された状況をdmesgコマンドで確認します。

[root@test-01]# dmesg | grep SCSI

[ 0.342149] SCSI subsystem initialized
[ 0.987188] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
[ 2.867663] sd 2:0:0:0: [sda] Attached SCSI disk
[ 2.873137] sd 3:0:1:0: [sdb] Attached SCSI disk
[3965178.687477] sd 5:0:0:1: [sdc] Attached SCSI disk

今回の場合はsdcが追加されている事が確認出来ました。

fdiskコマンドでパーティション作成

fdsikコマンドで追加されたsdcにパーティションを作成します。
今回は新しいパーティションを作成するのでコマンドはnを使います。

[root@test-vm-01]# fdisk /dev/sdc
Welcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x07ecc989.The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.コマンド (m でヘルプ): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
パーティション番号 (1-4, default 1): 1
最初 sector (2048-8388607, 初期値 2048):
初期値 2048 を使います
Last sector, +sectors or +size{K,M,G} (2048-8388607, 初期値 8388607):
初期値 8388607 を使います
Partition 1 of type Linux and of size 4 GiB is setコマンド (m でヘルプ): w
パーティションテーブルは変更されました!ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。

mkfsコマンドでディスクをフォーマット

mkfsコマンドでディスクをフォーマットします。

[root@test-01]# mkfs -t ext4 /dev/sdc1

fstabに追加したディスクのUUIDを追加してマウント

マウントポイントを/mnt/ramdiskとしています。
mountコマンドでマウント出来る事が確認出来ます。

再起動後もマウントされるように、UUIDを指定したマウントを行う為/dev/sdc1のUUIDをコピーしてfstabを作成します。

[root@test-01]# blkid

/dev/sda1: UUID="fa2f8157-XXXXX-XXXXXX" TYPE="xfs"
/dev/sda2: UUID="12907c8a-XXXXX-XXXXXX" TYPE="xfs"
/dev/sdb1: UUID="bb32dd89-XXXXX-XXXXXX" TYPE="ext4″
/dev/sdc1: UUID="66891613-XXXXX-XXXXXX" TYPE="ext4″

[root@test-01]# mkdir /mnt/ramdisk
[root@test-01]# mount /dev/sdc1 /mnt/ramdisk

[root@test-01]# vi /etc/fstab

##fstabに以下を追記します。
UID=66891613-XXXXX-XXXXXX /mnt/ramdisk ext4 defaults,nofail 0 0

OS再起動してマウントされていることを確認して見えていればOKです。

なお、Azure VMでのディスクサイズ変更は下記で試してみてますので併せて見て頂ければと。