Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье содержится подробное руководство по определению логического номера единиц (LUN) физического диска, представленного в Azure для дисковых пространств в Windows Server. Это важно при удалении или замене физического диска из пула носителей. Следуя этим инструкциям, вы можете эффективно управлять конфигурациями дисковых пространств без ущерба для целостности данных или доступности служб.
Это важно
Чтобы выполнить следующие процедуры, убедитесь, что у вас есть права администратора в Windows PowerShell и необходимые разрешения для управления дисками на портале Microsoft Azure.
Определите LUN из пула носителей и сопоставийте его на портале Azure.
Чтобы определить LUN физического диска, выполните следующие действия.
Чтобы получить сведения о физических дисках в указанном пуле носителей, выполните следующий командлет PowerShell от имени администратора:
Get-StoragePool -FriendlyName "<StoragePoolName>" | Get-PhysicalDisk | Select-Object FriendlyName, UniqueId, HealthStatus, Size, PhysicalLocation, DeviceID, CannotPoolReason, Usage | Format-List
Ниже представлен пример результата.
Friendlyname : Msft Virtual Disk UniqueId : <UniqueID> HealthStatus : Healthy Size : 37580963840 PhysicalLocation : Integrated : Adapter 1 : Port 0 : Target 0 : LUN 2 DeviceID : 4 CannotPoolReason : In a Pool Usage : Auto-Select
Замечание
Разбивка командлета:
-
FriendlyName
: удобное для пользователя имя физического диска. -
UniqueId
: уникальный идентификатор диска. -
PhysicalLocation
: указывает физическое расположение диска в системе.Adapter 0
предназначен для диска операционной системы и временных дисков иAdapter 1
предназначен для дисков данных. -
Usage
: показывает, как используется диск (например, для пулов носителей и виртуальных дисков).
-
Чтобы получить уникальный идентификатор виртуального диска в пуле носителей, выполните следующие командлеты:
Get-StorageNode
Ниже представлен пример результата.
Name Manufacturer Model OperationalStatus --- ------------ ----- ------------ Node1-2019-pool.fabrikam.com Microsoft Corporation Virtual Machine Up Node1-2019-pool.fabrikam.com Microsoft Corporation Virtual Machine Up Node2-2019-pool.fabrikam.com Microsoft Corporation Virtual Machine Up
Get-StorageNode -name "<StorageNodeName>" | get-virtualdisk | ft friendlyname, uniqueid, allocatedsize, footprintonpool
Ниже представлен пример результата.
friendlyname uniqueid allocatedsize footprintonpool ------------ -------- ------------- --------------- Virtualdisk <UniqueID> 1073741824 1073741824
Замечание
Числа, отображаемые в
allocatedsize
иfootprintonpool
, указаны в байтах.Чтобы найти LUN дисков данных на портале Azure, перейдите на портал Azure, выберите виртуальную машину и выберите "Параметры>дисков". Запишите LUN и сопоставите его с полученными сведениями на шаге 1.
Удаление физического диска из пула носителей
Чтобы удалить физический диск из пула носителей, выполните командлет Set-PhysicalDisk с помощью уникального идентификатора из шага 1 предыдущего раздела:
Set-PhysicalDisk -UniqueId <UniqueID> -Usage Retired
Вот пример выходных данных при списании физического диска:
PS C:\Users\Administrator1> Set-PhysicalDisk -UniqueId <UniqueID> -Usage Retired PS C:\Users\Administrator1> Get-PhysicalDisk Number FriendlyName SerialNumber MediaType CanPool OperationalStatus HealthStatus Usage Size ------ ------------ ------------ --------- ------- ----------------- ------------ ----- ---- 5 Msft Virtual Disk Unspecified False OK Healthy Auto-Select 40 GB 0 Msft Virtual Disk Unspecified False OK Healthy Auto-Select 127 GB 3 Msft Virtual Disk Unspecified False OK Healthy Auto-Select 40 GB 2 Msft Virtual Disk Unspecified False OK Healthy Auto-Select 32 GB 1 Msft Virtual Disk Unspecified False OK Healthy Auto-Select 16 GB 4 Msft Virtual Disk Unspecified False OK Healthy Retired 35 GB
Чтобы определить физические диски, связанные с виртуальным диском, выполните следующий командлет, используя уникальный идентификатор из шага 2 предыдущего раздела:
Get-VirtualDisk -UniqueId <UniqueID> | Get-PhysicalDisk
Ниже представлен пример результата.
DeviceId FriendlyName SerialNumber MediaType CanPool OperationalStatus HealthStatus Usage Size -------- ------------ ------------ --------- ------- ----------------- ------------ ----- ---- 1 Msft Virtual Disk Unspecified False OK Healthy Auto-Select 40 GB 2 Msft Virtual Disk Unspecified False OK Healthy Auto-Select 35 GB
Чтобы запустить задание хранилища, заставляя данные переместиться с выведенного из эксплуатации физического диска, выполните следующий командлет, используя уникальный идентификатор из предыдущего шага.
Get-VirtualDisk -UniqueID <UniqueID> | Repair-VirtualDisk
Проверьте состояние задания хранилища с помощью следующего командлета и дождитесь завершения задания хранилища.
Get-StorageJob
Убедитесь, что на выведенном из эксплуатации физическом диске нет образа виртуального диска, выполнив следующий командлет:
Get-StorageNode -Name "<StorageNodeName>" | Get-PhysicalDisk -PhysicallyConnected | Select FriendlyName, CanPool, UniqueID, @{Name="Size (GB)"; Expression={[math]::Round($_.Size / 1GB, 2)}}, PhysicalLocation, Usage, VirtualDiskFootprint
Ниже приведен пример ожидаемых выходных данных:
FriendlyName : Msft Virtual Disk CanPool : False UniqueID : <UniqueID> Size (GB) : 35 PhysicalLocation : Integrated : Adapter 1 : Port 0 : Target 0 : LUN 2 Usage : Retired VirtualDiskFootprint : 0
Замечание
Разбивка командлета:
FriendlyName
: удобочитаемое имя физического диска.CanPool
: указывает, можно ли добавить диск в пул носителей.UniqueID
: уникальный идентификатор диска.Пользовательское свойство:
Size (GB)
- Код:
@{Name="Size (GB)"; Expression={[math]::Round($_.Size / 1GB, 2)}}
- Объяснение:
-
@{...}
: хеш-таблица, определяющая вычисляемое свойство. -
Name="Size (GB)"
: указывает имя нового свойства (в данном случае —Size (GB)). -
Expression={...}
: определяет, как вычисляется значение свойства:-
$_.Size
: относится к свойству размера текущего физического диска (значение в байтах). -
/ 1GB
: преобразует размер из байтов в гигабайты (1 ГБ является константой в PowerShell, равной 1024 * 1024 * 1024 * 1024 байта). -
[math]::Round(..., 2)
: округляет результат до2
десятичных разрядов для удобства чтения.
-
-
- Код:
PhysicalLocation
: указывает физическое расположение диска в системе.Usage
: показывает, как используется диск (например, для пулов носителей и виртуальных дисков).VirtualDiskFootprint
: указывает, сколько ресурсов физического диска используется виртуальными дисками.
Удалите физический диск с сервера, выполнив следующие командлеты, используя уникальный идентификатор из шага 1.
$PDToRemove = Get-PhysicalDisk -UniqueID <UniqueID> Remove-PhysicalDisk -PhysicalDisks $PDToRemove -StoragePoolFriendlyName "<StoragePoolName>"
Повторно проверьте свойство
CanPool
физического диска, которое должно отображаться какTrue
после удаления физического диска из пула носителей.Get-PhysicalDisk
Запустите командлет:PS C:\Users\Administrator1> Get-PhysicalDisk Number FriendlyName SerialNumber MediaType CanPool OperationalStatus HealthStatus Usage Size ------ ------------ ------------ --------- ------- ----------------- ------------ ----- ---- 5 Msft Virtual Disk Unspecified False OK Healthy Auto-Select 40 GB 0 Msft Virtual Disk Unspecified False OK Healthy Auto-Select 127 GB 3 Msft Virtual Disk Unspecified False OK Healthy Auto-Select 40 GB 2 Msft Virtual Disk Unspecified False OK Healthy Auto-Select 32 GB 1 Msft Virtual Disk Unspecified False OK Healthy Auto-Select 16 GB 4 Msft Virtual Disk Unspecified True OK Healthy Auto-Select 35 GB
После удаления диска из пула носителей он должен быть доступен в исходном пуле.
После подтверждения удаления с помощью командлета
Get-PhysicalDisk
в PowerShell отсоедините физический диск на портале Azure при необходимости.Проверьте работоспособность пула носителей и виртуального диска, выполнив
Get-StoragePool
команды иGet-VirtualDisk
командлеты.