ಪವರ್ಶೆಲ್ ಅನ್ನು ಬಳಸುವುದರಿಂದ, ಇಂಜಿನಿಯರ್ಗಳು ಮತ್ತು ಐಟಿ ನಿರ್ವಾಹಕರು ಆನ್-ಆವರಣದೊಂದಿಗೆ ಮಾತ್ರವಲ್ಲದೆ ಕ್ಲೌಡ್ ಮೂಲಸೌಕರ್ಯಗಳೊಂದಿಗೆ ನಿರ್ದಿಷ್ಟವಾಗಿ ಅಜೂರ್ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ ವಿವಿಧ ಕಾರ್ಯಗಳನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುತ್ತಾರೆ. ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ, ಪವರ್ಶೆಲ್ ಮೂಲಕ ಕೆಲಸ ಮಾಡುವುದು ಅಜೂರ್ ಪೋರ್ಟಲ್ ಮೂಲಕ ಕೆಲಸ ಮಾಡುವುದಕ್ಕಿಂತ ಹೆಚ್ಚು ಅನುಕೂಲಕರ ಮತ್ತು ವೇಗವಾಗಿರುತ್ತದೆ. ಅದರ ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಸ್ವಭಾವಕ್ಕೆ ಧನ್ಯವಾದಗಳು, ಪವರ್ಶೆಲ್ ಅನ್ನು ಯಾವುದೇ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ನಲ್ಲಿ ಬಳಸಬಹುದು.
ನೀವು Ubuntu, Red Hat, ಅಥವಾ Windows ಅನ್ನು ಚಲಾಯಿಸುತ್ತಿರಲಿ, PowerShell ನಿಮ್ಮ ಕ್ಲೌಡ್ ಸಂಪನ್ಮೂಲಗಳನ್ನು ನಿಯಂತ್ರಿಸಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಬಳಸುವುದು
ಈ ಲೇಖನದಲ್ಲಿ, Azure ಕ್ಲೌಡ್ನಲ್ಲಿ VM ಅನ್ನು ಮರುಗಾತ್ರಗೊಳಿಸಲು ನೀವು PowerShell ಅನ್ನು ಹೇಗೆ ಬಳಸಬಹುದು, ಹಾಗೆಯೇ VM ಮತ್ತು ಅದರ ಸಂಬಂಧಿತ ವಸ್ತುಗಳನ್ನು ಅಳಿಸಬಹುದು ಎಂಬುದನ್ನು ನಾವು ನೋಡುತ್ತೇವೆ.
ಪ್ರಮುಖ! ಕೆಲಸಕ್ಕೆ ತಯಾರಾಗಲು ನಿಮ್ಮ ಕೈಗಳನ್ನು ಸ್ಯಾನಿಟೈಜರ್ನಿಂದ ಒರೆಸಲು ಮರೆಯಬೇಡಿ:
- ನಿಮಗೆ ಮಾಡ್ಯೂಲ್ ಅಗತ್ಯವಿದೆ ಅಜುರೆ ಪವರ್ಶೆಲ್ ಮಾಡ್ಯೂಲ್ - ಇದನ್ನು ಪವರ್ಶೆಲ್ ಗ್ಯಾಲರಿಯಿಂದ ಆಜ್ಞೆಯೊಂದಿಗೆ ಡೌನ್ಲೋಡ್ ಮಾಡಬಹುದು
Install-Module Az
. - ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸುವ ಮೂಲಕ ವರ್ಚುವಲ್ ಯಂತ್ರ ಚಾಲನೆಯಲ್ಲಿರುವ ಅಜೂರ್ ಕ್ಲೌಡ್ನಲ್ಲಿ ನೀವು ದೃಢೀಕರಿಸಬೇಕಾಗಿದೆ
Connect-AzAccount
.
ಮೊದಲಿಗೆ, Azure VM ಅನ್ನು ಮರುಗಾತ್ರಗೊಳಿಸುವ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ರಚಿಸೋಣ. VS ಕೋಡ್ ಅನ್ನು ತೆರೆಯೋಣ ಮತ್ತು ಹೊಸ PowerShell ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಉಳಿಸೋಣ ಮರುಗಾತ್ರಗೊಳಿಸಿ-AzVirtualMachine.ps1 - ಉದಾಹರಣೆ ಮುಂದುವರೆದಂತೆ ನಾವು ಅದಕ್ಕೆ ಕೋಡ್ ತುಣುಕುಗಳನ್ನು ಸೇರಿಸುತ್ತೇವೆ.
ಲಭ್ಯವಿರುವ VM ಗಾತ್ರಗಳನ್ನು ನಾವು ವಿನಂತಿಸುತ್ತೇವೆ
ನೀವು VM ಗಾತ್ರವನ್ನು ಬದಲಾಯಿಸುವ ಮೊದಲು, ಅಜೂರ್ ಕ್ಲೌಡ್ನಲ್ಲಿ ವರ್ಚುವಲ್ ಯಂತ್ರಗಳಿಗೆ ಸ್ವೀಕಾರಾರ್ಹ ಗಾತ್ರಗಳು ಯಾವುವು ಎಂಬುದನ್ನು ನೀವು ಕಂಡುಹಿಡಿಯಬೇಕು. ಇದನ್ನು ಮಾಡಲು ನೀವು ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಬೇಕು Get-AzVMSize
.
ಆದ್ದರಿಂದ ವರ್ಚುವಲ್ ಯಂತ್ರಕ್ಕಾಗಿ devvm01 ಸಂಪನ್ಮೂಲ ಗುಂಪಿನಿಂದ dev ಸಾಧ್ಯವಿರುವ ಎಲ್ಲಾ ಸ್ವೀಕಾರಾರ್ಹ ಗಾತ್ರಗಳನ್ನು ನಾವು ವಿನಂತಿಸುತ್ತೇವೆ:
Get-AzVMSize -ResourceGroupName dev -VMName devvm01
(ನಿಜವಾದ ಸಮಸ್ಯೆಗಳಲ್ಲಿ, ಸಹಜವಾಗಿ, ಬದಲಿಗೆ ResourceGroupName=dev и VMName=devvm01 ಈ ನಿಯತಾಂಕಗಳಿಗಾಗಿ ನಿಮ್ಮ ಸ್ವಂತ ಮೌಲ್ಯಗಳನ್ನು ನೀವು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತೀರಿ.)
ಆಜ್ಞೆಯು ಈ ರೀತಿಯದನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ:
ನೀಡಿರುವ ವರ್ಚುವಲ್ ಗಣಕಕ್ಕೆ ಹೊಂದಿಸಬಹುದಾದ ಎಲ್ಲಾ ಸಂಭವನೀಯ ಗಾತ್ರದ ಆಯ್ಕೆಗಳಾಗಿವೆ.
ಕಾರನ್ನು ಮರುಗಾತ್ರಗೊಳಿಸೋಣ
ಉದಾಹರಣೆಗೆ, ನಾವು ಹೊಸ ಗಾತ್ರಕ್ಕೆ ಮರುಗಾತ್ರಗೊಳಿಸುತ್ತೇವೆ Standard_B1ls - ಅವರು ಮೇಲಿನ ಪಟ್ಟಿಯಲ್ಲಿ ಮೊದಲ ಸ್ಥಾನದಲ್ಲಿದ್ದಾರೆ. (ನಿಜ-ಜೀವನದ ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲಿ, ನಿಮಗೆ ಅಗತ್ಯವಿರುವ ಯಾವುದೇ ಗಾತ್ರವನ್ನು ನೀವು ಆರಿಸಿಕೊಳ್ಳುತ್ತೀರಿ.)
- ಮೊದಲು ಆಜ್ಞೆಯನ್ನು ಬಳಸಿ
Get-AzVM
ವೇರಿಯೇಬಲ್ನಲ್ಲಿ ಸಂಗ್ರಹಿಸುವ ಮೂಲಕ ನಾವು ನಮ್ಮ ವಸ್ತುವಿನ (ವರ್ಚುವಲ್ ಯಂತ್ರ) ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯುತ್ತೇವೆ$virtualMachine
:$virtualMachine = Get-AzVM -ResourceGroupName dev -VMName devvm01
- ನಂತರ ನಾವು ಈ ವಸ್ತುವಿನಿಂದ ಆಸ್ತಿಯನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತೇವೆ
.HardwareProfile.VmSize
ಮತ್ತು ಬಯಸಿದ ಹೊಸ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿಸಿ:$virtualMachine.HardwareProfile.VmSize = "Standard_B1ls"
- ಮತ್ತು ಈಗ ನಾವು ಸರಳವಾಗಿ VM ಅಪ್ಡೇಟ್ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತೇವೆ -
Update-AzVm
:Update-AzVM -VM devvm01 -ResourceGroupName dev
- ಎಲ್ಲವೂ ಸರಿಯಾಗಿ ನಡೆದಿವೆ ಎಂದು ನಾವು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುತ್ತೇವೆ - ಇದನ್ನು ಮಾಡಲು, ನಾವು ಮತ್ತೆ ನಮ್ಮ ವಸ್ತುವಿನ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ವಿನಂತಿಸುತ್ತೇವೆ ಮತ್ತು ಆಸ್ತಿಯನ್ನು ನೋಡುತ್ತೇವೆ
$virtualMachine.HardwareProfile
:$virtualMachine = Get-AzVM -ResourceGroupName dev -VMName devvm01 $virtualMachine.HardwareProfile
ನಾವು ಅಲ್ಲಿ ನೋಡಿದರೆ Standard_B1ls - ಅಂದರೆ ಎಲ್ಲವೂ ಕ್ರಮದಲ್ಲಿದೆ, ಕಾರಿನ ಗಾತ್ರವನ್ನು ಬದಲಾಯಿಸಲಾಗಿದೆ. ಸರಣಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಹಲವಾರು VM ಗಳನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಮರುಗಾತ್ರಗೊಳಿಸುವುದರ ಮೂಲಕ ನೀವು ಮುಂದೆ ಹೋಗಬಹುದು ಮತ್ತು ನಿಮ್ಮ ಯಶಸ್ಸನ್ನು ಹೆಚ್ಚಿಸಬಹುದು.
Azure ನಲ್ಲಿ VM ಅನ್ನು ಅಳಿಸುವುದರ ಬಗ್ಗೆ ಏನು?
ಅಳಿಸುವಿಕೆಯೊಂದಿಗೆ, ಎಲ್ಲವೂ ತೋರುವಷ್ಟು ಸರಳ ಮತ್ತು ಸರಳವಾಗಿಲ್ಲ. ಎಲ್ಲಾ ನಂತರ, ಈ ಯಂತ್ರಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಹಲವಾರು ಸಂಪನ್ಮೂಲಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದು ಅವಶ್ಯಕ, ಅವುಗಳೆಂದರೆ:
- ಬೂಟ್ ಡಯಾಗ್ನೋಸ್ಟಿಕ್ಸ್ ಶೇಖರಣಾ ಧಾರಕಗಳು
- ನೆಟ್ವರ್ಕ್ ಇಂಟರ್ಫೇಸ್ಗಳು
- ಸಾರ್ವಜನಿಕ IP ವಿಳಾಸಗಳು
- ಸಿಸ್ಟಮ್ ಡಿಸ್ಕ್ ಮತ್ತು ಬ್ಲಬ್ ಅದರ ಸ್ಥಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸಲಾಗಿದೆ
- ಡೇಟಾ ಡಿಸ್ಕ್ಗಳು
ಆದ್ದರಿಂದ, ನಾವು ಕಾರ್ಯವನ್ನು ರಚಿಸುತ್ತೇವೆ ಮತ್ತು ಅದನ್ನು ಕರೆಯುತ್ತೇವೆ Remove-AzrVirtualMachine
- ಮತ್ತು ಇದು Azure VM ಅನ್ನು ಮಾತ್ರ ಅಳಿಸುತ್ತದೆ, ಆದರೆ ಮೇಲಿನ ಎಲ್ಲವನ್ನೂ ಸಹ ಅಳಿಸುತ್ತದೆ.
ನಾವು ಪ್ರಮಾಣಿತ ರೀತಿಯಲ್ಲಿ ಹೋಗುತ್ತೇವೆ ಮತ್ತು ಮೊದಲು ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ನಮ್ಮ ವಸ್ತುವನ್ನು (VM) ಪಡೆಯುತ್ತೇವೆ Get-AzVm
. ಉದಾಹರಣೆಗೆ, ಅದು ಕಾರು ಆಗಿರಲಿ WINSRV19 ಸಂಪನ್ಮೂಲ ಗುಂಪಿನಿಂದ MyTestVM ಗಳು.
ಈ ವಸ್ತುವನ್ನು ಅದರ ಎಲ್ಲಾ ಗುಣಲಕ್ಷಣಗಳೊಂದಿಗೆ ವೇರಿಯೇಬಲ್ ಆಗಿ ಉಳಿಸೋಣ $vm
:
$vm = Get-AzVm -Name WINSRV19 -ResourceGroupName MyTestVMs
ಬೂಟ್ ಡಯಾಗ್ನೋಸ್ಟಿಕ್ ಫೈಲ್ಗಳೊಂದಿಗೆ ಧಾರಕವನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತಿದೆ
ಅಜೂರ್ನಲ್ಲಿ VM ಅನ್ನು ರಚಿಸುವಾಗ, ಬೂಟ್ ಡಯಾಗ್ನೋಸ್ಟಿಕ್ಸ್ (ಬೂಟ್ ಡಯಾಗ್ನೋಸ್ಟಿಕ್ಸ್ ಕಂಟೇನರ್) ಅನ್ನು ಸಂಗ್ರಹಿಸಲು ಧಾರಕವನ್ನು ರಚಿಸಲು ಬಳಕೆದಾರರನ್ನು ಕೇಳಲಾಗುತ್ತದೆ, ಇದರಿಂದಾಗಿ ಬೂಟ್ ಮಾಡುವಲ್ಲಿ ಸಮಸ್ಯೆಗಳಿದ್ದರೆ, ದೋಷನಿವಾರಣೆಗಾಗಿ ಏನಾದರೂ ತಿರುಗಬಹುದು. ಆದಾಗ್ಯೂ, VM ಅನ್ನು ಅಳಿಸಿದಾಗ, ಈ ಧಾರಕವು ಅದರ ಉದ್ದೇಶರಹಿತ ಅಸ್ತಿತ್ವವನ್ನು ಮುಂದುವರಿಸಲು ಉಳಿದಿದೆ. ಈ ಪರಿಸ್ಥಿತಿಯನ್ನು ಸರಿಪಡಿಸೋಣ.
- ಮೊದಲಿಗೆ, ಈ ಕಂಟೇನರ್ ಯಾವ ಶೇಖರಣಾ ಖಾತೆಗೆ ಸೇರಿದೆ ಎಂಬುದನ್ನು ಕಂಡುಹಿಡಿಯೋಣ - ಇದಕ್ಕಾಗಿ ನಾವು ಆಸ್ತಿಯನ್ನು ಕಂಡುಹಿಡಿಯಬೇಕು
storageUri
ವಸ್ತುವಿನ ಕರುಳಿನಲ್ಲಿDiagnosticsProfile
ನಮ್ಮ VM. ಇದಕ್ಕಾಗಿ ನಾನು ಈ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಬಳಸುತ್ತೇನೆ:$diagSa = [regex]::match($vm.DiagnosticsProfile.bootDiagnostics.storageUri, '^http[s]?://(.+?)\.').groups[1].value
- ಈಗ ನೀವು ಕಂಟೇನರ್ನ ಹೆಸರನ್ನು ಕಂಡುಹಿಡಿಯಬೇಕು ಮತ್ತು ಇದಕ್ಕಾಗಿ ನೀವು ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು VM ID ಅನ್ನು ಪಡೆಯಬೇಕು
Get-AzResource
:if ($vm.Name.Length -gt 9) { $i = 9 } else { $i = $vm.Name.Length - 1 } $azResourceParams = @{ 'ResourceName' = WINSRV 'ResourceType' = 'Microsoft.Compute/virtualMachines' 'ResourceGroupName' = MyTestVMs } $vmResource = Get-AzResource @azResourceParams $vmId = $vmResource.Properties.VmId $diagContainerName = ('bootdiagnostics-{0}-{1}' -f $vm.Name.ToLower().Substring(0, $i), $vmId)
- ಮುಂದೆ, ಕಂಟೇನರ್ ಸೇರಿರುವ ಸಂಪನ್ಮೂಲ ಗುಂಪಿನ ಹೆಸರನ್ನು ನಾವು ಪಡೆಯುತ್ತೇವೆ:
$diagSaRg = (Get-AzStorageAccount | where { $_.StorageAccountName -eq $diagSa }).ResourceGroupName
- ಮತ್ತು ಈಗ ನಾವು ಆಜ್ಞೆಯೊಂದಿಗೆ ಕಂಟೇನರ್ ಅನ್ನು ಅಳಿಸಲು ಅಗತ್ಯವಿರುವ ಎಲ್ಲವನ್ನೂ ನಾವು ಹೊಂದಿದ್ದೇವೆ
Remove-AzStorageContainer
:$saParams = @{ 'ResourceGroupName' = $diagSaRg 'Name' = $diagSa } Get-AzStorageAccount @saParams | Get-AzStorageContainer | where { $_.Name-eq $diagContainerName } | Remove-AzStorageContainer -Force
VM ಅನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತಿದೆ
ಈಗ ನಾವು ವರ್ಚುವಲ್ ಯಂತ್ರವನ್ನು ಅಳಿಸೋಣ, ಏಕೆಂದರೆ ನಾವು ಈಗಾಗಲೇ ವೇರಿಯಬಲ್ ಅನ್ನು ರಚಿಸಿದ್ದೇವೆ $vm
ಅನುಗುಣವಾದ ವಸ್ತುವಿಗಾಗಿ. ಸರಿ, ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸೋಣ Remove-AzVm
:
$null = $vm | Remove-AzVM -Force
ನೆಟ್ವರ್ಕ್ ಇಂಟರ್ಫೇಸ್ ಮತ್ತು ಸಾರ್ವಜನಿಕ IP ವಿಳಾಸವನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತಿದೆ
ನಮ್ಮ VM ಇನ್ನೂ ಒಂದು (ಅಥವಾ ಹಲವಾರು) ನೆಟ್ವರ್ಕ್ ಇಂಟರ್ಫೇಸ್ಗಳನ್ನು (NIC ಗಳು) ಹೊಂದಿದೆ - ಅವುಗಳನ್ನು ಅನಗತ್ಯವೆಂದು ತೆಗೆದುಹಾಕಲು, ನಾವು ಆಸ್ತಿಯ ಮೂಲಕ ಹೋಗೋಣ NetworkInterfaces
ನಮ್ಮ VM ಆಬ್ಜೆಕ್ಟ್ ಮತ್ತು ಆಜ್ಞೆಯೊಂದಿಗೆ NIC ಅನ್ನು ಅಳಿಸಿ Remove-AzNetworkInterface
. ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ನೆಟ್ವರ್ಕ್ ಇಂಟರ್ಫೇಸ್ ಇದ್ದರೆ, ನಾವು ಲೂಪ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ. ಅದೇ ಸಮಯದಲ್ಲಿ, ಪ್ರತಿ NIC ಗಾಗಿ ನಾವು ಆಸ್ತಿಯನ್ನು ಪರಿಶೀಲಿಸುತ್ತೇವೆ IpConfiguration
ಇಂಟರ್ಫೇಸ್ ಸಾರ್ವಜನಿಕ IP ವಿಳಾಸವನ್ನು ಹೊಂದಿದೆಯೇ ಎಂದು ನಿರ್ಧರಿಸಲು. ಒಂದು ಕಂಡುಬಂದರೆ, ನಾವು ಅದನ್ನು ಆಜ್ಞೆಯೊಂದಿಗೆ ತೆಗೆದುಹಾಕುತ್ತೇವೆ Remove-AzPublicIpAddress
.
ಅಂತಹ ಕೋಡ್ನ ಉದಾಹರಣೆ ಇಲ್ಲಿದೆ, ಅಲ್ಲಿ ನಾವು ಎಲ್ಲಾ NIC ಗಳನ್ನು ಲೂಪ್ನಲ್ಲಿ ನೋಡುತ್ತೇವೆ, ಅವುಗಳನ್ನು ಅಳಿಸುತ್ತೇವೆ ಮತ್ತು ಸಾರ್ವಜನಿಕ IP ಇದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸುತ್ತೇವೆ. ಇದ್ದರೆ, ಆಸ್ತಿಯನ್ನು ಪಾರ್ಸ್ ಮಾಡಿ PublicIpAddress
, ID ಮೂಲಕ ಅನುಗುಣವಾದ ಸಂಪನ್ಮೂಲದ ಹೆಸರನ್ನು ಹುಡುಕಿ ಮತ್ತು ಅದನ್ನು ಅಳಿಸಿ:
foreach($nicUri in $vm.NetworkProfile.NetworkInterfaces.Id) {
$nic = Get-AzNetworkInterface -ResourceGroupName $vm.ResourceGroupName -Name $nicUri.Split('/')[-1]
Remove-AzNetworkInterface -Name $nic.Name -ResourceGroupName $vm.ResourceGroupName -Force
foreach($ipConfig in $nic.IpConfigurations) {
if($ipConfig.PublicIpAddress -ne $null) {
Remove-AzPublicIpAddress -ResourceGroupName $vm.ResourceGroupName -Name $ipConfig.PublicIpAddress.Id.Split('/')[-1] -Force
}
}
}
ಸಿಸ್ಟಮ್ ಡಿಸ್ಕ್ ಅನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತಿದೆ
ಓಎಸ್ ಡಿಸ್ಕ್ ಒಂದು ಬ್ಲಾಬ್ ಆಗಿದೆ, ಇದಕ್ಕಾಗಿ ಅದನ್ನು ಅಳಿಸಲು ಆಜ್ಞೆಯಿದೆ Remove-AzStorageBlob
- ಆದರೆ ಅದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮೊದಲು, ನೀವು ಅದರ ನಿಯತಾಂಕಗಳಿಗೆ ಅಗತ್ಯವಾದ ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿಸಬೇಕಾಗುತ್ತದೆ. ಇದನ್ನು ಮಾಡಲು, ನಿರ್ದಿಷ್ಟವಾಗಿ, ನೀವು ಸಿಸ್ಟಮ್ ಡಿಸ್ಕ್ ಹೊಂದಿರುವ ಶೇಖರಣಾ ಧಾರಕದ ಹೆಸರನ್ನು ಪಡೆಯಬೇಕು, ತದನಂತರ ಅದನ್ನು ಅನುಗುಣವಾದ ಶೇಖರಣಾ ಖಾತೆಯೊಂದಿಗೆ ಈ ಆಜ್ಞೆಗೆ ರವಾನಿಸಬೇಕು.
$osDiskUri = $vm.StorageProfile.OSDisk.Vhd.Uri
$osDiskContainerName = $osDiskUri.Split('/')[-2]
$osDiskStorageAcct = Get-AzStorageAccount | where { $_.StorageAccountName -eq $osDiskUri.Split('/')[2].Split('.')[0] }
$osDiskStorageAcct | Remove-AzStorageBlob -Container $osDiskContainerName -Blob $osDiskUri.Split('/')[-1]
ಸಿಸ್ಟಮ್ ಡಿಸ್ಕ್ ಸ್ಥಿತಿ ಬ್ಲಾಬ್ ಅನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತಿದೆ
ಇದನ್ನು ಮಾಡಲು, ನೀವು ಬಹುಶಃ ಈಗಾಗಲೇ ಊಹಿಸಿದಂತೆ, ಈ ಡಿಸ್ಕ್ ಅನ್ನು ಸಂಗ್ರಹಿಸಲಾಗಿರುವ ಶೇಖರಣಾ ಧಾರಕವನ್ನು ನಾವು ತೆಗೆದುಕೊಳ್ಳುತ್ತೇವೆ ಮತ್ತು ಕೊನೆಯಲ್ಲಿ ಬ್ಲಾಬ್ ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ ಎಂದು ಸೂಚಿಸುತ್ತದೆ status
, ಅಳಿಸು ಆಜ್ಞೆಗೆ ಅನುಗುಣವಾದ ನಿಯತಾಂಕಗಳನ್ನು ರವಾನಿಸಿ Remove-AzStorageBlob
:
$osDiskStorageAcct | Get-AzStorageBlob -Container $osDiskContainerName -Blob "$($vm.Name)*.status" | Remove-AzStorageBlob
ಮತ್ತು ಅಂತಿಮವಾಗಿ, ನಾವು ಡೇಟಾ ಡಿಸ್ಕ್ಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತೇವೆ
ನಮ್ಮ VM ಇನ್ನೂ ಅದರೊಂದಿಗೆ ಲಗತ್ತಿಸಲಾದ ಡೇಟಾದೊಂದಿಗೆ ಡಿಸ್ಕ್ಗಳನ್ನು ಹೊಂದಬಹುದು. ಅಗತ್ಯವಿಲ್ಲದಿದ್ದರೆ, ನಾವು ಅವುಗಳನ್ನು ಅಳಿಸುತ್ತೇವೆ. ಅದನ್ನು ಮೊದಲು ಪಾರ್ಸ್ ಮಾಡೋಣ StorageProfile
ನಮ್ಮ VM ಮತ್ತು ಆಸ್ತಿಯನ್ನು ಹುಡುಕಿ Uri
. ಹಲವಾರು ಡಿಸ್ಕ್ಗಳಿದ್ದರೆ, ನಾವು ಅದರ ಪ್ರಕಾರ ಚಕ್ರವನ್ನು ಆಯೋಜಿಸುತ್ತೇವೆ URI
. ಪ್ರತಿ URI ಗಾಗಿ, ನಾವು ಬಳಸುತ್ತಿರುವ ಅನುಗುಣವಾದ ಶೇಖರಣಾ ಖಾತೆಯನ್ನು ಕಂಡುಕೊಳ್ಳುತ್ತೇವೆ Get-AzStorageAccount
. ನಂತರ ಅಪೇಕ್ಷಿತ ಬ್ಲಬ್ ಹೆಸರನ್ನು ಹೊರತೆಗೆಯಲು ಶೇಖರಣಾ URI ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಿ ಮತ್ತು ಅದನ್ನು ಅಳಿಸಿ ಆಜ್ಞೆಗೆ ರವಾನಿಸಿ Remove-AzStorageBlob
ಶೇಖರಣಾ ಖಾತೆಯೊಂದಿಗೆ. ಕೋಡ್ನಲ್ಲಿ ಇದು ಹೇಗೆ ಕಾಣುತ್ತದೆ:
if ($vm.DataDiskNames.Count -gt 0) {
foreach ($uri in $vm.StorageProfile.DataDisks.Vhd.Uri) {
$dataDiskStorageAcct = Get-AzStorageAccount -Name $uri.Split('/')[2].Split('.')[0]
$dataDiskStorageAcct | Remove-AzStorageBlob -Container $uri.Split('/')[-2] -Blob $uri.Split('/')[-1]
}
}
ಮತ್ತು ಈಗ "ನಾವು ಸುಖಾಂತ್ಯವನ್ನು ತಲುಪಿದ್ದೇವೆ!" ಈಗ ನಾವು ಈ ಎಲ್ಲಾ ತುಣುಕುಗಳಿಂದ ಒಂದೇ ಸಂಪೂರ್ಣವನ್ನು ಜೋಡಿಸಬೇಕಾಗಿದೆ. ದಯೆಯ ಲೇಖಕ ಆಡಮ್ ಬರ್ಟ್ರಾಮ್ ಬಳಕೆದಾರರನ್ನು ಅರ್ಧದಾರಿಯಲ್ಲೇ ಭೇಟಿಯಾದರು ಮತ್ತು ಅದನ್ನು ಸ್ವತಃ ಮಾಡಿದರು. ಎಂಬ ಅಂತಿಮ ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಲಿಂಕ್ ಇಲ್ಲಿದೆ ತೆಗೆದುಹಾಕಿ-AzrVirtualMachine.ps1:
→
Azure VM ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ ನಿಮ್ಮ ಶ್ರಮ, ಸಮಯ ಮತ್ತು ಹಣವನ್ನು ಉಳಿಸಲು ಈ ಪ್ರಾಯೋಗಿಕ ಸಲಹೆಗಳು ಸಹಾಯಕವಾಗಿವೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ.
ಮೂಲ: www.habr.com