web-dev-qa-db-ja.com

VMを再デプロイせずに、Azureで使用されているマネージドディスクをアップグレードできますかVM?

Windows 2019 Serverに追加した別のマネージドディスクを変換しようとしていますVM標準SSDからプレミアムSSDに。 https:// docs。 Microsoft.com/bs-latn-ba/Azure/virtual-machines/windows/convert-disk-storage 、これを停止するにはVMを実行する必要があります-停止すると、波及効果が発生し、チームがオンラインに戻ってすぐに作業を続けることができなくなる可能性があります。回避しようとしている具体的なシナリオの1つは、VMの必須の再展開です。

参照してください、私はこのAzureでサードパーティソフトウェアを実行していますVMとVMが取得した場合、そのソフトウェアライセンスモジュール(SLM)をリセット/再初期化する必要があるかもしれません)再展開されます。電話で技術サポートに連絡し、ヘルプを要求し、何回知っているかを再ルーティングし、再発行されたライセンスを待って、新しいライセンスを適用する必要があるため、再初期化は長いプロセスになる可能性があります。すべてが正常に戻っていることをテストします。ソフトウェアメーカーにSLMの再発行/再構成を依頼している間、チームが1日分の作業を失う可能性があるため、これは回避しようとしていることです。SLMはCPUIDとMAC IDに依存していますredeploymentは仮想マシンが別の物理的なハードウェアにデプロイされる可能性があることを示唆しているため、SLMのリセットが必要になる可能性が高いです。私はそれを望まない。

だから私の質問は、

  • VM=メンテナンスのために外部の管理対象ディスクを標準SSDからプレミアムSSDにアップグレードするなど)シャットダウンした場合、強制的に再デプロイされますか?

  • シャットダウンは、AzureポータルでそのVMに対してStopを押すのと実質的に同じですか?

  • 停止オプションと個別の停止/再デプロイオプションがあると聞きましたが、そうだとすぐにはわかりません。 後で停止後の再配置オプションですか?

5

ユーレカ! VMを再展開することなく、管理されたデータディスクをアップグレードできました。 Azure Webポータルによると、「ディスクのサイズを変更したり、アカウントの種類を変更したりできるのは、それらが未接続または所有者VMの割り当てが解除されている場合のみです。」問題は、VMの停止と割り当て解除を必要とせずに家から解放されることです!実際、これはそうでした。

PowerShellを使用してデータディスクホット削除できますが、何もないことを確認しましたVMから切り離す前にディスクをアクティブに使用しています。」 (出典:この投稿の下部にある私のハイパーリンク#3を参照してください。)したがって、私は先に進み、そのディスクに依存するサードパーティのサービスを停止し、VMを実行したままにし、自分のローカルPCここで記録したすべての手順を実行しました。

私が実行したカスタムPowerShellコマンド(フェーズ1、2、および4と呼ばれるものに結果が埋め込まれた、Windows PowerShell ISEユーザーインターフェイスから記録されたもの)の詳細を以下で詳しく説明します。また、Azure Webポータル(フェーズ3と呼んでいます)を使用する必要もありました。

これらすべてWORKED!もう一度、4つのフェーズでソリューションを実行したことに注意してください。簡単に言えば、次のとおりです。

フェーズ1:これはPowerShellを使用して行われました。最初は、Connect-AzAccountコマンドまで、必要なAzure PowerShellモジュールをインストールし、スクリプトの実行を許可するようにPCをセットアップする準備手順が表示されます。モジュールのインストールを完了するには、[はい]または[すべてはい]を数回クリックする必要がありました。

フェーズ2:PowerShellを使用しています。ここで、Connect-AzAccountを実行したときにAzureポータルの資格情報を入力する必要がありました。基本的に、VMがまだ実行されている間にディスクを切断します。これは、直後に続くRemove-AzVMDataDiskコマンドとUpdate-AzVMで発生します。

フェーズ3:その時点で、Azure Webポータルに戻り、マネージドデータディスクをスタンダードからプレミアムSSDに変更しました。

フェーズ4:最後に、PowerShell画面に戻り、Add-AzVMDataDiskコマンドに至るまでの手順を実行して、ディスクをVMに再接続し、その後のUpdate-AzVMでそれを実行します。これにより、アップグレードされたマネージドディスクドライブが私のVMに復活しました。

さらに良いことに、すべてのデータはそのまま保持され、以前に割り当てたドライブ文字は保持されました。また、指定したネットワーク共有名でさえ、仮想ネットワーク経由で他のVMにアクセスできました。

(フェーズ4では、読み取り/書き込みキャッシュを使用して、プレミアムSSDのパフォーマンスを最適化するための追加のステップも実行したことに注意してください。これは、コマンド「Set-AzVMDataDisk -VM $ VM -Lun "0" -Caching ReadWrite」です。)

ここで、PowerShellで実行したすべての詳細な手順と、Azure Webポータルで実行した内容を確認してください。

フェーズ1

PS C:\WINDOWS\system32> Install-Module -Name Az -AllowClobber

PS C:\WINDOWS\system32> Get-ExecutionPolicy -List

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined
 LocalMachine       Undefined



PS C:\WINDOWS\system32> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

PS C:\WINDOWS\system32> Get-ExecutionPolicy -List

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser    RemoteSigned
 LocalMachine       Undefined

フェーズ2

PS C:\WINDOWS\system32> Connect-AzAccount

Account                         SubscriptionName                      TenantId 
-------                         ----------------                      -------- 
[email protected] Microsoft Azure (MYCOMPANY): #0000000 ffffff...



PS C:\WINDOWS\system32> $VirtualMachine = Get-AzVM -ResourceGroupName "MYFILESERVERRESOURCES" -Name "MyFileServer"


PS C:\WINDOWS\system32> Remove-AzVMDataDisk -VM $VirtualMachine -Name "MyStorageDrive"



ResourceGroupName  : MYFILESERVERRESOURCES
Id                 : /subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resour
ceGroups/MYFILESERVERRESOURCES/providers/Microsoft.Compute/virtualMachines/MY
FileServer
VmId               : eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee
Name               : MyFileServer
Type               : Microsoft.Compute/virtualMachines
Location           : eastus
Tags               : {}
DiagnosticsProfile : {BootDiagnostics}
Extensions         : {AzureDiskEncryption, AzurePerformanceDiagnostics, 
MicrosoftMonitoringAgent}
HardwareProfile    : {VmSize}
NetworkProfile     : {NetworkInterfaces}
OSProfile          : {ComputerName, AdminUsername, WindowsConfiguration, 
Secrets, AllowExtensionOperations}
ProvisioningState  : Succeeded
StorageProfile     : {ImageReference, OsDisk, DataDisks}




PS C:\WINDOWS\system32> Update-AzVM -ResourceGroupName "MYFILESERVERRESOURCES" -VM $VirtualMachine

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

フェーズ3

ここで、Azureポータルに戻ってドライブを標準SSDからプレミアムSSDに変更し、その変更を保存しました。そうするために、私は、

  1. Azureポータルにサインインしました。
  2. ポータルの仮想マシンのリストからMyFileServerを選択しました。
  3. VMステータスは、「実行中」のままであることを示していました。
  4. VMのペインで、メニューから[ディスク]を選択しました。
  5. 変換したいディスクMyStorageDriveを選択しました。
  6. メニューから「構成」を選択しました。
  7. アカウントの種類を標準HDDからプレミアムSSDに変更しました(これは、ディスクを取り外すまで無効になっていたため不可能でした)。
  8. [保存]をクリックして、ディスクペインを閉じました。

ディスク変換は文字通り瞬時に行われました。

フェーズ4

PS C:\WINDOWS\system32> $rgName = "MYFILESERVERRESOURCES"
$vmName = "MyFileServer"
$location = "East US" 
$dataDiskName = "MyStorageDrive"
$disk = Get-AzDisk -ResourceGroupName $rgName -DiskName $dataDiskName 


PS C:\WINDOWS\system32> $vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName 


PS C:\WINDOWS\system32> $vm = Add-AzVMDataDisk -CreateOption Attach -Lun 0 -VM $vm -ManagedDiskId $disk.Id


PS C:\WINDOWS\system32> Update-AzVM -VM $vm -ResourceGroupName $rgName

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



PS C:\WINDOWS\system32> $VM.StorageProfile.OsDisk.Caching
ReadWrite

PS C:\WINDOWS\system32> $vm.StorageProfile.DataDisks


Name            : 
DiskSizeGB      : 
Lun             : 0
Caching         : None
CreateOption    : Attach
SourceImage     : 
VirtualHardDisk : 




PS C:\WINDOWS\system32> Set-AzVMDataDisk -VM $VM -Lun "0" -Caching ReadWrite


ResourceGroupName  : MYFILESERVERRESOURCES
Id                 : /subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/MYFILESERVERRESOURCES/providers
/Microsoft.Compute/virtualMachines/MyFileServer
VmId               : eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee
Name               : MyFileServer
Type               : Microsoft.Compute/virtualMachines
Location           : eastus
Tags               : {}
DiagnosticsProfile : {BootDiagnostics}
Extensions         : {AzureDiskEncryption, AzurePerformanceDiagnostics, MicrosoftMonitoringAgent}
HardwareProfile    : {VmSize}
NetworkProfile     : {NetworkInterfaces}
OSProfile          : {ComputerName, AdminUsername, WindowsConfiguration, Secrets, AllowExtensionOperations}
ProvisioningState  : Succeeded
StorageProfile     : {ImageReference, OsDisk, DataDisks}




PS C:\WINDOWS\system32> Update-AzVM -VM $vm -ResourceGroupName $rgName

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



PS C:\WINDOWS\system32>  

これらは私がこの解決策にたどり着くのを助けたウェブサイトです:

1 https://docs.Microsoft.com/en-us/powershell/module/Microsoft.powershell.core/about/about_execution_policies?view=powershell-6

2 https://docs.Microsoft.com/en-us/powershell/Azure/install-az-ps?view=azps-2.5.

3 https://docs.Microsoft.com/en-us/Azure/virtual-machines/windows/detach-disk

4 https://docs.Microsoft.com/bs-latn-ba/Azure/virtual-machines/windows/convert-disk-storage

5 https://docs.Microsoft.com/en-us/Azure/virtual-machines/windows/attach-disk-ps

6 https://docs.Microsoft.com/en-us/learn/modules/caching-and-performance-Azure-storage-and-disks/6-exercise-manage-cache-settings-with-powershell

6