Брать 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. С ним и будем дальше работать.
Второе. Поскольку образ «голый», надо его немного настроить для работы в 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.
Далее переключаемся в 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.
Комментариев нет:
Отправить комментарий