نقل مثيل دور VM (كلاسيكي) أو Cloud Services إلى شبكة فرعية مختلفة باستخدام PowerShell

يمكنك استخدام PowerShell لنقل الأجهزة الظاهرية (الكلاسيكية) من شبكة فرعية إلى أخرى في نفس الشبكة الظاهرية (VNet). يمكن نقل مثيلات الدور عن طريق تحرير ملف CSCFG، بدلا من استخدام PowerShell.

ملاحظة

توضح هذه المقالة كيفية نقل الأجهزة الظاهرية التي تم نشرها من خلال نموذج النشر الكلاسيكي فقط.

لماذا نقل الأجهزة الظاهرية إلى شبكة فرعية أخرى؟ يكون ترحيل الشبكة الفرعية مفيدا عندما تكون الشبكة الفرعية القديمة صغيرة جدا ولا يمكن توسيعها بسبب الأجهزة الظاهرية قيد التشغيل الموجودة في تلك الشبكة الفرعية. في هذه الحالة ، يمكنك إنشاء شبكة فرعية جديدة أكبر وترحيل الأجهزة الظاهرية إلى الشبكة الفرعية الجديدة ، ثم بعد اكتمال الترحيل ، يمكنك حذف الشبكة الفرعية الفارغة القديمة.

كيفية نقل جهاز ظاهري إلى شبكة فرعية أخرى

لنقل جهاز ظاهري، قم بتشغيل Set-AzureSubnet PowerShell cmdlet، باستخدام المثال أدناه كقالب. في المثال أدناه ، نقوم بنقل TestVM من شبكته الفرعية الحالية ، إلى Subnet-2. تأكد من تحرير المثال ليعكس بيئتك. لاحظ أنه كلما قمت بتشغيل Update-AzureVM cmdlet كجزء من إجراء، سيتم إعادة تشغيل الجهاز الظاهري كجزء من عملية التحديث.

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" في الشبكة الافتراضية VNETName من شبكتها الفرعية الحالية إلى Subnet-2. نظرا لأن مثيل الدور قد تم نشره بالفعل، فما عليك سوى تغيير اسم الشبكة الفرعية = Subnet-2. تأكد من تحرير المثال ليعكس بيئتك.

<NetworkConfiguration>
    <VirtualNetworkSite name="VNETName" />
    <AddressAssignments>
       <InstanceAddress roleName="Role0">
            <Subnets><Subnet name="Subnet-2" /></Subnets>
       </InstanceAddress>
    </AddressAssignments>
</NetworkConfiguration>