Инсталляция FREEBSD на сервер в Serverloft
Я решил опубликовать своё руководство по установке FREEBSD на арендованный сервер c Линукс.
🕛 14.04.2010, 22:57
По какой причине, собственно, я выбрал serverloft.com? За 100$ в мес. безо всяких VAT я заполучил брэндовый стоечный сервер в Германии (хоть и Fujitsu-Siemens), 100гб места на ftp под бэкапы. Из приятных особенностей - в панели управления сервером есть запуск Линукс 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: https://98.76.54.32/
User name: root
Password: averylongpassword
Предполагается что вы уже установили на сервер какой-нибудь установочный пакет Линукс, и вам доступна IPMI консоль (она конфигурится лишь после I-ой установки). Если консоль не отвечает, попросите передернуть питание сервера, а после смените порт на коем консоль слушает SSH - брутфорс паролей временами вешает консоль.
Итак, на выбор 2 метода. I предполагает наличие машины с FREEBSD для сборки собственного образа MFSBSD, II-й даст возможность обойтись готовыми наработками. Применение IPMI-консоли абсолютно необязательно для II-го метода, впрочем и там не помешает. Зайдите в IPMI консоль и настройте последовательный порт консоли так: 9600 None VT100 8bit. В принципе практически все работает и на более высоких скоростях, однако не будем рисковать.
Саму последовательную консоль возможно наблюдать там же, ввиде java-апплета, или подключаться к ней ч/з telnet или ssh - нажать r Console Redirection
Метод I. Инсталляция руками
1. На машину с FREEBSD, где планируете подбирать образ для установки, положите ISO с FREEBSD, в примере ниже это 8.-RELEASE, и смонтируйте:fetch ftp://ftp.de.freebsd.org/pub/FREEBSD/ISO-IMAGES-amd64/8./8.-RELEASE-amd64-disc1.iso mdconfig -a -t vnode -u 10 -f 8.-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.-beta3/conf/loader.conf.sample mfsbsd-1.-beta3/conf/loader.conf cp mfsbsd-1.-beta3/conf/rc.conf.sample mfsbsd-1.-beta3/conf/rc.conf
4. Положите в каталог, где вы распаковывали mfsbsd-1.-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 Линукс rescue console: из панели управления выберите Hardware - Recovery 6. Соберите образ и залейте его на сервер
cd mfsbsd-1.-beta3 make BASE=/cdrom/8.-RELEASE cat mfsboot.img | ssh root@<ваш_ip> "dd of=/dev/sda bs=1048576"
7. Отмонтируйте ISO c машины, где собирался образ MFSBSD
umount /cdrom mdconfig -d -u 10
8. Отключите Линукс rescue console из панели управления, сервер перезагрузится. Из IPMI-консоли вы сможете наблюдать за загрузкой FREEBSD 9. Залогиньтесь на сервер по SSH (если вы все сделали правильно и сеть поднялась), или ч/з IPMI-консоль. Логин root, пароль изначально mfsbsd. Запустите скрипт установки:
/install_all.sh
10. Проверьте конфигурацию вашей новой системы в /mnt, IP адреса рекомендую прописать статические, после reboot 11. Затем как сервер перезагрузился, вы сможете зайти на него по SSH с логином admin, после su пустит вас без пароля
Метод II-й. Автоматическая инсталляция
1. Запустите сервер в SERVERLOFT c Линукс rescue console: из панели управления выберите Hardware - Recovery 2. Затем, как система загрузится, зайдите туда по SSH:wget http://mfsbsd.ms1.ru/mfsboot.img cat mfsboot.img | dd of=/dev/sda bs=1048576
3. Отключите Линукс rescue console из панели управления, сервер перезагрузится. Из IPMI-консоли вы сможете наблюдать за установкой и загрузкой FREEBSD, ну или просто подождите 4. Затем как сервер еще раз перезагрузился, вы сможете зайти на него по SSH с логином admin и паролем habrahabr, после su пустит вас без пароля
Патч к mfsbsd, используемый для приобретения этого образа, возможно взять здесь
Последние шаги
Смените пароли и не забудьте обновить вашу систему до 8.-RELEASE-p2:
freebsd-update fetch freebsd-update install shutdown -r now
Все вышеописанное тестировалось на сервере PERFECTSERVER L Opteron 1. и с FREEBSD 8.-RELEASE. Для работы на иных типах серверов может потребоваться отредактировать скрипт установки на предмет имен сетевых интерфейсов и дисковых контроллеров.
Напоследок парочка слов о SERVERLOFT: берите сервер PERFECTSERVER L Xeon 1.5 - у него тоже аппаратный RAID на LSI, частота проца - 2.5ггц против 2.1 у Оптерона. По моим тестам Xeon скорее % на 25.
UPD: На серверах c Xeon 2. способ не работает. FREEBSD не видит RAID-контроллер (если он там вообще есть), и, что самое скверное, основную сетевуху.