Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
PowerShell можно использовать для перемещения виртуальных машин (классической) из одной подсети в другую в той же виртуальной сети. Экземпляры ролей можно переместить, изменив CSCFG-файл, а не с помощью PowerShell.
Примечание.
В этой статье объясняется, как перемещать виртуальные машины, развернутые только с помощью классической модели развертывания.
Зачем перемещать виртуальные машины в другую подсеть? Миграция подсети полезна, если старая подсеть слишком мала и не может быть развернута из-за существующих запущенных виртуальных машин в этой подсети. В этом случае можно создать новую, большую подсеть и перенести виртуальные машины в новую подсеть, а затем после завершения миграции можно удалить старую пустую подсеть.
Перемещение виртуальной машины в другую подсеть
Чтобы переместить виртуальную машину, запустите командлет PowerShell Set-AzureSubnet, используя приведенный ниже пример в качестве шаблона. В приведенном ниже примере мы перемещаем TestVM из текущей подсети в подсеть-2. Обязательно измените пример, чтобы он соответствовал вашей среде. Обратите внимание, что при запуске командлета Update-AzureVM в рамках процедуры он перезагрузит виртуальную машину в рамках процесса обновления.
Get-AzureVM –ServiceName TestVMCloud –Name TestVM `
| Set-AzureSubnet –SubnetNames Subnet-2 `
| Update-AzureVM
Если вы указали статический внутренний частный IP-адрес для виртуальной машины, необходимо очистить этот параметр, прежде чем переместить виртуальную машину в новую подсеть. В этом случае используйте следующее:
Get-AzureVM -ServiceName TestVMCloud -Name TestVM `
| Remove-AzureStaticVNetIP `
| Update-AzureVM
Get-AzureVM -ServiceName TestVMCloud -Name TestVM `
| Set-AzureSubnet -SubnetNames Subnet-2 `
| Update-AzureVM
Переместить экземпляр роли в другую подсеть
Чтобы переместить экземпляр роли, измените CSCFG-файл. В приведенном ниже примере мы перемещаем "Role0" из текущей подсети в Подсеть-2в виртуальной сети VNETName. Так как экземпляр роли уже развернут, вы просто измените имя подсети = подсеть-2. Обязательно измените пример, чтобы отразить вашу среду.
<NetworkConfiguration>
<VirtualNetworkSite name="VNETName" />
<AddressAssignments>
<InstanceAddress roleName="Role0">
<Subnets><Subnet name="Subnet-2" /></Subnets>
</InstanceAddress>
</AddressAssignments>
</NetworkConfiguration>