...

пятница, 25 апреля 2014 г.

Запуск FreeBSD в облаке Microsoft Azure

Поскольку FreeBSD 10 наконец-то имеет поддержку Hyper-V уже в стандартной поставке релиза x64 ( для x86 требуется кое-что подправить ), но в Microsoft Azure прямой поддержки пока не присутствует, я решил рассказать — как установить FreeBSD 10 в azure. Ничего особо сложного нет, разве что заливать много в облако придётся. И так — по порядку.



Брать iso и ставить с нуля смысла я не вижу, так как FreeBsd комьюнити выпускает готовые образы виртуальных машин с последними/стабильными релизами. Там и возьмём нужный нам, уже инсталированый образ в *.VHD формате. Имейте ввиду — *.VDHX azure пока не поддерживает.

С другой стороны, если у вас уже есть установленная система — можно использовать и её.

И так, берём x64 релиз FreeBSD 10 в формате *.VHD с ftp.FreeBSD.org. Можно наверно и x86? но я не пробовал. Логично предположить что в образе там всё уже установлено, что нужно для Hyper-V. Выбор там большой, можно и stable и current и даже 11 попробовать, но нам же для дела. Берём stable. Кстати, образы доступны и в форматах QEMU и VMWARE.


Первое с чем мы столкнёмся — диск для azure должен быть fixed, а не dynamic. То есть он должен быть ровно такого размера, как в нём записано. Динамическое расширение не поддерживается azure. Наш образ Freebsd распакованным занимает ~900mb, а диск там размечен как 20gb.

Берём утилиту VhdResize и меняем образ на fixed. Поскольку утилита не понимает просто изменения типа, придётся увеличить размер, например на 1mb до 20481mb. Процесс это долгий, так что можно сходить за чаем. В итоге мы получим новый файл диска размером 20481mb. С ним и будем дальше работать.


image


Второе. Поскольку образ «голый», надо его немного настроить для работы в azure. Для этого можно использовать встроенный в Windows гипервизор Hyper-V или Oracle VirtualBox. У меня процессор SLAT не поддерживает (Windows 8 требует SLAT для гипервизора, а ставить только ради этого Windows Server 2012R2 не хотелось), потому был выбран VirtualBox. Теперь создаём виртуальную машину с нашим, уже модифицированным диском и загружаемся в FreeBSD.


1) Создаём файл /etc/rc.conf и пишем там:



ifconfig_hn0="SYNCDHCP"
hostname="yourvmname.cloudapp.net"
sshd_enable="YES"




hn0 — это будет интерфейс виртуального сетевого адаптера в azure (в VirtualBox'е он будет em0, на случай если вам надо что-то загрузить из сети при настройке).

yourvmname — это имя, которое вы потом дадите виртуальной машине в azure. Стоит, наверно, заранее попробовать доступно ли оно.

sshd_enable=«YES» — без этого не запустится sshd демон. И так понятно.

редактировать можно через vi:



cd /etc
vi rc.conf




далее идём в /etc/ssh и правим sshd_config на предмет разрешения логина для рута. Ищем #PermitRootLogin no, раскомментируем и пишем yes, получаем PermitRootLogin yes. Иначе толку от sshd не будет — под рутом не зайдём.

Также стоит установить пароль для рута через passwd. По умолчанию его нет.


Если вы хорошо разбираетесь в FreeBSD — сами всё под себя можете донастроить. Я, например, убираю задержку при загрузке системы — зачем ждать загрузки лишние 10 секунд если никто всё равно ничего там нажать не сможет.


И так, заканчиваем настройку и shutdown -p now


Третье. Нам надо залить этот наш диск в azure. Заходим в azure -> storage -> создаём storage account (если нет) -> контейнер (если нет).

Диск нужно залить в контейнер обязательно как PageBlob. Если не знаете как, для этого отлично подойдёт бесплатный CloudBerry Explorer for Azure Cloud Storage. Ну и теперь заливаем нашу кучу гигабайт в azure.


Четвёртое. Всё просто. Заходим в Virtual Machines -> Disk и создаём диск из того файла, что мы залили в storage.


image


Далее переключаемся в virtual machines и создаём машину с нашим созданным диском. Всё должно теперь работать.


Единственная особенность, WALinuxAgent под FreeBSD не работает, где-то пишут, что версия 2.0 работает на на гитхабе azure только версия 1.4.

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


Вот собственно и все сложности с установкой FreeBSD в azure.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий