다음을 통해 공유


Azure 로컬에서 Arc VM 관리

적용 대상: Azure Local, 버전 23H2

이 문서에서는 Azure Local 버전 23H2에서 실행되는 Arc VM(가상 머신)을 관리하는 방법을 설명합니다. 게스트 관리를 사용하도록 설정하고, Arc VM을 시작, 중지, 다시 시작, 일시 중지, 저장 또는 삭제하는 절차를 자세히 설명합니다.

필수 조건

시작하기 전에 다음 필수 조건을 완료하는지 확인합니다.

  1. 배포되고 등록된 Azure 로컬 인스턴스에 액세스할 수 있는지 확인합니다. 배포하는 동안 Arc 리소스 브리지 및 사용자 지정 위치도 만들어집니다.

    Azure의 리소스 그룹으로 이동합니다. 사용자 지정 위치와 Azure 로컬에 대해 만든 Azure Arc 리소스 브리지를 볼 수 있습니다. 이 시나리오의 뒷부분에서 사용할 때 구독, 리소스 그룹 및 사용자 지정 위치를 기록해 둡니다.

  2. Azure 로컬에서 하나 이상의 Arc VM이 실행되고 있는지 확인합니다. 자세한 내용은 Azure Local에서 Arc VM 만들기를 참조하세요.

게스트 관리 사용

VM을 만든 후에는 해당 VM에서 게스트 관리를 사용하도록 설정하려고 합니다.

게스트 관리의 컨텍스트에서 이해해야 하는 두 가지 에이전트(VM 게스트 에이전트 및 Azure Connected Machine 에이전트)가 있습니다. Azure Portal 또는 Azure CLI를 통해 만든 모든 Arc VM은 게스트 에이전트(라고도 함 mocguestagent)를 사용하여 프로비전됩니다.

Arc VM에서 게스트 관리를 사용하도록 설정하면 게스트 에이전트가 Azure Connected Machine 에이전트설치합니다. Azure Connected Machine 에이전트를 사용하면 VM에서 Azure Arc VM 확장을 관리할 수 있습니다.

프로비전 후 VM에서 게스트 관리를 사용하도록 설정하기 위한 몇 가지 주요 고려 사항은 다음과 같습니다.

  • Azure Local이 2311 이상을 실행하고 있는지 확인합니다.
  • VM 프로비전 후 게스트 관리를 사용하도록 설정하는 것은 Windows Server 2012 및 Windows Server 2012 R2에서 지원되지 않습니다.
  • 게스트 관리를 사용하도록 설정하는 단계는 게스트 에이전트가 Arc VM에서 실행되는지 여부에 따라 다릅니다.

게스트 에이전트가 실행 중인지 확인

  1. 게스트 에이전트가 Arc VM에서 실행 중인지 확인하려면 컴퓨터에 연결합니다.

  2. 다음 명령을 실행합니다.

    az stack-hci-vm show --name "<VM name>" --resource-group "<Resource group name>"
    

    다음은 게스트 에이전트가 실행 중임을 나타내는 샘플 출력의 코드 조각입니다. statuses 출력의 아래에서 vmAgent 찾습니다.

    "instanceView": {
      "vmAgent": {
        "statuses": [
          {
            "code": "ProvisioningState/succeeded",
            "displayStatus": "Connected",
            "level": "Info",
            "message": "Successfully established connection with mocguestagent",
            "time": "2024-01-13T00:57:39Z"
          },
          {
            "code": "ProvisioningState/succeeded",
            "displayStatus": "Connected",
            "level": "Info",
            "message": "New mocguestagent version detected 'v0.13.0-3-gd13b4794",
            "time": "2024-01-13T00:57:39Z"
          }
        ],
        "vmConfigAgentVersion": "v0.13.0-3-gd13b4794"
      }
    }
    

    게스트 에이전트가 실행 중입니다.

    • as 및 as를 displayStatus ProvisioningState/succeeded Connected나타내는 code 경우 .statuses
    • 이전 버전을 statuses 실행하는 경우 다음과 같이 OK displayStatus 표시됩니다code.Active

상태가 위의 출력과 일치하지 않는 경우 게스트 에이전트가 실행되고 있지 않을 때 게스트 관리 사용의 단계를 따릅니다.

게스트 에이전트가 실행 중인 VM에서 게스트 관리 사용

게스트 에이전트가 실행 중인 Arc VM에서 게스트 관리를 사용하도록 설정하려면 다음 명령을 실행합니다.

az stack-hci-vm update --name "mylocal-vm" --enable-agent true --resource-group "mylocal-rg"

게스트 관리는 다음으로 설정하여 사용하도록 설정됩니다 enable-agent parameter true. 게스트 관리를 사용하도록 설정하는 데 몇 분 정도 걸립니다.

단계에 따라 Azure Portal에서 게스트 관리가 사용하도록 설정되어 있는지 확인합니다.

게스트 에이전트가 실행되지 않는 경우 VM에서 게스트 관리 사용

게스트 에이전트가 실행되고 있지 않은 경우와 상태가 비어 있는 경우의 두 가지 시나리오가 있습니다. 이러한 각 시나리오와 해당 단계는 다음 섹션에서 설명합니다.

연결로 표시되는 상태

상태가 연결로 표시됩니다. 다음은 필수 상태를 나타내는 샘플 출력 코드 조각입니다.

"instanceView": {
      "vmAgent": {
        "statuses": [
          {
            "code": "ProvisioningState/InProgress",
            "displayStatus": "Connecting",
            "level": "Info",
            "message": "Waiting for connection with mocguestagent",
            "time": "2024-01-19T01:41:15Z"
          }
        ]
      }
    },

게스트 에이전트는 다음 경우에 실행되지 않습니다.

  • 로 표시 code ProvisioningState/InProgress 할 때 statuses 게스트 에이전트가 displayStatus Connecting실행되고 있지 않습니다.
  • 이전 버전을 statuses 실행하는 경우 다음과 같이 message Successfully started HyperV listenerOKActivedisplayStatus 표시됩니다.code

다음 단계를 수행합니다.

  1. OS 특정 단계를 사용하여 VM에 연결합니다. 관리자 권한으로 PowerShell을 실행합니다.

  2. 다음 명령 중 하나를 실행하여 OS 유형에 따라 VM에서 게스트 에이전트를 사용하도록 설정합니다.

    Linux:

    sudo -- sh -c 'mkdir /mociso && mount -L mocguestagentprov /mociso && bash /mociso/install.sh && umount /mociso && rm -df /mociso && eject LABEL=mocguestagentprov'
    

    Windows:

    $d=Get-Volume -FileSystemLabel mocguestagentprov;$p=Join-Path ($d.DriveLetter+':\') 'install.ps1';powershell $p
    

    게스트 에이전트가 성공적으로 설치되었음을 보여 주는 Linux VM에 대한 샘플 출력은 다음과 같습니다.

    게스트 에이전트가 VM에서 성공적으로 사용하도록 설정되어 있음을 보여 주는 스크린샷

  3. 컴퓨터 중 하나에 연결합니다. 다음 명령을 실행하여 게스트 관리를 사용하도록 설정합니다.

    az stack-hci-vm update --name "mylocal-vm" --enable-agent true --resource-group "mylocal-rg"
    

단계에 따라 Azure Portal에서 게스트 관리가 사용하도록 설정되어 있는지 확인합니다.

null로 표시되는 상태

상태가 null로 표시됩니다. 게스트 에이전트에 필요한 iso 가 누락되었음을 나타냅니다. 다음은 null 상태를 나타내는 샘플 출력 코드 조각입니다.

"instanceView": {
      "vmAgent": {
        "statuses": []
      }
    },

다음 단계를 수행합니다.

  1. 컴퓨터에 연결합니다.

  2. 다음 명령을 실행합니다.

    az stack-hci-vm update --name "<VM Name>" --resource-group "<Resource group name>" --enable-vm-config-agent true
    

    매개 변수는 enable-vm-config-agent 게스트 에이전트에 필요한 iso 를 탑재합니다.

  3. 몇 분 정도 기다렸다가 명령을 다시 실행합니다 az stack-hci-vm show . 상태가 다음과 같이 connecting표시되면 연결로 표시되는 상태의 단계를 따릅니다.

Azure Portal에서 게스트 관리가 사용하도록 설정되어 있는지 확인

  1. Azure Portal로 이동합니다.

  2. Azure 로컬 > 가상 머신으로 이동한 다음 게스트 관리를 사용하도록 설정한 VM을 선택합니다.

  3. 개요 페이지의 오른쪽 창에 있는 속성 탭에서 구성으로 이동합니다. 게스트 관리는 사용(연결됨)으로 표시되어야 합니다.

    Windows VM 이미지를 사용하여 VM을 만드는 방법을 보여 주는 스크린샷

VM 속성 보기

Azure Local의 Azure Portal에서 다음 단계에 따라 VM 속성을 봅니다.

  1. Azure 로컬 리소스로 이동한 다음 가상 머신으로 이동합니다.

  2. 오른쪽 창의 가상 머신 목록에서 속성을 보려는 VM의 이름을 선택합니다.

    VM 목록에서 선택한 VM의 스크린샷

  3. 개요 페이지에서 오른쪽 창으로 이동한 다음 속성 탭으로 이동합니다. VM의 속성을 볼 수 있습니다.

    선택한 Arc VM의 속성 스크린샷

VM 시작

Azure Local의 Azure Portal에서 다음 단계에 따라 VM을 시작합니다.

  1. Azure 로컬 리소스로 이동한 다음 가상 머신으로 이동합니다.

  2. 오른쪽 창의 가상 머신 목록에서 실행되지 않는 VM을 선택하고 시작하려고 합니다.

  3. VM에 대한 개요 페이지의 오른쪽 창의 위쪽 명령 모음에서 시작을 선택한 다음, 예를 선택합니다.

  4. VM이 시작되었는지 확인합니다.

    select + start VM의 스크린샷.

VM 중지

Azure Local의 Azure Portal에서 다음 단계에 따라 VM을 중지합니다.

  1. Azure 로컬 리소스로 이동한 다음 가상 머신으로 이동합니다.

  2. 오른쪽 창의 가상 머신 목록에서 실행 중인 VM을 선택하고 중지하려고 합니다.

  3. VM에 대한 개요 페이지의 오른쪽 창의 위쪽 명령 모음에서 중지를 선택한 다음, 예를 선택합니다.

  4. VM이 중지되었는지 확인합니다.

    select + stop VM의 스크린샷.

VM 다시 시작

Azure Local의 Azure Portal에서 다음 단계에 따라 VM을 다시 시작합니다.

  1. Azure 로컬 리소스로 이동한 다음 가상 머신으로 이동합니다.

  2. 오른쪽 창의 가상 머신 목록에서 중지된 VM을 선택하고 다시 시작하려고 합니다.

  3. VM에 대한 개요 페이지의 오른쪽 창의 위쪽 명령 모음에서 다시 시작을 선택한 다음, 예를 선택합니다.

  4. VM이 다시 시작되었는지 확인합니다.

    VM 선택 + 다시 시작 스크린샷

VM 일시 중지

VM을 일시 중지하면 VM을 사용하지 않을 때 컴퓨팅 리소스를 저장하는 데 유용합니다. VM을 일시 중지하면 CPU 작업이 중지됩니다. 실행 중인 VM만 일시 중지할 수 있습니다. 일시 중지되면 나중에 VM을 다시 시작할 수 있습니다.

  1. 시스템의 컴퓨터에 연결합니다.

  2. VM을 일시 중지하려면 다음 PowerShell cmdlet을 실행합니다.

    #Set input parameters
    
    $rg = "<Resource group name>"
    $vmName = "<VM name>"
    
    #Pause the VM
    
    az stack-hci-vm pause --name $vmName --resource-group $rg
    

    이 cmdlet에 사용되는 매개 변수는 다음과 같습니다.

    매개 변수 설명
    name 가상 머신의 이름입니다.
    resource-group 리소스 그룹의 이름입니다. az configure --defaults group=<name>을 사용하여 기본 그룹을 구성할 수 있습니다.
    subscription 구독의 이름 또는 ID입니다. az account set -s NAME_OR_ID를 사용하여 기본 위치를 구성할 수 있습니다.
  3. VM 상태를 확인하여 VM이 일시 중지되었는지 확인합니다.

    #Check the VM status
    
    az stack-hci-vm show --name $vmName --resource-group $rg
    
  4. VM을 시작하여 일시 중지된 상태에서 VM을 다시 시작합니다. VM이 실행 중인지 확인합니다.

    #Start the VM
    
    az stack-hci-vm start --name $vmName --resource-group $rg
    

    예제 출력

    예제 출력을 보려면 이 섹션을 확장합니다.
    
    #Set parameters
    
    [v-host1]: PS C:\Users\HCIDeploymentUser> $rg = "<Resource group name>"    
    [v-host1]: PS C:\Users\HCIDeploymentUser> $vmName = "<VM name>"
    
    #Pause the VM
    
    [v-host1]: PS C:\Users\HCIDeploymentUser> az stack-hci-vm pause --name $vmName --resource-group $rg
    
    #Show the current state of the VM
    [v-host1]: PS C:\Users\HCIDeploymentUser> az stack-hci-vm show -g $rg --name $vmName
    {
      "attestationStatus": null,
      "virtualmachineinstance": {
        "extendedLocation": {
          "name": "/subscriptions/<Subscription ID>/resourcegroups/<Resource group name>/providers/Microsoft.ExtendedLocation/customLocations/s-cluster-customlocation",
          "type": "CustomLocation"
        },
        "id": "/subscriptions/<Subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.HybridCompute/machines/testvm001/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
        "identity": null,
        "name": "default",
        "properties": {
          "guestAgentInstallStatus": null,
          "hardwareProfile": {
            "dynamicMemoryConfig": {
              "maximumMemoryMb": null,
              "minimumMemoryMb": null,
              "targetMemoryBuffer": null
            },
            "memoryMb": 2000,
            "processors": 2,
            "vmSize": "Custom"
          },
          "httpProxyConfig": null,
          "instanceView": {
            "vmAgent": {
              "statuses": [
                {
                  "code": "ProvisioningState/succeeded",
                  "displayStatus": "Connected",
                  "level": "Info",
                  "message": "Connection with mocguestagent was successfully reestablished",
                  "time": "2024-06-24T16:30:05+00:00"
                },
              ],
              "vmConfigAgentVersion": "v0.18.0-4-gd54376b0"
            }
          },
          "networkProfile": {
            "networkInterfaces": []
          },
          "osProfile": {
            "adminPassword": null,
            "adminUsername": "azureuser",
            "computerName": "testvm001",
            "linuxConfiguration": {
              "disablePasswordAuthentication": false,
              "provisionVmAgent": false,
              "provisionVmConfigAgent": true,
              "ssh": {
                "publicKeys": null
              }
            },
            "windowsConfiguration": {
              "enableAutomaticUpdates": null,
              "provisionVmAgent": false,
              "provisionVmConfigAgent": true,
              "ssh": {
                "publicKeys": null
              },
              "timeZone": null
            }
          },
          "provisioningState": "Succeeded",
          "resourceUid": null,
          "securityProfile": {
            "enableTpm": false,
            "securityType": null,
            "uefiSettings": {
              "secureBootEnabled": true
            }
          },
          "status": {
            "errorCode": "",
            "errorMessage": "",
            "powerState": "Paused",
            "provisioningStatus": null
          },
          "storageProfile": {
            "dataDisks": [],
            "imageReference": {
              "id": "/subscriptions/<Subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.AzureStackHCI/galleryImages/WinImage-26tdJUIS",
              "resourceGroup": "<Resource group name>"
            },
            "osDisk": {
              "id": null,
              "osType": "Windows"
            },
            "vmConfigStoragePathId": "/subscriptions/<Subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.AzureStackHCI/storageContainers/UserStorage2-guid"
          },
          "vmId": "<guid>"
        },
        "resourceGroup": "<Resource group name>",
        "systemData": {
          "createdAt": "2024-06-24T01:29:06.594266+00:00",
          "createdBy": "7d6ffe2f-dac5-4e74-9bf2-4830cf7f4668",
          "createdByType": "Application",
          "lastModifiedAt": "2024-06-24T16:41:27.166668+00:00",
          "lastModifiedBy": "319f651f-7ddb-4fc6-9857-7aef9250bd05",
          "lastModifiedByType": "Application"
        },
        "type": "microsoft.azurestackhci/virtualmachineinstances"
      }
    }
    
    #Start the VM after it was paused. 
    
    [v-host1]: PS C:\Users\HCIDeploymentUser> az stack-hci-vm start --name $vmName --resource-group $rg
    Inside _start_initial/subscriptions/<Subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.HybridCompute/machines/testvm0012024-02-01-preview/https://management.azure.com/subscriptions/<Subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.HybridCompute/machines/testvm001/providers/Microsoft.AzureStackHCI/virtualMachineInstances/d
    efault/start?api-version=2024-02-01-preview
    
    #Show the current state of the VM. The VM should be running.
    
    [v-host1]: PS C:\Users\HCIDeploymentUser> az stack-hci-vm show -g $rg --name $vmName
    {
      "attestationStatus": null,
      "virtualmachineinstance": {
        "extendedLocation": {
          "name": "/subscriptions/<Subscription ID>/resourcegroups/<Resource group name>/providers/Microsoft.ExtendedLocation/customLocations/s-cluster-customlocation",
          "type": "CustomLocation"
        },
        "id": "/subscriptions/<Subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.HybridCompute/machines/testvm001/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
        "identity": null,
        "name": "default",
        "properties": {
          "guestAgentInstallStatus": null,
          "hardwareProfile": {
            "dynamicMemoryConfig": {
              "maximumMemoryMb": null,
              "minimumMemoryMb": null,
              "targetMemoryBuffer": null
            },
            "memoryMb": 2000,
            "processors": 2,
            "vmSize": "Custom"
          },
          "httpProxyConfig": null,
          "instanceView": {
            "vmAgent": {
              "statuses": [
                {
                  "code": "ProvisioningState/succeeded",
                  "displayStatus": "Connected",
                  "level": "Info",
                  "message": "Connection with mocguestagent was succesfully reestablished",
                  "time": "2024-06-24T17:25:19+00:00"
                }
              ],
              "vmConfigAgentVersion": "v0.18.0-4-gd54376b0"
            }
          },
          "networkProfile": {
            "networkInterfaces": []
          },
          "osProfile": {
            "adminPassword": null,
            "adminUsername": "azureuser",
            "computerName": "testvm001",
            "linuxConfiguration": {
              "disablePasswordAuthentication": false,
              "provisionVmAgent": false,
              "provisionVmConfigAgent": true,
              "ssh": {
                "publicKeys": null
              }
            },
            "windowsConfiguration": {
              "enableAutomaticUpdates": null,
              "provisionVmAgent": false,
              "provisionVmConfigAgent": true,
              "ssh": {
                "publicKeys": null
              },
              "timeZone": null
            }
          },
          "provisioningState": "Succeeded",
          "resourceUid": null,
          "securityProfile": {
            "enableTpm": false,
            "securityType": null,
            "uefiSettings": {
              "secureBootEnabled": true
            }
          },
          "status": {
            "errorCode": "",
            "errorMessage": "",
            "powerState": "Running",
            "provisioningStatus": null
          },
          "storageProfile": {
            "dataDisks": [],
            "imageReference": {
              "id": "/subscriptions/<Subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.AzureStackHCI/galleryImages/WinImage-26tdJUIS",
              "resourceGroup": "<Resource group name>"
            },
            "osDisk": {
              "id": null,
              "osType": "Windows"
            },
            "vmConfigStoragePathId": "/subscriptions/<Subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.AzureStackHCI/storageContainers/UserStorage2-guid"
          },
          "vmId": "<guid>"
        },
        "resourceGroup": "<Resource group name>",
        "systemData": {
          "createdAt": "2024-06-24T01:29:06.594266+00:00",
          "createdBy": "<guid>",
          "createdByType": "Application",
          "lastModifiedAt": "2024-06-24T17:28:13.206935+00:00",
          "lastModifiedBy": "<guid>",
          "lastModifiedByType": "Application"
        },
        "type": "microsoft.azurestackhci/virtualmachineinstances"
      }
    }
    
    

VM 저장

VM을 저장하면 VM의 현재 상태가 디스크에 저장되고 VM이 중지됩니다. VM을 저장하여 메모리 및 CPU 리소스를 확보합니다. 실행 중인 VM만 저장할 수 있습니다.

  1. 시스템의 컴퓨터에 연결합니다.

  2. VM을 저장하려면 다음 PowerShell cmdlet을 실행합니다.

    #Set input parameters
    
    $rg = "<Resource group name>"
    $vmName = "<VM name>"
    
    #Save the VM
    
    az stack-hci-vm save --name $vmName --resource-group $rg
    

    이 cmdlet에 사용되는 매개 변수는 다음과 같습니다.

    매개 변수 설명
    name 가상 머신의 이름입니다.
    resource-group 리소스 그룹의 이름입니다. az configure --defaults group=<name>을 사용하여 기본 그룹을 구성할 수 있습니다.
    subscription 구독의 이름 또는 ID입니다. az account set -s <Subscription name or Subscription ID>를 사용하여 기본 위치를 구성할 수 있습니다.
  3. VM 상태를 확인하여 VM이 저장되었는지 확인합니다.

    #Check the VM status
    
    az stack-hci-vm show --name $vmName --resource-group $rg
    
  4. VM을 시작하여 저장된 상태에서 VM을 다시 시작합니다. VM이 실행 중인지 확인합니다.

    #Start the VM
    
    az stack-hci-vm start --name $vmName --resource-group $rg
    

    예제 출력

    예제 출력을 보려면 이 섹션을 확장합니다.
    #Set parameters
    
    [v-host1]: PS C:\Users\HCIDeploymentUser> $rg = "<Resource group name>"    
    [v-host1]: PS C:\Users\HCIDeploymentUser> $vmName = "<VM name>"
    
    #Save the VM
    
    [v-host1]: PS C:\Users\HCIDeploymentUser> az stack-hci-vm save --name $vmName --resource-group $rg
    
    #Show the current state of the VM
    
    [v-host1]: PS C:\Users\HCIDeploymentUser> az stack-hci-vm show -g $rg --name $vmName
    {
      "attestationStatus": null,
      "virtualmachineinstance": {
        "extendedLocation": {
          "name": "/subscriptions/<Subscription ID>/resourcegroups/<Resource group name>/providers/Microsoft.ExtendedLocation/customLocations/s-cluster-customlocation",
          "type": "CustomLocation"
        },
        "id": "/subscriptions/<Subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.HybridCompute/machines/testvm001/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
        "identity": null,
        "name": "default",
        "properties": {
          "guestAgentInstallStatus": null,
          "hardwareProfile": {
            "dynamicMemoryConfig": {
              "maximumMemoryMb": null,
              "minimumMemoryMb": null,
              "targetMemoryBuffer": null
            },
            "memoryMb": 2000,
            "processors": 2,
            "vmSize": "Custom"
          },
          "httpProxyConfig": null,
          "instanceView": {
            "vmAgent": {
              "statuses": [
                {
                  "code": "ProvisioningState/succeeded",
                  "displayStatus": "Connected",
                  "level": "Info",
                  "message": "Connection with mocguestagent was succesfully reestablished",
                  "time": "2024-06-24T17:25:19+00:00"
                },
              ],
              "vmConfigAgentVersion": "v0.18.0-4-gd54376b0"
            }
          },
          "networkProfile": {
            "networkInterfaces": []
          },
          "osProfile": {
            "adminPassword": null,
            "adminUsername": "azureuser",
            "computerName": "testvm001",
            "linuxConfiguration": {
              "disablePasswordAuthentication": false,
              "provisionVmAgent": false,
              "provisionVmConfigAgent": true,
              "ssh": {
                "publicKeys": null
              }
            },
            "windowsConfiguration": {
              "enableAutomaticUpdates": null,
              "provisionVmAgent": false,
              "provisionVmConfigAgent": true,
              "ssh": {
                "publicKeys": null
              },
              "timeZone": null
            }
          },
          "provisioningState": "Succeeded",
          "resourceUid": null,
          "securityProfile": {
            "enableTpm": false,
            "securityType": null,
            "uefiSettings": {
              "secureBootEnabled": true
            }
          },
          "status": {
            "errorCode": "",
            "errorMessage": "",
            "powerState": "Saved",
            "provisioningStatus": null
          },
          "storageProfile": {
            "dataDisks": [],
            "imageReference": {
              "id": "/subscriptions/<Subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.AzureStackHCI/galleryImages/WinImage-26tdJUIS",
              "resourceGroup": "<Resource group name>"
            },
            "osDisk": {
              "id": null,
              "osType": "Windows"
            },
            "vmConfigStoragePathId": "/subscriptions/<Subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.AzureStackHCI/storageContainers/UserStorage2-345d968fa1e74e99a9509ab7f3d259fd"
          },
          "vmId": "<guid>"
        },
        "resourceGroup": "<Resource group name>",
        "systemData": {
          "createdAt": "2024-06-24T01:29:06.594266+00:00",
          "createdBy": "<guid>",
          "createdByType": "Application",
          "lastModifiedAt": "2024-06-24T18:29:02.794305+00:00",
          "lastModifiedBy": "<guid>",
          "lastModifiedByType": "Application"
        },
        "type": "microsoft.azurestackhci/virtualmachineinstances"
      }
    }
    
    #Start the VM after it was saved
    
    [v-host1]: PS C:\Users\HCIDeploymentUser> az stack-hci-vm start --name $vmName --resource-group $rg
    Inside _start_initial/subscriptions/<Subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.HybridCompute/machines/testvm0012024-02-01-previewhttps://management.azure.com/subscriptions/<Subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.HybridCompute/machines/testvm001/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/start?api-version=2024-02-01-preview
    
    #Show the current state of the VM. The VM should be running.
    
    [v-host1]: PS C:\Users\HCIDeploymentUser> az stack-hci-vm show -g $rg --name $vmName
    {
      "attestationStatus": null,
      "virtualmachineinstance": {
        "extendedLocation": {
          "name": "/subscriptions/<Subscription ID>/resourcegroups/<Resource group name>/providers/Microsoft.ExtendedLocation/customLocations/s-cluster-customlocation",
          "type": "CustomLocation"
        },
        "id": "/subscriptions/<Subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.HybridCompute/machines/testvm001/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
        "identity": null,
        "name": "default",
        "properties": {
          "guestAgentInstallStatus": null,
          "hardwareProfile": {
            "dynamicMemoryConfig": {
              "maximumMemoryMb": null,
              "minimumMemoryMb": null,
              "targetMemoryBuffer": null
            },
            "memoryMb": 2000,
            "processors": 2,
            "vmSize": "Custom"
          },
          "httpProxyConfig": null,
          "instanceView": {
            "vmAgent": {
              "statuses": [
                {
                  "code": "ProvisioningState/succeeded",
                  "displayStatus": "Connected",
                  "level": "Info",
                  "message": "Connection with mocguestagent was succesfully reestablished",
                  "time": "2024-06-24T18:32:41+00:00"
                }
              ],
              "vmConfigAgentVersion": "v0.18.0-4-gd54376b0"
            }
          },
          "networkProfile": {
            "networkInterfaces": []
          },
          "osProfile": {
            "adminPassword": null,
            "adminUsername": "azureuser",
            "computerName": "testvm001",
            "linuxConfiguration": {
              "disablePasswordAuthentication": false,
              "provisionVmAgent": false,
              "provisionVmConfigAgent": true,
              "ssh": {
                "publicKeys": null
              }
            },
            "windowsConfiguration": {
              "enableAutomaticUpdates": null,
              "provisionVmAgent": false,
              "provisionVmConfigAgent": true,
              "ssh": {
                "publicKeys": null
              },
              "timeZone": null
            }
          },
          "provisioningState": "Succeeded",
          "resourceUid": null,
          "securityProfile": {
            "enableTpm": false,
            "securityType": null,
            "uefiSettings": {
              "secureBootEnabled": true
            }
          },
          "status": {
            "errorCode": "",
            "errorMessage": "",
            "powerState": "Running",
            "provisioningStatus": null
          },
          "storageProfile": {
            "dataDisks": [],
            "imageReference": {
              "id": "/subscriptions/<Subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.AzureStackHCI/galleryImages/WinImage-26tdJUIS",
              "resourceGroup": "<Resource group name>"
            },
            "osDisk": {
              "id": null,
              "osType": "Windows"
            },
            "vmConfigStoragePathId": "/subscriptions/<Subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.AzureStackHCI/storageContainers/UserStorage2-guid"
          },
          "vmId": "<guid>"
        },
        "resourceGroup": "<Resource group name>",
        "systemData": {
          "createdAt": "2024-06-24T01:29:06.594266+00:00",
          "createdBy": "<guid>",
          "createdByType": "Application",
          "lastModifiedAt": "2024-06-24T18:35:18.206280+00:00",
          "lastModifiedBy": "<guid>",
          "lastModifiedByType": "Application"
        },
        "type": "microsoft.azurestackhci/virtualmachineinstances"
      }
    }
    

로컬 계정 암호 변경

다음 단계에 따라 Azure 로컬에 배포된 Arc VM의 로컬 계정 암호를 변경합니다. 단계는 Windows 및 Linux VM에 대해 다릅니다.

  1. Arc VM에 로그인합니다.

  2. 다음 PowerShell 명령을 실행합니다.

    # Define the username
    $username = "AccountName"
    
    # Prompt the user to enter the new password securely
    $newPassword = Read-Host -AsSecureString "Enter the new password for $username"
    
    # Prompt the user to re-enter the new password securely for verification
    $verifyPassword = Read-Host -AsSecureString "Re-enter the new password for verification"
    
    # Convert the secure strings to plain text for comparison
    $plainPassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($newPassword))
    $plainVerifyPassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($verifyPassword))
    
    # Check if the passwords match and change the password if they match. Fail if the passwords don’t match.
    if ($plainPassword -eq $plainVerifyPassword) {
        $account = [ADSI]"WinNT://./$username,user"
        $account.SetPassword($plainPassword)
        $account.SetInfo()
    
        Write-Host "Password for user $username has been reset successfully." -ForegroundColor Green
    } else {
        Write-Host "The passwords do not match. Please try again." -ForegroundColor Red
    }    
    

VM 삭제

Azure Local의 Azure Portal에서 다음 단계에 따라 VM을 제거합니다.

  1. Azure 로컬 리소스로 이동한 다음 가상 머신으로 이동합니다.

  2. 오른쪽 창의 가상 머신 목록에서 시스템에서 제거할 VM을 선택합니다.

  3. VM에 대한 개요 페이지의 오른쪽 창의 위쪽 명령 모음에서 삭제를 선택한 다음, 예를 선택합니다.

    이제 삭제를 확인하라는 메시지가 표시됩니다. 를 선택합니다. VM이 제거되었는지 확인합니다.

    VM이 삭제되면 VM과 연결된 모든 리소스가 삭제되지 않습니다. 예를 들어 데이터 디스크 또는 VM과 연결된 네트워크 인터페이스는 삭제되지 않습니다. 이러한 리소스를 별도로 찾아서 삭제해야 합니다.

    VM을 삭제할 때의 경고 스크린샷

  4. 이제 이 VM이 배포된 리소스 그룹으로 갈 수 있습니다. 리소스 그룹의 리소스 목록에서 VM이 제거된 것을 볼 수 있습니다. 삭제되지 않은 이 VM과 연결된 리소스를 보려면 숨겨진 형식을 표시하는 옵션을 선택해야 할 수 있습니다.

    가상 머신과 연결된 숨겨진 형식 리소스의 스크린샷

네트워크 인터페이스 및 데이터 디스크와 같은 연결된 리소스를 찾아 삭제합니다.

코어 및 메모리 변경

Azure 로컬의 Azure Portal에서 다음 단계에 따라 코어와 메모리를 변경합니다.

  1. Azure 로컬 리소스로 이동한 다음 가상 머신으로 이동합니다.

  2. 오른쪽 창의 VM 목록에서 코어와 메모리를 수정하려는 VM을 선택하고 이동합니다.

  3. 설정에서 크기를 선택합니다. VM의 코어 및 메모리 크기를 변경하려면 가상 프로세서 수 또는 메모리(MB) 를 편집합니다. 메모리 크기만 변경할 수 있습니다. VM을 만든 후에는 메모리 유형을 변경할 수 없습니다.

    VM의 크기 페이지 스크린샷

다음 단계