다음을 통해 공유


Azure 로컬에서 Arc VM 관리

적용 대상: Azure Local 2311.2 이상

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

필수 조건

  • 배포 및 등록된 Azure 로컬 인스턴스에 대한 액세스 Azure 로컬 인스턴스의 배포에는 Azure Arc 리소스 브리지 만들기 및 사용자 지정 위치가 포함됩니다.

    Azure의 리소스 그룹으로 이동합니다. 표시된 정보에는 사용자 지정 위치 및 Azure Local용으로 만든 Azure Arc 리소스 브리지가 포함됩니다. 구독, 리소스 그룹 및 사용자 지정 위치를 기록해 둡니다. 이 시나리오에서 나중에 사용합니다.

  • Azure 로컬 인스턴스에서 실행되는 하나 이상의 Azure Arc VM. 자세한 내용은 Azure 로컬 에서 Azure Arc 가상 머신 만들기를 참조하세요.

게스트 관리 사용

게스트 관리 컨텍스트에서 VM 게스트 에이전트와 Azure Connected Machine 에이전트라는 두 에이전트를 이해하는 것이 중요합니다. Azure Portal 또는 Azure CLI를 통해 만든 모든 Azure Arc VM은 게스트 에이전트(mocguestagent라고도 함)를 사용하여 프로비전됩니다.

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

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

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

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

게스트 에이전트가 Azure Arc VM에서 실행되고 있는지 확인하려면 다음을 수행합니다.

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

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

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

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

    "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"
      }
    }
    

    게스트 에이전트는 statusescodeProvisioningState/succeeded로 나타내고 displayStatusConnected로 나타날 때 실행됩니다.

    이전 버전을 실행하는 경우, statusescodeOK로 나타내고, displayStatusActive.로 나타냅니다.

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

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

게스트 에이전트가 실행되는 Azure Arc VM에서 게스트 관리를 사용하도록 설정하려면 다음을 수행합니다.

  1. enable-agent 매개 변수를 true설정하는 다음 명령을 실행합니다.

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

    게스트 관리를 사용하도록 설정하는 데 몇 분 정도 걸립니다.

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

게스트 에이전트가 실행되고 있지 않을 때 VM에서 게스트 관리를 사용하도록 설정

게스트 에이전트는 상태가 Connecting 때와 상태가 null인 경우의 두 가지 시나리오에서 실행되지 않습니다. 다음 섹션에서는 이러한 시나리오와 해당 단계에 대해 설명합니다.

연결로 표시되는 상태

이 샘플 출력 코드 조각은 Connecting상태를 보여 줍니다.

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

statuses이/가 code을/를 ProvisioningState/InProgress로 나타내고 displayStatus이/가 Connecting로 나타내는 경우, 게스트 에이전트가 실행되지 않습니다.

이전 버전을 실행하는 경우, statusescodeOK로, displayStatusActive로, messageSuccessfully started HyperV listener로 나타냅니다.

다음 단계를 수행합니다.

  1. OS별 단계를 사용하여 VM에 연결합니다. 관리자 권한으로 Azure 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"
    
  4. 게스트 관리가 사용하도록 설정되어 있는지 확인합니다. 단계에서 Azure 포털에서 게스트 관리가 사용하도록 설정되어 있는지 확인합니다.

null로 표시되는 상태

다음 샘플 출력 코드 조각은 null 상태를 보여 줍니다. 이 상태는 게스트 에이전트에 필요한 iso 누락되었음을 나타냅니다.

"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. 개요 페이지의 속성 탭에서 구성이동합니다. 게스트 관리 에서 사용(연결됨)이 표시되어야 합니다.

    게스트 관리가 사용하도록 설정되어 있는지 확인하기 위한 영역을 보여 주는 Azure Portal의 스크린샷

VM 속성 보기

Azure 로컬 인스턴스에 대한 VM 속성을 보려면 Azure Portal에서 다음 단계를 수행합니다.

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

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

    가상 머신 목록에서 선택한 가상 머신의 스크린샷

  3. 개요 페이지에서 속성 탭을 선택하여 VM의 속성을 봅니다.

    선택한 Azure Arc 가상 머신의 속성 스크린샷

VM 시작

VM을 시작하려면 Azure Portal에서 Azure 로컬 인스턴스에 대해 다음 단계를 수행합니다.

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

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

  3. VM에 대한 개요 페이지의 명령 모음에서 시작선택합니다.

    개요 페이지에서 가상 머신을 시작하는 단추의 스크린샷

  4. 를 선택합니다.

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

VM 중지

VM을 중지하려면 Azure 로컬 인스턴스에 대한 Azure Portal에서 다음 단계를 수행합니다.

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

  2. 가상 머신 목록에서 실행 중이고 중지하려는 VM을 선택합니다.

  3. VM에 대한 개요 페이지의 명령 모음에서 중지선택합니다.

    개요 페이지에서 가상 머신을 중지하는 단추의 스크린샷

  4. 를 선택합니다.

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

VM 다시 시작

VM을 다시 시작하려면 Azure Portal에서 Azure 로컬 인스턴스에 대해 다음 단계를 수행합니다.

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

  2. 가상 머신 목록에서 중지되고 다시 시작하려는 VM을 선택합니다.

  3. VM의 개요 페이지에서 명령 표시줄의 다시 시작을 선택합니다.

    개요 페이지에서 가상 머신을 다시 시작하는 단추의 스크린샷

  4. 를 선택합니다.

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

VM 일시 중지

VM을 일시 중지하면 VM을 사용하지 않을 때 컴퓨팅 리소스를 저장하는 데 유용합니다. VM을 일시 중지하면 CPU 작업이 중지됩니다.

실행 중인 VM만 일시 중지할 수 있습니다. VM을 일시 중지한 후 나중에 다시 시작할 수 있습니다.

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

  2. 다음 Azure 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의 작동을 재개합니다.

    #Start the VM
    
    az stack-hci-vm start --name $vmName --resource-group $rg
    
  5. VM이 실행 중인지 확인합니다.

예제 출력

예제 출력을 보려면 이 섹션을 확장합니다.

#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/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 successfully 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을 저장하여 메모리 및 CPU 리소스를 확보합니다. 실행 중인 VM만 저장할 수 있습니다.

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

  2. 다음 Azure 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을 다시 시작합니다.

    #Start the VM
    
    az stack-hci-vm start --name $vmName --resource-group $rg
    
  5. VM이 실행 중인지 확인합니다.

예제 출력

예제 출력을 보려면 이 섹션을 확장합니다.
#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 successfully 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 successfully 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 로컬 인스턴스에 배포된 Azure Arc VM의 로컬 계정 암호를 변경합니다. 단계는 Windows 및 Linux VM에 대해 다릅니다.

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

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

    # Define the username
    $username = "AccountName"
    
    # Prompt the user to enter the new password
    $newPassword = Read-Host -AsSecureString "Enter the new password for $username"
    
    # Prompt the user to re-enter the new password 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 삭제

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

VM을 삭제하려면 Azure 로컬 인스턴스에 대한 Azure Portal에서 다음 단계를 수행합니다.

  1. Azure의 로컬 리소스로 가서 가상 머신로 이동합니다.

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

  3. VM에 대한 개요 페이지의 명령 모음에서 삭제선택합니다.

  4. 삭제를 확인하라는 메시지가 표시됩니다. 를 선택합니다.

    가상 머신 삭제에 대한 경고의 스크린샷

  5. 이 VM이 배포된 리소스 그룹으로 이동합니다. 리소스 그룹의 리소스 목록에서 VM이 제거되었는지 확인합니다.

  6. 네트워크 인터페이스 및 데이터 디스크와 같은 연결된 리소스를 찾아 삭제합니다. 숨겨진 형식 표시를 선택하여 삭제되지 않은 이 VM과 연결된 리소스를 확인해야 할 수 있습니다.

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

Azure Arc VM의 실시간 마이그레이션 수행

Azure 로컬 노드에서 Azure Arc VM의 실시간 마이그레이션은 장애 조치(failover) 클러스터 관리자 또는 Windows Admin Center같은 온-프레미스 도구를 통해 지원됩니다. VM 스토리지의 실시간 마이그레이션은 지원되지 않습니다.

코어 및 메모리 변경

코어 및 메모리를 변경하려면 Azure 로컬 인스턴스에 대한 Azure Portal에서 다음 단계를 수행합니다.

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

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

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

    VM의 코어 및 메모리 크기를 변경하기 위한 창의 스크린샷