Главная Virtualization, Windows, Без рубрики, Новое Лаборатория домашней виртуализации (Часть 2): Software
  • Лаборатория домашней виртуализации (Часть 2): Software

    После того, как Вы приобрели оборудование, описанное в моей первой статье (Домашняя виртуализация. Hardware http://itband.ru/2011/01/part1_hardware_home/ ), перед нами встает задача его конфигурирования.

    Для достижения необходимой гибкости в работе с операционными системами примем решение, что все наши хостовые операционные системы будут находиться в виде VHD файлов. Мы будем использовать уникальную возможность операционных систем класса Windows 7/Windows 2008R2, использовать возможность загрузки напрямую с VHD диска. Хотя справедливости ради нужно отметить, что только редакции Windows 7  Enterprise и  Windows 7 Ultimate могут использовать эту возможность. С северными редакциями все проще, только Windows 2008R2 Foundation не может грузиться с VHD, все остальные редакции могут. Теперь возьмем жесткий диск, можно его не размечать и не форматировать, все сделаем по ходу. Загружаемся с DVD диска (Windows 2008R2/Windows 7), выбираем версию, местонахождение и основной язык, нажимаем «далее». Потом Shift+F10. И попадаем в командную строку оболочки Windows PE. Запускаем Diskpart

    DISKPART>list disk

    (получаем список дисков)

    DISKPART>select disk 0

    (выбираем нужный диск)

    DISKPART>list partition

    (получаем список разделов)

    DISKPART>select partition 1

    (выбираем нужный раздел)

    DISKPART>delete partition

    (Удаляем раздел)

    DISKPART>select partition n

    (Выбираем нужный раздел)

    DISKPART>delete partition

    (Удаляем раздел n)

    После того, как на диске не осталось разделов

    DISKPART>create partition primary

    (Создаем основной раздел на все пространство, при необходимости можно задать размер)

    DISKPART>select partition 1

    (выбираем раздел)

    DISKPART>format quick

    (быстрый формат, при необходимости можно опустить параметр quick, тогда будет полный)

    DISKPART>assign letter=c

    (назначаем букву отформатированному разделу)

    Итак, мы получили чистый отформатированный жесткий диск.

    Обрисуем первый этап. Создаем виртуальный диск VHD и устанавливаем туда версию Windows 2008R2 Enterprise. Можно, конечно, Datacenter, но мы будем более скромными. Для тех, у кого нет доступа к подпискам TechNet и MSDN берём пробную версию.

    Теперь более подробно. Создавать виртуальный жесткий диск будем командной строкой в редакторе дисков diskpart. Виртуальные диски бывают двух типов: fixed (фиксированного размера) и expandable (расширяемые), а также базовые и дифференциальные, но об этом немного позже. Для дисков фиксированного размера сразу отдается все дисковое пространство, указанное в размере диска, а в расширяемом диске – по мере необходимости. Стоит отметить, что быстродействие диска фиксированного размера по сравнению с расширяемым различается в пределах нескольких процентов. Приведем для примера несколько команд редактора, который запускается в командной строке с привилегиями администратора.

    Получить список томов

    DISKPART> list volumes

    Создать диск фиксированного размера на 50 000 MB

    DISKPART>create vdisk file=”C:\Win2008r2.vhd” maximum=50000 type=fixed

    Создать расширяемый диск на 50 000 MB

    DISKPART>create vdisk file=”C:\Win2008r2.vhd” maximum=50000 type=EXPANDABLE

    Теперь мы можем создать виртуальный диск, если не сделали это раньше. Запускаем DISKPART если не вышли из нее ранее.

    DISKPART>create vdisk file=”C:\Win2008R2.vhdtype= EXPANDABLE maximum=50000 

    Выбираем ранее созданный виртуальный диск.

    DISKPART> select vdisk file=”C:\Win2008R2.vhd”

    И монтируем его для установки

    DISKPART> attach vdisk

    Далее выходим из DISKPART командой exit. Выходим из командной строки командой exit. Продолжаем установку как обычно на созданный нами жесткий диск. После установки перегружаем систему и видим окно выбора операционной системы, где появился Windows Server 2008R2. Все вышесказанное относится как к русской, так и к английской версии Windows Server 2008R2. Входим в систему и устанавливаем SP1 RC (http://technet.microsoft.com/ru-ru/evalcenter/ff183870.aspx) или уже вышедший после написания статьи SP1. Далее устанавливаем драйверы чипсета, видеокарты, сетевой карты, остальные драйверы.

    Этап второй – установка Hyper-V. Здесь сразу пойдем по шагам.

    1. Проверяем, включена ли в BIOS виртуализация.

    2. Загружаемся в Windows Server 2008R2 и в Диспетчере севера добавляем роль Hyper-V. Выбираем сетевую карту, которая будет привязана к виртуальному сетевому адаптеру, вторая, если есть, будет использоваться для управления хостом. После установки роли машина может перегрузиться несколько раз.

    Этап третий. После того, как мы установили Hyper-V, проведем легкий тюнинг машины.

    Включаем компоненты:

    Возможности рабочего стола (Медиа и прочие приятности), которые необходимы, если мы вдруг захотим установить Camtasia studio для записи вебкастов. Camtasia studio доступна на сайте www.techsmith.com/camtasia/ Для тренеров MCT лицензия на Camtasia studio предоставляется по запросу на сайте.

    Также я бы рекомендовал NET Framework 3.51 – вдруг понадобится Paint.Net (http://www.paint.net)

    Доустанавливаем  программы типа Adobe Reader, Microsoft Office, 7 Windows-Zip, vcr446f и обязательно программу, которая может делать ISO файлы (Folder2iso, Ashampoo), так как этот способ один из самых удобных по передаче чего-либо в виртуальную машину.

    Если вы MCP, то можете воспользоваться уникальным предложением от компании Starwind (http://www.starwindsoftware.com/news/31). Настоятельно это рекомендую, эта программа позволяет делать ISCSI target на хостовом компьютере. В дальнейшем с ее помощью мы можем развернуть многоузловые отказоустойчивые кластера. Есть, конечно, решение от Microsoft виде Windows 2008R2 Storage Server, но оно поставляется только с железом, хотя есть версия для целей тестирования для  подписчиков TechNet. Для тех, кому интересно: http://www.techdays.ru/videos/2456.html .

    Итак, базовая часть установки закончена.

    Рассмотрим некоторые возможности работы с VHD дисками которые облегчат работу домашней лаборатории виртуализации.

    После установки чистой активированной машины можно сделать следующее. Загружаемся с DVD диска (Windows 2008R2/Windows 7). Потом Shift+F10 и попадаем в командную строку оболочки Windows PE. Делаем копию нашего VHD диска командой Copy в файл, например, c:\Win2008R2_Copy.vhd. Выходим из процесса инсталляции. Загружаемся в операционную систему, запускаем командную строку с привилегиями администратора. Теперь по шагам:

    1. Скопируем существующую загрузочную запись для установки Windows 2008R2. Затем копия будет нами изменена для использования в качестве загрузочной записи VHD. В командной строке введите:

    bcdedit /copy {default} /d “Win2008R2_Copy” В качестве результата успешного выполнения команды BCDedit в окне командной строки выводится {GUID_New}.

    2. Найдем {GUID_New} в результатах выполнения предыдущей команды. Скопируем GUID_New, включая скобки, чтобы использовать его в следующих действиях. Пример GUID  {41b0cd16-e0c1-11de-8bb2-0026223b86c2}

    3. Установим параметры device и osdevice для загрузочной записи VHD. В командной строке введем:

    bcdedit /set {GUID_New} device vhd=[c:]\Win2008R2_Copy.vhd

    bcdedit /set {GUID_New} osdevice vhd=[c:]\Win2008R2_Copy.vhd

    4. Для некоторых систем на основе x86 требуется параметр конфигурации загрузки для ядра, чтобы найти сведения об определенном оборудовании и успешно выполнить встроенную загрузку с VHD.  В командной строке введите:

    bcdedit /set {GUID_New} detecthal on

    Итак, мы создали копию операционной системы, можем с нее загружаться или использовать в качестве эталонной, причем иногда бывает необходимо установить что-то временное и не нужно изменять основную операционную систему.  Можно сделать копию VHD файла основной системы, подцепить его на загрузку, сделать необходимые манипуляции, а потом удалить.

    bcdedit/delete { GUID_New }

    В общем, есть и другой путь. Можно использовать возможности дифференциальных VHD дисков. Загружаемся с DVD диска (Windows 2008R2/Windows 7). Потом Shift+F10. Запускаем DiskPart.

    DISKPART>create vdisk file=C:\Win2008R2_Diff.vhd parent=C:\Win2008R2.vhd

    (создаем дифференциальный VHD диск Win2008R2_Diff.vhd, на основе нашего родительского диска Win2008R2.vhd )Выходим из DiskPart командой exit , но не из командной строки.

    Далее

    bcdedit /copy {default} /d “Windows 2008R2 Diff”

    или

    bcdedit /copy {GUID} /d “Windows 2008R2 Diff”, где GUID это идентификатор загрузочной записи с Windows 2008R2. Список можно получить как обычно bcdeditv

    или если у нас на компьютере уже несколько операционных систем, то можно загрузиться с другой системы. Запустим командную строку с привилегиями администратора.

    bcdeditv –  найдем и скопируем идентификатор операционной системы от базового диска GUID_Base. Тогда команда будет выглядеть так:

    bcdedit /copy {GUID_Base} /d “Windows 2008R2 Diff”

    После выше перечисленных вариантов  получим GUID_New новой записи. Скопируем его и вставим в следующие 2 команды.

    bcdedit /set {GUID_New} device vhd=[c:]\Win2008R2_Diff.vhd

    bcdedit /set {GUID_New} osdevice vhd=[c:]\Win2008R2_Diff.vhd

    Проверим наличие новой записи загрузчика.

    bcdeditv

    При необходимости можем установить загрузку нашей новой операционной системы по умолчанию.

    bcdedit /default { GUID_New }

    После выполнения этих нехитрых манипуляций мы имеем основную базовую операционную систему и вторую систему, основанную на дифференциальном VHD  диске. Теперь после создания дифференциального диска нельзя пользоваться основной операционной системой. По идее можно удалить загрузочную запись основной системы (bcdedit/delete { GUID} ) и пользоваться только дифференциальными дисками, причем их может быть несколько.Фактически можно сделать так, что наша первая установленная и активированная система будет использоваться в режиме «только чтение», а будем пользоваться только дифференциальными дисками. Для особо интересующихся отсылаю к статье http://www.osp.ru/win2000/2010/09/13005801/

    Про возможность запуска Virtual Server 2005R2 и Virtual PC на платформе Windows 2008R2 я, чтобы не повторяться, отсылаю к своей статье http://itband.ru/2010/08/mobile-virtualization/

    Комаров Михаил

    MVP

Комментарии

  1. […] This post was mentioned on Twitter by Andrii Solomko, IT. IT said: Лаборатория домашней виртуализации (Часть 2): Software: После того, как Вы приобрели оборудование, описанное в м… http://bit.ly/eTk5Am […]

  2. Создать диск фиксированного размера на 50 000 MB
    DISKPART>create vdisk file=”C:Win2008r2.vhd” maximum=50000
    Создать расширяемый диск на 50 000 MB
    DISKPART>create vdisk file=”C:Win2008r2.vhd” maximum=50000
    Поправьте тут, разница же должна быть!

  3. Поправил спасибо.

  4. Зачем в самом начале куча мути по удалению разделов? достаточно просто выбрать диск и сказать Clean

  5. Pan_2@LJ Вы правы такая возможность существует, но иногда может понадобиться оставить один из разделов.Отсылаю всех интересующихся командой diskpart к первоисточнику на русском http://support.microsoft.com/kb/300415 или
    http://technet.microsoft.com/ru-ru/library/cc766465(WS.10).aspx

  6. После прочтения возникли вопросы. Допустим, есть основая система и две дифференциальные: первая с доустановленным SQL, вторая – Exchange.
    Первый вопрос: Так работать будет (понятно, что не одновременно)?
    Второй вопрос: Как теперь из основного VHD и SQL собрать новый VHD для переноса готового сервера?
    Третий вопрос: (уточняя второй) Например, грузимся в тот вариант, где Exchange и пытаемся сделать из базового VHD и SQL виртуальную машину для запуска её под Hyper-V (вместе с Exchange на хосте). Есть решение? Понимаю, что несколько извращением попахивает, но тем не менее…

  7. Garry
    1. Да работать будет.
    2.Как вариант есть команда merge. Только имейте ввиду она сделает из 2х дисков один.И не будет возможна загрузка со второго дифференциального диска.
    http://technet.microsoft.com/ru-ru/library/gg252570(WS.10).aspx
    3.Грузимся в SQL, sysprep/generalize с завершением работы. Потом загружаем Windows PE, копируем базовый диск и дифференциальный SQL в другое место. Производим слияние merge и подсовываем полученный VHD в Hyper-V по идее должно взлететь.

  8. 7 Windows-Zip, vcr446f простите а зачем нужна “виктория”?
    да и по первой программе тоже не особо понятно может 7-zip?
    хмм, Windows 2008R2 Enterprise не возможно просто установить через гуи интерфейс не совсем понимаю целесообразность использования cli для разметки диска?

  9. […] домашней виртуализации (Часть 1): Hardware.Лаборатория домашней виртуализации (Часть 2): Software.Лаборатория домашней виртуализации (Часть 3): Software […]

  10. Какой то сложный путь по подготовке гипервизора….
    VMWare или XenServer или XCP намного проще и быстрей заворачиваются!