Как стать автором
Поиск
Написать публикацию
Обновить

Перенос FreeBSD7.1 из реального окружения в виртуальное. HYPER-V.

После выхода Windows Server 2008 покоя не давал HYPER-V. Уж очень хотелось установить его и завести виртуальных машин, да побольше. Но ни времени, ни ресурсов, под это дело, не хватало. Однажды, на работе на складе мы нашли сервер … пауза … нет правда! Настоящий IBM x3400. Как он туда попал до сих пор «наверху» понять не могут, по-моему. Примечание, фирма продает компьютеры. Сервер какое-то время стоял без дела, после чего было решено сделать его основным для разработчиков сайта. На него поставили FreeBSD, настроили все, апач, пхп, битрикс и т.п. Так прошло лето…

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

Часть1. Настойка и установка Windows Hyper-V Server 2008R2



Начнем с установки и настройки HYPER-V, как части Windows Hyper-V Server 2008 R2. Рекомендую выбрать английскую версию, т.к. большинство руководств по настройке содержит в себе английские названия служб, утилит и т.п. и сопоставить их с русскими, порой занимает лишнее время. Также в одном из топиков на social.technet.microsoft.com я встречал фразу «пункт 1 пропускаем, т.к. он все равно в русской версии не будет работать» и действительно когда настраиваешь в русской версии пункт 4-1 в «scconfig.cmd», то всегда будет появляться окошко «Не удалось перенастроить брандмауэр Windows». Данная операционная система построена на базе Windows Server Core и не предполагает графических утилит для настройки, однако ей очень удобно можно управлять через консоли MMC с другого компьютера, например на Windows 7. После установки, система выглядит так:

image

Как видно, тут присутствует пустое окно cmd.exe, а также запущенный командный файл scconfig.cmd, которые запускаются автоматически при входе в систему. Первое, что необходимо сделать, это ввести сервер в домен и присвоить ему имя. Можно конечно не вводить машинку в домен, но тогда будут проблемы с правами, которые, если честно, мне так и не удалось победить до конца. При наличии вас в группе, которая попадет в локальные администраторы, при применении доменных политик (по умолчанию, это «Администраторы домена»), вы получите все административные функции, кроме тех, что блокируются брандмауэром на вашем сервере. Компьютер, с которого вы будете управлять, тоже должен быть в составе домена.
Настройка доступа для сервера в рабочей группе описана в форуме Technet

Далее о брандмауэре. Для разрешения доступа по MMC и через «Удаленный рабочий стол» необходимо перейти в окно «scconfig.cmd» и выбрать пункт номер 7, а также номер 4, где включить mmc, а также разрешить использование Powershell. «Удаленное управление через диспетчер сервера» мне включить не удалось из-за проблем с брандмауэром на моей Windows 7.
Для управления сервером из Windows 7 вам потребуется набор административных консолей mmc – RSAT. Скачать его можно с сайта Майкрософт

На данном этапе возникают 2 проблемы, это не работающие «Диспетчер устройств» и «Управление дисками» через консоль «Управление компьютером».

  • Создаем новую консоль mmc и сохраняем ее куда-нибудь.
  • Открываем ее под пользователем домена, с административными правами. (если на исполняемом файле или ярлыке нажать «Shift+ПКМ» то в контекстном меню появится несколько дополнительных функций.
  • Добавляем туда «Редактор объектов групповой политики» и вместо «локальный компьютер», выбираем ваш Hyper-V Server.
  • Переходим в «Конфигурация компьютера\Административные шаблоны\Система\Установка устройств» и включаем политику «Разрешить удаленный доступ к устройствам Plug’n’Play” для того, чтобы удаленно заработал «Диспетчер устройств»

Стоит отметить, что диспетчер устройств будет в режиме read only.

Для удаленного управления дисками нужно в консоли сервера выполнить:

netsh advfirewall firewall set rule group=“Remote Volume Management” new enable=yes

Для удаленного запуска оснастки по управлению брандмауэром:

netsh advfirewall firewall set rule group=“Windows Firewall Remote Management” new enable=yes

Все. Теперь у вас есть доступ к 2м основным компонентам на сервере
— Управление компьютером (Computer management);
— Диспетчер Hyper-V (Hyper-V manager)

Часть 2. Миграция FreeBSD 7.1 на Hyper-V Server.



Во-первых, необходимо выполнить резервное копирование FreeBSD на другой диск, чтобы эксперимент с переносом не закончился плачевно. Т.к. просто клонировать образ диска на другой, с помощью стандартных утилит (Acronis, Partition Magic), не получится, то обойдемся средствами FreeBSD.
Берем новый диск, подключаем его рабочей freebsd и создаем на нем разделы и слайсы нужных нам размеров, а также делаем диск загрузочным и устанавливаем загрузчик FreeBSD. В общем случае, процедура резервного копирования заключается в следующих командах:

# создаем файловую систему UFS на новом слайсе.
# newfs /dev/ad6s1a
# монтируем новый слайс в нужную нам директорию
# mount /dev/ad6s1a /mnt
# cd /mnt
# делаем резервную копию раздела / в примонтированный слайс
# dump 0af - / | restore xf -


Дальше таким же образом для каждого вашего раздела, зависит от того какие вы создавали на этапе установки FreeBSD, например /usr, /tmp и т.п.
После бекапа всех разделов, нужно открыть /etc/fstab на новом диске и поправить таблицу монтирования разделов под ваш новый жесткий диск, после этого, перемещать диск, в другие разъемы SATA или т.п., не рекомендуется.
Все, теперь пытаемся загрузиться с нового диска, и если загрузка успешна, откладываем его в сторону.
Приступим к миграции в Hyper-V. К серверу с установленной Hyper-V, необходимо подключить диск с FreeBSD.
Запускаем Windows 2008 и подключаемся к ней через консоль Hyper-V manager (диспетчер Hyper-V), запущенной с правами доменной учетной записи. Нажимаем ПКМ на нужном сервере в консоли и выбираем «создать\жесткий диск» в открывшемся окне выбираем тип диска, размер, и главное в пункте «Настройка диска» выбираем «Копировать содержимое указанного жесткого диска» где отмечаем наш HDD с FreeBSD. После окончания процесса создаем новую виртуальную машину и подключаем к ней наш новый виртуальный диск.
Запускаем новую виртуальную машину! И видим что она не запускается, вернее, на этапе загрузки доходит до момента монтирования файловых систем и не может это сделать т.к. в файле «/etc/fstab» указан другой диск.
Поправить это просто, в окне с FreeBSD мы увидим приглашение смонтировать ФС вручную

mount:

что мы и сделаем, выполнив команду

mount /dev/ad0s1a /

вам нужно будет указать свой слайс, в котором находится корневой раздел. Загрузка продолжится, после этого логинимся в систему под root и правим /etc/fstab под наши названия дисков.
Перезагрузка и проверка, что ОС загрузилась успешно…

FreeBSD действительно загрузилась успешно, но как и пишет Андрей Бешков в своем блоге присутствует проблема с DHCP, которая решается либо отключение DHCP и установкой ручных параметров, либо добавлением дополнительных параметров для сетевой карты

ifconfig_de0=”DHCP media 100baseTX mediaopt full-duplex”

Вот и все! Удачной всем виртуализации =)
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.