Новости Статьи VMware Veeam StarWind Microsoft ИТ-ГРАД Citrix Symantec 5nine События Релизы Видео Контакты Авторы RSS
Виртуализация и виртуальные машины

Виртуализация vSphere, Hyper-V, XenServer и Red Hat

Более 4340 заметок о виртуализации и виртуальных машинах VMware, Microsoft, Citrix, Red Hat

VM Guru / Articles / Как увеличить VM Guest Partition с помощью PowerCLI.

Как увеличить VM Guest Partition с помощью PowerCLI.

Как увеличить VM Guest Partition с помощью PowerCLI.

Автор: Роман Гельман
Дата: 23/10/2017

Реклама:



Статья:

Как часто вам приходится увеличивать логические диски внутри гостевых ОС ВМ? Довольно часто, не так ли? Вам надо сначала найти вашу ВМ в vSphere Client, потом кликнуть Edit Settings и перво-наперво увеличить виртуальный диск ВМ. После вы должны будете открыть RDP к вашей ВМ, затем открыть Disk Management, выбрать Rescan Disks из контекстного меню и только после этого ещё один правый клик на нужном вам логическом диске и вот сейчас выбрать Extend Volume …. Уфф!

Что, если я скажу вам, что всё это возможно сделать из всего одной консоли и абсолютно без GUI (без vSphere Client, без Remote Desktop, без VM console и т.д.)? И, как вы уже наверное догадались, это волшебное место - PowerCLI-консоль, «вооружённая» моим Vi-Module модулем!

На этот раз вас ждут две новые функции для работы с логическими дисками гостевых ОС VMware ВМ: Get-VMGuestPartition и Expand-VMGuestPartition.

Get-VMGuestPartition

Функция Get-VMGuestPartition чрезвычайно проста в использовании. Просто передайте через pipeline вашу/ваши ВМ в функцию и всё.

PS C:\> Get-VM vm1 | Get-VMGuestPartition
PS C:\> Get-VM vm1, vm2 | Get-VMGuestPartition
PS C:\> Get-VM ‘vm[1-9]’ | Get-VMGuestPartition
PS C:\> Get-VM | Get-VMGuestPartition

Поддерживаются как Windows, так и Linux ОС ВМ. Единственным требованием является наличие запущенных VMTools! ВМ без VMTools будут проигнорированы, даже без сообщения об ошибке.

Функция, как и положено, возвращает объекты, поэтому вы можете фильтровать и форматировать output.

PS C:\> Get-VM | Get-VMGuestPartition | ? {$_.FreeSpaceMB -lt 100} | Format-Table -AutoSize
PS C:\> Get-VM | Get-VMGuestPartition | ? {$_.'Usage%' -gt 95} | ogv

Свойство Usage% генерируется функцией New-PercentageBar, включённой в модуль.

Expand-VMGuestPartition

Почему Expand-, а не как было бы логичнее, Extend-? Потому что Extend не является одобренным для использования в PowerShell глаголом.

PS C:\> Get-Verb e* | sort Verb

Expand-VMGuestPartition более сложная, интерактивная функция и имеет ещё несколько требований в добавок к VMTools! Прежде чем мы сможем начать использовать эту функцию, мы должны будем создать как минимум 2 объекта VICredentialStore - один для ESXi хоста и другой для гостевой ОС.

PS C:\> New-VICredentialStoreItem -Host VMHost -User root -Password $Your_root_Password
PS C:\> New-VICredentialStoreItem -Host VMGuest -User Administrator -Password $Your_Guest_Password

Командлет New-VICredentialStoreItem имеет 3 обязательных параметра. –User и -Password - это данные учётной записи для взаимодействия с ESXi хостом и гостевой ОС, а -Host - это только указатель на них, и именно его мы и будем использовать в нашей функции.

Единственным обязательным параметром для Expand-VMGuestPartition является -VM. Все остальные параметры опциональные, и могут быть переданы интерактивно в процессе работы функции! Эта функциональность обеспечивается функцией Write-Menu, включённой в модуль.

Пример

Для примера мы возьмём ВМ с двумя виртуальными дисками.

PS C:\> Get-VM vm1 | Get-HardDisk | select Name, CapacityGB, Filename

Итак, давайте начнём.

PS C:\> Get-VM vm1 | Expand-VMGuestPartition

Функция любезно попросит вас выбрать из списка учётную запись для ESXi хоста, а также для гостевой ОС.

После этого функция пройдёт с вами 3 простых этапа: [Step 1..3] - выбрать виртуальный диск ВМ, [Step 2..3] - выбрать размер, до которого этот диск будет увеличен, и [Step 3..3] - выбрать логический диск для увеличения.

Интерактивные этапы

[Step 1..3]

Давайте рассмотрим эти этапы более подробно. Этап Step 1 позволяет вам выбрать виртуальный диск, который требуется увеличить. Обратите внимание, что здесь присутствует меню Exit. Этот пункт позволяет увеличить гостевой логический диск, не увеличивая виртуальный диск ВМ. Что!!? Может его уже увеличили ранее или предыдущая попытка увеличения логического диска закончилась неудачей, а диск был удачно увеличен. Всё бывает :)

После того, как вы выбрали диск, вы получите немного дополнительной информации о нём и о датасторе, на котором он находится.

[Step 2..3]

Этап Step 2 динамически строит для вас меню с размерами диска. Это меню управляется переменными внутри Begin { }. Оно полностью зависит от этих переменных, а также начального размера выбранного диска.

$MaxHddSize = 2000
$SizeJump1 = 10
$SizeJump2 = 50
$SizeJump3 = 100
$LastStep2 = 1000

Вы можете изменить эти переменные по вашему усмотрению. Самая важная из них это $MaxHddSize. Она запрещает увеличение виртуального диска свыше 2 ТБ (ограничение размера логического диска для MBR дисков). Однако если вы используете GPT диски, вы можете смело увеличить эту переменную. Просто имейте ввиду, что существуют и другие ограничения: например, NTFS volume на данный момент ограничен 256 ТБ, а виртуальный диск 62 ТБ.

[Step 3..3]

И заключительный этап - это выбрать логический гостевой диск (partition) для увеличения. На данный момент нет стопроцентного способа определить соответствие виртуальных дисков ВМ логическим гостевым, и вам придётся это сделать самим(. Но есть и хорошая новость - если вы ошиблись в выборе или предоставили неверный пароль для гостевой учётной записи, или ещё что-то пошло не так, вы можете начать всё сначала, но на этот раз выбрать меню Exit на этапе Step 1.

Заключительный этап

Функция Expand-VMGuestPartition ждёт 40 секунд и вызывает функцию Get-VMGuestPartition для отражения произведённых изменений. Эта пауза нужна для того, чтобы изменения вступили в силу.

Опциональные параметры

У функции Expand-VMGuestPartition есть несколько необязательных параметров, таких как -HostCred, -GuestCred, -Confirm и -Verbose.

PS C:\> Get-VM vm1 | Expand-VMGuestPartition -HostCred (Get-VICredentialStoreItem esxlab1) -GuestCred (Get-VICredentialStoreItem guestlab) -Confirm:$false -Verbose

Для более подробной информации о них, смотрите примеры и встроенную справку. Очень помогает:)

PS C:\> Get-Help Get-VMGuestPartition
PS C:\> Get-Help Expand-VMGuestPartition -Examples
PS C:\> Get-Help Expand-VMGuestPartition -Full
PS C:\> Get-Help Expand-VMGuestPartition -Parameter guestcred

Резюме

Для любителей коротких комманд, я добавил 2 алиаса: exvmpart для Expand-VMGuestPartition и gvmpart для Get-VMGuestPartition.

PS C:\> Get-Command -Module Vi-Module -Noun vmguest*
PS C:\> Get-Alias -Definition Expand-VMGuestPartition, Get-VMGuestPartition

Функция Expand-VMGuestPartition возвращает True, если всё прошло нормально (т.е. и виртуальный и логический диски были удачно увеличены) или False, если произошла какая-либо ошибка.

Функция Expand-VMGuestPartition поддерживает только гостевые ОС Windows NT6+. Устаревшие ОС, такие как Windows XP и Windows 2003 Server не поддерживаются (ограничения обусловлены самими гостевыми ОС).

Функция Expand-VMGuestPartition использует встроенный PowerCLI командлет Invoke-VMScript и Windows утилиту DISKPART.EXE.

PS C:\> Get-Help Invoke-VMScript –Online
C:\> diskpart /?

Для получения справки по одной из команд diskpart, например, SELECT VOLUME, запустите diskpart в интерактивном режиме и help + ваша команда.

C:\> diskpart
DISKPART> help sel vol
DISKPART> exit

Большинство команд diskpart имеют короткие алиасы, например, SELECT - это sel, VOLUME - vol, PARTITION - part и т. д. Так, например, следующая длинная команда create partition primary может быть преобразована в более короткую cre part pri.

Обе функции требуют наличия запущенных VMTools внутри гостевых ОС.

Как всегда, ссылка на оригинал статьи с ps1code.com (English). Кстати, на прошлой неделе сайт автора попал в популярный список лучших 50 сайтов о PowerShell! Так что оставайтесь на VM Guru и читайте только качественный контент.

Реклама





Зал Славы Рекламодателя
Ближайшие события в области виртуализации:

02/12/2017:  AZURE DAY 2017 (Минск)
06/03/2018:  ИТ-стратегия 2018
24/05/2018:  IT&SECURITY FORUM (Казань)

Быстрый переход:
VMware StarWind Veeam IT-Grad vGate Microsoft Cloud SDRS Parallels IaaS Citrix 5nine HP VeeamON VMFS RVTools PowerCLI VM Guru Oracle Red Hat Azure KVM VeeamOn Security Code 1cloud Docker Storage Offtopic NVIDIA Partnership Dell Virtual SAN Virtualization VMTurbo Nutanix vRealize VirtualBox Symantec Gartner Softline EMC Login VSI Xen Enterprise Teradici Amazon NetApp VDI Linux Hyper-V IBM Cisco Google VSI Security Windows vCenter VMachines Webinar View VKernel Events Hardware Windows 7 Caravan Apple TPS Hyper9 Nicira Blogs Sun VMC Xtravirt Novell vSphere IntelVT Сравнение VirtualIron XenServer CitrixXen ESXi ESX ThinApp Books P2V VVols HA Tools Backup vSAN Book Photon vCloud VMworld Horizon vROPs Labs Fusion Cloud Computing vCSA SSD Client DRS OpenStack Comparison Workstation Blast SRM App Volumes Performance Manager Nested AWS Log Insight XenDesktop VSA vNetwork SSO LSFS Workspace Host Client VMDK VTL Update iSCSI SDDC NSX Agent Virtual Appliance Whitepaper PowerShell Appliance VUM V2V Cache Support Обучение Web Client Mobile Automation Replication Desktop Fault Tolerance DR Vanguard SaaS Connector Event Free Datacenter SQL VSAN Lifecycle Sponsorship Finance FT Converter XenApp esxtop Snapshots VCP Auto Deploy SMB RDM Mirage XenClient MP Video Operations SC VMM Certification VDP Partners PCoIP RHEV vMA Award Network USB Licensing Logs Server Demo Visio Intel vCHS Calculator Бесплатно vExpert Beta SAN Exchange MAP ONE DaaS Networking Monitoring VPLEX UCS SDK Poster VSPP Receiver vMotion VDI-in-a-Box Deduplication Forum Reporter vShield ACE Go nworks iPad XCP Data Recovery Sizing Pricing VMotion Snapshot FlexPod VMsafe Enteprise Monitor vStorage Essentials Live Migration SCVMM TCO Studio AMD-V VirtualCenter NFS ThinPrint Director Diagram Bug Troubleshooting Air API CLI Plugin DPM Memory Upgrade SIOC Flex Mac Open Source SSH VAAI Chargeback Heartbeat Android MSCS Ports SVMotion Storage DRS Bugs Composer
Интересные плакаты:

Постер VMware vSphere PowerCLI 6.3:

Постер VMware ESXi 5.1:

Постер VMware Hands-on Labs 2015:

Постер VMware Platform Services Controller 6.0:

Постер VMware vCloud Networking:

Постер VMware NSX (референсный):

Постер VMware vCloud SDK:

Постер VMware vCloud Suite:

Постер VMware vCenter Server Appliance:

Порты и соединения VMware vSphere 6:

Порты и соединения VMware Horizon 7:

Порты и соединения VMware NSX:

Управление памятью в VMware vSphere 5:

Как работает кластер VMware High Availability:

Постер VMware vSphere 5.5 ESXTOP (обзорный):

Постер Veeam Backup & Replication v8 for VMware:

Постер Microsoft Windows Server 2012 Hyper-V R2:

 

Популярные статьи:
Как установить VMware ESXi. Инструкция по установке сервера ESXi 4 из состава vSphere.

Включение поддержки технологии Intel VT на ноутбуках Sony VAIO, Toshiba, Lenovo и других.

Как настроить запуск виртуальных машин VMware Workstation и Server при старте Windows

Как работают виртуальные сети VLAN на хостах VMware ESX / ESXi.

Что такое и как работает виртуальная машина Windows XP Mode в Windows 7.

Инфраструктура виртуальных десктопов VMware View 3 (VDI)

Типы виртуальных дисков vmdk виртуальных машин на VMware vSphere / ESX 4.

Бесплатные утилиты для виртуальных машин на базе VMware ESX / ESXi.

Сравнение Oracle VirtualBox и VMware Workstation.

Проектирование инфраструктуры виртуализации VMware vSphere 4.

Как поднять программный iSCSI Target на Windows 2003 Server для ESX

Как использовать возможности VMware vSphere Management Assistant (vMA).

Бесплатные программы для VMware ESX / ESXi в среде Virtual Infrastructure / vSphere (часть 2).

Отличия VMware ESXi 4 free (бесплатного), ESXi 4 и ESX 4 в составе VMware vSphere.

Новые возможности VMware vSphere 5.0 - официально.

Все ресурсы о виртуализации:
Интервью:

Alessandro Perilli
virtualization.info
Основатель

Ратмир Тимашев
Veeam Software
Президент


Купить:

VMware vSphere 6.5


Veeam Backup 9.5


Полезные ресурсы:


Видео компании VMware

Видео про Citrix Xen

Видео о виртуализации Microsoft

Утилиты для виртуальных машин Microsoft.

Книги на английском языке

Блоги на английском языке

Блоги на русском языке

Агрегация статей в твиттере VMC:


Copyright VM Guru 2006 - 2017, Александр Самойленко. Правила перепечатки материалов.