По следам неудачной попытки с serverloft.eu я решил опубликовать своё руководство по установке FreeBSD на арендованный сервер c Linux.
Почему, собственно, я выбрал serverloft.com? За 100$ в месяц безо всяких VAT я получил брэндовый стоечный сервер в Германии (хоть и Fujitsu-Siemens), 100Гб места на ftp под бэкапы. Из приятных особенностей — в панели управления сервером есть запуск Linux rescue console (RIPLinux через PXE), им мы и воспользуемся. И так, пошаговое руководство по автоматической установке FreeBSD поверх Линукса.
Консоль удаленного управления (далее — IPMI-консоль) воткнута в отдельный порт, имеет свой IP адрес. Консолям HP и Dell она проигрывает по всем пунктам, но такие сервера в аренду за 100$ в месяц я не встречал. Графическая консоль лицензируется отдельно, но по счастью там есть Serial Redirection совершенно бесплатно.
Зайдите в панель управления my.serverloft.com, в раздел Server overview.
Там вас интересует:
IP addresses
IP: 123.45.67.89 — его подставлять вместо <ваш_ip>
IPMI Access
URL: 98.76.54.32
User name: root
Password: averylongpassword
Предполагается что вы уже установили на сервер какой-либо дистрибутив Linux, и вам доступна IPMI консоль (она конфигурится только после первой установки). Если консоль не отвечает, попросите передернуть питание сервера, а затем смените порт на котором консоль слушает SSH — брутфорс паролей иногда вешает консоль.
Итак, на выбор два способа. Первый предполагает наличие машины с FreeBSD для сборки своего образа mfsBSD, второй позволит обойтись готовыми наработками. Использование IPMI-консоли совершенно необязательно для второго способа, хотя и там не помешает. Зайдите в IPMI консоль и настройте последовательный порт консоли следующим образом: 9600 None VT100 8Bit. В принципе почти все работает и на более высоких скоростях, но не будем рисковать.
Саму последовательную консоль можно наблюдать там же, ввиде java-апплета, либо подключаться к ней через telnet или ssh — нажать r Console Redirection
Патч к mfsbsd, используемый для получения этого образа, можно взять тут
Смените пароли и не забудьте обновить вашу систему до 8.0-RELEASE-p2:
Все вышеописанное тестировалось на сервере PerfectServer L Opteron 1.0 и с FreeBSD 8.0-RELEASE. Для работы на других типах серверов может потребоваться отредактировать скрипт установки на предмет имен сетевых интерфейсов и дисковых контроллеров.
Напоследок пара слов о ServerLoft: берите сервер PerfectServer L Xeon 1.5 — у него также аппаратный RAID на LSI, частота проца — 2.5Ггц против 2.1 у Оптерона. По моим тестам Xeon быстрее процентов на 25.
UPD: На серверах c Xeon 2.0 метод не работает. FreeBSD не видит RAID-контроллер (если он там вообще есть), и, что самое скверное, основную сетевуху.
Почему, собственно, я выбрал serverloft.com? За 100$ в месяц безо всяких VAT я получил брэндовый стоечный сервер в Германии (хоть и Fujitsu-Siemens), 100Гб места на ftp под бэкапы. Из приятных особенностей — в панели управления сервером есть запуск Linux rescue console (RIPLinux через PXE), им мы и воспользуемся. И так, пошаговое руководство по автоматической установке FreeBSD поверх Линукса.
Консоль удаленного управления (далее — IPMI-консоль) воткнута в отдельный порт, имеет свой IP адрес. Консолям HP и Dell она проигрывает по всем пунктам, но такие сервера в аренду за 100$ в месяц я не встречал. Графическая консоль лицензируется отдельно, но по счастью там есть Serial Redirection совершенно бесплатно.
Зайдите в панель управления my.serverloft.com, в раздел Server overview.
Там вас интересует:
IP addresses
IP: 123.45.67.89 — его подставлять вместо <ваш_ip>
IPMI Access
URL: 98.76.54.32
User name: root
Password: averylongpassword
Предполагается что вы уже установили на сервер какой-либо дистрибутив Linux, и вам доступна IPMI консоль (она конфигурится только после первой установки). Если консоль не отвечает, попросите передернуть питание сервера, а затем смените порт на котором консоль слушает SSH — брутфорс паролей иногда вешает консоль.
Итак, на выбор два способа. Первый предполагает наличие машины с FreeBSD для сборки своего образа mfsBSD, второй позволит обойтись готовыми наработками. Использование IPMI-консоли совершенно необязательно для второго способа, хотя и там не помешает. Зайдите в IPMI консоль и настройте последовательный порт консоли следующим образом: 9600 None VT100 8Bit. В принципе почти все работает и на более высоких скоростях, но не будем рисковать.
Саму последовательную консоль можно наблюдать там же, ввиде java-апплета, либо подключаться к ней через telnet или ssh — нажать r Console Redirection
Способ первый. Установка вручную
- На машину с FreeBSD, где планируете собирать образ для установки, положите ISO с FreeBSD, в примере ниже это 8.0-RELEASE, и смонтируйте:
fetch ftp://ftp.de.freebsd.org/pub/FreeBSD/ISO-IMAGES-amd64/8.0/8.0-RELEASE-amd64-disc1.iso mdconfig -a -t vnode -u 10 -f 8.0-RELEASE-amd64-disc1.iso mkdir /cdrom mount_cd9660 /dev/md10 /cdrom mdconfig -d -u 10
- Скачайте mfsBSD отсюда и распакуйте.
fetch http://people.freebsd.org/~mm/mfsbsd/mfsbsd-latest.tar.gz tar xzf mfsbsd-latest.tar.gz
- Cкопируйте конфиги mfsBSD из соответствующих .sample
cp mfsbsd-1.0-beta3/conf/loader.conf.sample mfsbsd-1.0-beta3/conf/loader.conf cp mfsbsd-1.0-beta3/conf/rc.conf.sample mfsbsd-1.0-beta3/conf/rc.conf
- Положите в каталог, где вы распаковывали mfsbsd-1.0-beta3 этот патч и примените его
fetch http://mfsbsd.ms1.ru/loft1.patch patch < loft1.patch
- Патч дописывает к conf/loader.conf следующие строчки
boot_multicons="YES" boot_serial="YES" console="comconsole,vidconsole"
- К conf/rc.conf
ifconfig_bge0="DHCP"
- Отредактируйте install_all.sh — это скрипт автоматической инсталляции системы. Подправить можно разбивку по разделам (вам возможно не подходят мои предпочтения), также скрипт добавляет в систему пользователя admin с паролем habrahabr
- Патч дописывает к conf/loader.conf следующие строчки
- Запустите сервер в ServerLoft c Linux rescue console: из панели управления выберите Hardware — Recovery
- Соберите образ и залейте его на сервер
cd mfsbsd-1.0-beta3 make BASE=/cdrom/8.0-RELEASE cat mfsboot.img | ssh root@<ваш_ip> "dd of=/dev/sda bs=1048576"
- Отмонтируйте ISO c машины, где собирался образ mfsBSD
umount /cdrom mdconfig -d -u 10
- Отключите Linux rescue console из панели управления, сервер перезагрузится. Из IPMI-консоли вы сможете наблюдать за загрузкой FreeBSD
- Залогиньтесь на сервер по SSH (если вы все сделали верно и сеть поднялась), или через IPMI-консоль. Логин root, пароль по умолчанию mfsbsd. Запустите скрипт установки:
/install_all.sh
- Проверьте конфигурацию вашей новой системы в /mnt, IP адреса рекомендую прописать статические, затем reboot
- После того как сервер перезагрузился, вы сможете зайти на него по SSH с логином admin, затем su пустит вас без пароля
Способ второй. Автоматическая установка
- Запустите сервер в ServerLoft c Linux rescue console: из панели управления выберите Hardware — Recovery
- После того, как система загрузится, зайдите туда по SSH:
wget http://mfsbsd.ms1.ru/mfsboot.img cat mfsboot.img | dd of=/dev/sda bs=1048576
- Отключите Linux rescue console из панели управления, сервер перезагрузится. Из IPMI-консоли вы сможете наблюдать за загрузкой и установкой FreeBSD, ну или просто подождите
- После того как сервер еще раз перезагрузился, вы сможете зайти на него по SSH с логином admin и паролем habrahabr, затем su пустит вас без пароля
Патч к mfsbsd, используемый для получения этого образа, можно взять тут
Последние шаги
Смените пароли и не забудьте обновить вашу систему до 8.0-RELEASE-p2:
freebsd-update fetch freebsd-update install shutdown -r now
Все вышеописанное тестировалось на сервере PerfectServer L Opteron 1.0 и с FreeBSD 8.0-RELEASE. Для работы на других типах серверов может потребоваться отредактировать скрипт установки на предмет имен сетевых интерфейсов и дисковых контроллеров.
Напоследок пара слов о ServerLoft: берите сервер PerfectServer L Xeon 1.5 — у него также аппаратный RAID на LSI, частота проца — 2.5Ггц против 2.1 у Оптерона. По моим тестам Xeon быстрее процентов на 25.
UPD: На серверах c Xeon 2.0 метод не работает. FreeBSD не видит RAID-контроллер (если он там вообще есть), и, что самое скверное, основную сетевуху.