Новости Статьи VMware Veeam StarWind vStack Microsoft Nakivo Citrix Symantec События Релизы Видео Контакты Авторы RSS
Виртуализация и виртуальные машины

Все самое нужное о виртуализации и облаках

Более 6300 заметок о VMware, AWS, Azure, Veeam, Kubernetes и других

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

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

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

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

Поддержите VM Guru!

USDT / TRC20, адрес: TCDP7d9hBM4dhU2mBt5oX2x5REPtq9QdU1




Статья:

Как часто вам приходится увеличивать логические диски внутри гостевых ОС ВМ? Довольно часто, не так ли? Вам надо сначала найти вашу ВМ в 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 и читайте только качественный контент.

Интересное:





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

Быстрый переход:
VMware Broadcom Offtopic Microsoft Veeam Cloud StarWind VMachines NAKIVO vStack Gartner Vinchin Nakivo IT-Grad Teradici VeeamON VMworld PowerCLI Citrix VSAN GDPR 5nine Hardware Nutanix vSphere RVTools Enterprise Security Code Cisco vGate SDRS Parallels IaaS HP VMFS VM Guru Oracle Red Hat Azure KVM VeeamOn 1cloud DevOps Docker Storage NVIDIA Partnership Dell Virtual SAN Virtualization VMTurbo vRealize VirtualBox Symantec Softline EMC Login VSI Xen Amazon NetApp VDI Linux Hyper-V IBM Google VSI Security Windows vCenter Webinar View VKernel Events Windows 7 Caravan Apple TPS Hyper9 Nicira Blogs IDC Sun VMC Xtravirt Novell IntelVT Сравнение VirtualIron XenServer CitrixXen ESXi ESX ThinApp Books P2V HCX vSAN Private AI VCPP VCF Workstation Labs Backup Explore vDefend Data Protection ONE Tanzu AI Intel Live Recovery VCP V2V Aria NSX DPU Update EUC Avi Community Skyline Host Client Chargeback Horizon SASE Workspace ONE Networking Ransomware Tools Performance Lifecycle Network AWS API USB SDDC Fusion Whitepaper SD-WAN Mobile VMUG SRM ARM HCI Converter Photon OS Operations VEBA App Volumes Certification VMConAWS Workspace Imager SplinterDB DRS SAN vMotion Open Source iSCSI Partners HA Monterey Kubernetes vForum Learning vRNI UAG Support Log Insight AMD vCSA NSX-T Graphics NVMe HCIBench SureBackup Carbon Black vCloud Обучение Web Client vExpert OpenStack UEM CPU PKS vROPs Stencils Bug VTL Forum Video Update Manager VVols DR Cache Storage DRS Visio Manager Virtual Appliance PowerShell LSFS Client Datacenter Agent esxtop Book Photon Cloud Computing SSD Comparison Blast Encryption Nested XenDesktop VSA vNetwork SSO VMDK Appliance VUM HoL Automation Replication Desktop Fault Tolerance Vanguard SaaS Connector Event Free SQL Sponsorship Finance FT Containers XenApp Snapshots vGPU Auto Deploy SMB RDM Mirage XenClient MP iOS SC VMM VDP PCoIP RHEV vMA Award Licensing Logs Server Demo vCHS Calculator Бесплатно Beta Exchange MAP DaaS Hybrid Monitoring VPLEX UCS GPU SDK Poster VSPP Receiver VDI-in-a-Box Deduplication Reporter vShield ACE Go nworks iPad XCP Data Recovery Documentation Sizing Pricing VMotion Snapshot FlexPod VMsafe Enteprise Monitor vStorage Essentials Live Migration SCVMM TCO Studio AMD-V KB VirtualCenter NFS ThinPrint Director Memory SIOC Troubleshooting Stretched Bugs ESA Android Python Upgrade ML Hub Guardrails CLI Driver Foundation HPC Orchestrator Optimization SVMotion Diagram Ports Plugin Helpdesk VIC VDS Migration Air DPM Flex Mac SSH VAAI Heartbeat MSCS Composer
Полезные постеры:

Постер VMware vSphere PowerCLI 10

Постер VMware Cloud Foundation 4 Architecture

Постер VMware vCloud Networking

Постер VMware Cloud on AWS Logical Design Poster for Workload Mobility

Постер Azure VMware Solution Logical Design

Постер Google Cloud VMware Engine Logical Design

Постер Multi-Cloud Application Mobility

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

Постер VMware vCloud SDK:

Постер VMware vCloud Suite:

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

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

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

 

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

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

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

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

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

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

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

Диски RDM (Raw Device Mapping) для виртуальных машин VMware vSphere и серверов ESX.

Работа с дисками виртуальных машин VMware.

Где скачать последнюю версию VMware Tools для виртуальных машин на VMware ESXi.

Подключение локальных SATA-дисков сервера VMware ESXi в качестве хранилищ RDM для виртуальных машин.

Как перенести виртуальную машину VirtualBox в VMware Workstation и обратно

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

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

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

Интервью:

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

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


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

Последние 100 утилит VMware Labs

Новые возможности VMware vSphere 8.0 Update 1

Новые возможности VMware vSAN 8.0 Update 1

Новые документы от VMware

Новые технологии и продукты на VMware Explore 2022

Анонсы VMware весной 2021 года

Новые технологии и продукты на VMware VMworld 2021

Новые технологии и продукты на VMware VMworld 2020

Новые технологии и продукты на VMware VMworld Europe 2019

Новые технологии и продукты на VMware VMworld US 2019

Новые технологии и продукты на VMware VMworld 2019

Новые технологии и продукты на VMware VMworld 2018

Новые технологии и продукты на VMware VMworld 2017



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