Када повећавате величину или бришете диск у ВМВаре-у за Виндовс виртуелне машине, понекад је тешко разумети који ВМваре виртуелни диск одговара одређеном диску у Виндовс ВМ-у. Ако нема много дискова и сви се разликују по величини, лако је пронаћи прави. Али шта да радим ако се за ВМ створи неколико ВМДК (или РДМ) дискова исте величине или ако се створи неколико виртуелних СЦСИ контролера за ВМ? Како да не направите грешку и изаберете тачно диск који желите да проширите (или смањите) Виндовс администратора.
У овом ћемо чланку погледати како пресликати Виндовс дискове на виртуалне дискове (ВМДК) на ВМВаре ВМ-овима..
Садржај:
- Провера броја СЦСИ уређаја у Виндовс и ВМВаре
- Како пресликати Виндовс дискове у ВМДК датотеке помоћу УУИД / СериалНумбер преко ПоверСхелл-а?
Провера броја СЦСИ уређаја у Виндовс и ВМВаре
Отворите конзолу за управљање диском Диск Манагер (дискмгмт.мсц) на Виндовс-у (у нашем примеру Виндовс Сервер 2016). Назив СЦСИ контролера и број СЦСИ уређаја на њему нису приказани на листи уређаја. Да бисте одредили СЦСИ број уређаја, кликните на диск јединицу и изаберите Својства. Као што видите, на картици Генерале у пољу Локација приказане су информације о прикључку уређаја ВМВаре СЦСИ Диск уређај за виртуални диск.
- Локација 160 = СЦСИ контролер сабирнице 0
- ИД циља 1 = СЦСИ ИД уређаја 1
Комбинујте примљене податке и добијте адресу диска СЦСИ (0: 1).
Сада отворите својства виртуалне машине ВМВаре у вСпхере Цлиент. Пронађите погон чији се виртуални чвор уређаја подудара с ИД-ом који сте добили. У нашем примеру ово СЦСИ (0: 1) Хард диск 2.
Ако је много виртуалних дискова с различитим СЦСИ контролерима конфигурирано у виртуалној машини (можете додати до 4 СЦСИ контролера са 16 дискова у сваком ВМ-у), ручно је пронаћи број СЦСИ уређаја прилично тешко. Такође имајте на уму да се бројеви СЦСИ контролера у Виндовс-у и ВМВаре могу разликовати..
Како пресликати Виндовс дискове у ВМДК датотеке помоћу УУИД / СериалНумбер преко ПоверСхелл-а?
Други начин за мапирање ВМВаре виртуалних дискова на дискове унутар гостујуће ВМ је упоређивање по јединственом идентификатору диска. Из ВМВаре-а се зове овај атрибут Ууид (Јединствени ИД) и у оперативном систему Виндовс - Серијски број. Погледајмо како добити УУИД и СериалНумбер виртуалних дискова кроз ПоверСхелл.
Подразумевано су сви ВМВаре ВМ-ови омогућена опцијадиск.ЕнаблеУУИД = ТРУЕ
, то значи да би гостујући ОС требао видјети виртуалне идентификаторе диска.Да бисте добили информације о дисковима у Виндовс-у, можете користити цмдлете модула за складиштење или ВМИ захтеве. Јер у нашем случају још увек постоје ВМ-ови са Виндовс Сервер 2008 Р2, у којима не постоји модул за складиштење, ми ћемо користити ВМИ.
Да бисте добили СЦСИ број контролера, СЦСИ број уређаја на њему, серијски број виртуелног диска (СериалНумбер / УУИД), величину и број диска у Виндовс-у, покрените наредбу ПоверСхелл:
$ ДискИнфо = фореацх ($ диск у Гет-ВмиОбјецт Вин32_ДискДриве) [псцустомобјецт] @ "ДевицеИД" = $ диск.ДевицеИД; "Цаптион" = $ диск.Цаптион; "Капацитет (ГБ)" = [математика] :: Рунда ($ диск.сизе / 1ГБ, 0); "СериалНумбер" = $ диск.СериалНумбер "СЦСИЦонтроллерНум" = $ диск.сцсипорт; "СЦСИДевицеНум" = $ диск.сцситаргетид; $ ДискИнфо | фт
У нашем примеру утврдили смо да Виндовс види три погона:
- ПХИСИЦАЛДРИВЕ0: СЦСИ Порт 0, СЦСИ Таргет 0, Сериал 6000ц2939б153417дедбдце371ед497б
- ПХИСИЦАЛДРИВЕ1: СЦСИ Порт 0, СЦСИ Таргет 1, Сериал 6000ц2950ее961954909259642бб03бф
- ПХИСИЦАЛДРИВЕ1: СЦСИ Порт 4, СЦСИ Таргет 10, Сериал 6000ц2995фц3ц4728де8б0596бб02це3
Сада покушајмо да добијемо бројеве СЦСИ контролера и УУИД дискова, који су наведени у подешавањима ВМваре виртуелне машине. Да бисте добили параметре ВМ, користите ПоверЦЛИ.
Импорт-Модул ВМваре.ВимАутоматион.Цоре -ЕррорАцтион СилентлиЦонтинуе цоннецт-висервер вцентер1 $ вмНаме = "мск-скл1" $ вмХардДискс = Гет-ВМ -Наме $ вмНаме | Гет-ХардДиск $ вмДатацентерВиев = Гет-ВМ -Наме $ вмНаме | Гет-Датацентер | Гет-Виев $ виртуалДискМанагер = Гет-Виев -Ид ВиртуалДискМанагер-виртуалДискМанагер $ вмресултс = @ () фореацх ($ вмХардДиск ин $ вмХардДискс) $ стринг = $ вмХардДиск.Филенаме $ вмХардДискУуид = ($ вмХардидта.цк.уцх.уцхту -Објецт $ _. Замените (","). Замените ('-', ")) $ вмресулт =" "| Селецт-Објецт вмХардДискДатасторе, вмХардДискВмдк, вмХардДискНаме, вмХардДискСизе, вмХардДискДискДуД $ вмардХард $ вмресХард $ вмресХард .сплит (']') [0] .сплит ('[') [1] $ вмресулт.вмХардДискВмдк = $ вмХардДиск.филенаме.сплит (']' [1] .трим () $ вмресулт.вмХардДискНаме = $ вмХардДиск .Наме $ вмресулт.вмХардДискСизе = $ вмХардДиск.ЦапацитиГБ $ вмресулт.вмХардДискУуид = $ вмХардДискУуид $ вмресултс + = $ вмресулт $ вмресултс | фт
Ова скрипта ће се повезати с вЦентер сервером (или ЕСКСи) и за наведени ВМ ће добити листу дискова. Након покретања скрипте, добит ћете листу виртуалних дискова за ВМ. Резултат треба да садржи име ДатаСторе-а, пут до вмдк датотеке, број диска, његову величину и УУИД.
Сада, помоћу примљених УУИД-ова, можете ручно пресликати дискове који су видљиви у гостујућем Виндовс-у помоћу ВМВаре виртуалних дискова.
Ако имате администраторска права на виртуелној машини за коју морате мапирати Виндовс дискове и вмдк датотеке у ВМВаре, можете користити једноставнију ПоверСхелл скрипту коју треба користити. Скрипта приступа гостујућем Виндовс-у преко мреже, прикупља информације о локалним дисковима и показује преписку са ВМВаре дисковима.
Потпун код скрипте ПоверСхелл:
Импорт-Модул ВМваре.ВимАутоматион.Цоре -ЕррорАцтион СилентлиЦонтинуе цоннецт-висервер вцентер1 $ вмНаме = "мск-скл1" $ ВинХостНаме = "мск-склцлу1.винитпро.ру" # Набавите списак ВМВаре погона $ вмДМискс = Тражим $ вмНаме | Гет-ХардДиск $ вмДатацентерВиев = Гет-ВМ -Наме $ вмНаме | Гет-Датацентер | Гет-Виев $ виртуалДискМанагер = Гет-Виев -Ид ВиртуалДискМанагер-виртуалДискМанагер # Администраторски налог и лозинка за приступ гостујућем оперативном систему $ $ = = ($ кредит) $ кредит елсе Гет-поверљив # Набавите листу Виндовс дискова и партиција виа ВМИ $ винДиск = Гет-ВмиОбјецт -Цласс Вин32_ДискДриве -ЦомпутерНаме $ ВинХостНаме -Вредност $ кредит $ дискТоДривеВолуме = Гет-ВмиОбјецт Вин32_ДискДриве -ЦомпутерНаме $ ВинХостНаме -Креденцијални $ кредит | % $ диск = $ _ $ партиције = "АССОЦИАТОРС ОФ" + "Вин32_ДискДриве.ДевицеИД = '$ ($ диск.ДевицеИД)'" + "ВХЕРЕ АссоцЦласс = Вин32_ДискДривеТоДискПартитион" Гет-ВмиОбјецт -Куери $ партиције ВиннерХХНПН -Креденцијални $ кредит | % $ партиција = $ _ $ дискови = "АССОЦИАТОРС ОФ" + "Вин32_ДискПартитион.ДевицеИД = '$ ($ партитион.ДевицеИД)'" + "ВХЕРЕ АссоцЦласс = Вин32_ЛогицалДискТоПартитион" Гет-ВмиОбјецт -Куери $ дискес-Виннер Виннер -Креденцијални $ кредит | % Нев-Објецт -Типе ПСЦустомОбјецт -Проперти @ Диск = $ диск.ДевицеИД ДривеЛеттер = $ _. ДевицеИД ВолумеНаме = $ _. ВолумеНаме # # прибавите серијски број предворје погона ($ диск у $ винДиск) $ диск | Адд-Мембер -МемберТипе НотеПроперти -Наме АлтСериалНумбер -Валуе $ нулл $ дискСериалНумбер = $ диск.СериалНумбер иф ($ диск.Модел -нотцхцх 'ВМваре Виртуал диск СЦСИ Диск Девице') иф ($ дискСериалНумбер -матцх '^ \ С 12 $ ') $ дискСериалНумбер = ($ дискСериалНумбер | фореацх [бите []] $ битес = $ _. ТоЦхарАрраи (); $ битес | фореацх $ _. ТоСтринг (' к2 ')) -јоин " $ диск.АлтСериалНумбер = $ дискСериалНумбер # Набрајање свих ВМ дискова, мапирање на Виндовс дискове СериалНумбер / УУИД $ дискМапс = @ () фореацх ($ вмДиск ин $ вмДискс) $ вмДискУуид = $ виртуалДискМанагер.куеривиртуалдиснамуемемемидемидемидемидемидем. , $ вмДатацентерВиев.МоРеф) | фореацх $ _. замени (","). замени ('-', ") $ виндовсДиск = $ винДиск | где је $ _. СериалНумбер -ек $ вмДискУуид иф (-нот $ виндовсДиск) $ виндовсДиск = $ винДиск | где је $ $. АлтСериалНумбер -ек $ вмДиск.СцсиЦаноницалНаме.субстринг (12,24) $ цурДискМап = "" | одаберите вмДискДатасторе, вмДискВмдк, вмДискНаме, виндовсДискИндек, вмДискУуид, виндовсДевицеИД, погоне, свеске $ цурДискМап.вмДискДатасторе = $ вмДиск.филенаме.сплит (']') [0]] $ 1 [м] $ вмДиск.филенаме.сплит (']') [1] .трим () $ цурДискМап.вмДискНаме = $ вмДиск.Наме $ цурДискМап.виндовсДискИндек = иф ($ виндовсДиск) $ виндовсДиск.Индек елсе "ПОГЛЕДАТИ УТАКМУ" $ цурДискМап.вмДискУуид = $ вмДискУуид $ цурДискМап.виндовсДевицеИД = иф ($ виндовсДиск) $ виндовсДиск.ДевицеИД елсе "ФАИЛЕД ТО МАТЦХ" $ дривеВолумес = $ дискТоДривеВолуме | где $ _. Диск -ек $ виндовсДиск.ДевицеИД $ цурДискМап.дривес = $ дривеВолумес.ДривеЛеттер $ цурДискМап.волумес = $ дривеВолумес.ВолумеНаме $ дискМапс + = $ цурДискМап $ дискМапс = $ дискМапс | врста [инт] $ _. вмДискНаме.сплит (") [2] $ дискМапс | фт
Уз то враћа информације о словима погона и налепницама за Виндовс.
Сада можете лако да схватите којој виртуелној диск јединици одговара Виндовс..
Ако су виртуелни дискови у Виндовс-у повезани преко тачке монтирања, излаз неће садржавати информације о додељеном слову погона и налепници јачине звука.