Pull to refresh

Установка FreeBSD на сервер в Serverloft

Reading time 4 min
Views 5K
По следам неудачной попытки с 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

Способ первый. Установка вручную


  1. На машину с 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
    
  2. Скачайте mfsBSD отсюда и распакуйте.
    fetch http://people.freebsd.org/~mm/mfsbsd/mfsbsd-latest.tar.gz
    tar xzf mfsbsd-latest.tar.gz
    
  3. 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
    
  4. Положите в каталог, где вы распаковывали 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

  5. Запустите сервер в ServerLoft c Linux rescue console: из панели управления выберите Hardware — Recovery
  6. Соберите образ и залейте его на сервер
    cd mfsbsd-1.0-beta3
    make BASE=/cdrom/8.0-RELEASE
    cat mfsboot.img | ssh root@<ваш_ip> "dd of=/dev/sda bs=1048576"
    
  7. Отмонтируйте ISO c машины, где собирался образ mfsBSD
    umount /cdrom
    mdconfig -d -u 10
    
  8. Отключите Linux rescue console из панели управления, сервер перезагрузится. Из IPMI-консоли вы сможете наблюдать за загрузкой FreeBSD
  9. Залогиньтесь на сервер по SSH (если вы все сделали верно и сеть поднялась), или через IPMI-консоль. Логин root, пароль по умолчанию mfsbsd. Запустите скрипт установки:
    /install_all.sh
  10. Проверьте конфигурацию вашей новой системы в /mnt, IP адреса рекомендую прописать статические, затем reboot
  11. После того как сервер перезагрузился, вы сможете зайти на него по SSH с логином admin, затем su пустит вас без пароля

Способ второй. Автоматическая установка


  1. Запустите сервер в ServerLoft c Linux rescue console: из панели управления выберите Hardware — Recovery
  2. После того, как система загрузится, зайдите туда по SSH:
    wget http://mfsbsd.ms1.ru/mfsboot.img
    cat mfsboot.img | dd of=/dev/sda bs=1048576
    
  3. Отключите Linux rescue console из панели управления, сервер перезагрузится. Из IPMI-консоли вы сможете наблюдать за загрузкой и установкой FreeBSD, ну или просто подождите
  4. После того как сервер еще раз перезагрузился, вы сможете зайти на него по 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-контроллер (если он там вообще есть), и, что самое скверное, основную сетевуху.
Tags:
Hubs:
+23
Comments 53
Comments Comments 53

Articles