Страница 1 из 1

FreeBSD на серверах Hetzner

Добавлено: 15 мар 2010, 11:29
joker7by
Кто нибудь пробовал 8-RELEASE ставить на немецких серверах Hetzner через ситему rescue?
Собрал из всех мануалов такую петрушку и она поднялась, до этого по мануалу немцев ничего не подымалось, но после пару ребутов пасс на рут вдруг меняется и со старый войти не как.
Кто мог поднять рабочую FreeBSD?
По шагам, что я делал:

Код: Выделить всё

Узнаем настройки сети
Теперь нам необходимо узнать все настройки для работы сети, их можно взять прямо здесь:

DNS:

cat /etc/resolv.conf
nameserver 213.133.98.98
nameserver 213.133.99.99
nameserver 213.133.100.100

IP ( ip: 85.10.193.55, mask: 0xffffffe0 ):

ifconfig re0
re0: flags=8843 metric 0 mtu 1500
options=389b
ether 00:16:17:ea:ff:3d
inet 85.10.193.55 netmask 0xffffffe0 broadcast 85.10.193.63
media: Ethernet autoselect (100baseTX )
status: active


GW ( 85.10.193.33 ):

netstat -rn
Routing tables

Internet:
Destination Gateway Flags Refs Use Netif Expire
default 85.10.193.33 UGS 0 5213 re0
85.10.193.32/27 link#1 UC 0 0 re0
85.10.193.33 00:26:88:76:01:87 UHLW 2 0 re0 634
127.0.0.1 127.0.0.1 UH 0 0 lo0
255.255.255.255 0.0.0.0 UHb 0 0 plip0

Internet6:
Destination Gateway Flags Netif Expire
::1 ::1 UHL lo0
fe80::%lo0/64 fe80::1%lo0 U lo0
fe80::1%lo0 link#3 UHL lo0
ff01:3::/32 fe80::1%lo0 UC lo0
ff02::%lo0/32 fe80::1%lo0 UC lo0

Официальная документация Hetzner.de

Официальный мануал, на основе которого мы будем действовать: http://wiki.hetzner.de/index.php/FreeBSD_installieren

Разбивка диска

Посмотрим, какие диски у нас есть в системе:
ls /dev/ad*
/dev/ad4 /dev/ad4s2 /dev/ad6 /dev/ad6s2
/dev/ad4s1 /dev/ad4s3 /dev/ad6s1 /dev/ad6s3


Итого, видим, что у нас два жестких диска: /dev/ad4 и /dev/ad6, ставить FreeBSD будем на первый (/dev/ad4) из них, т.к. я банально пока не умею делать RAID-1 во FreeBSD.

Создаем на диске один слайс (-I) и переустанавливаем загрузочный код (-B) (жалобы на Geom можно игнорировать):

fdisk -BI /dev/ad4
******* Working on device /dev/ad4 *******
fdisk: Geom not found: "ad4"


В итоге получаем следующую схему:

ls /dev/ad4*
/dev/ad4 /dev/ad4s1


Более подробно:

fdisk /dev/ad4
******* Working on device /dev/ad4 *******
parameters extracted from in-core disklabel are:
cylinders=581421 heads=16 sectors/track=63 (1008 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=581421 heads=16 sectors/track=63 (1008 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 63, size 586072305 (286168 Meg), flag 80 (active)
beg: cyl 0/ head 1/ sector 1;
end: cyl 812/ head 15/ sector 63
The data for partition 2 is:

The data for partition 3 is:

The data for partition 4 is:




Установка загрузчика и разметка дисков

Ставим загрузчик (-B обозначает, что загрузочный код будет взят с файла /boot/boot и записан на диск, а -w делает стандартный label на слайс, как я понял, это некое подобие таблицы разделов, но в пределе слайс ):
bsdlabel -wB /dev/ad4s1


Разбивка разделов

Запускаем редактор label-а на слайсе:
sh
EDITOR=ee
bsdlabel -e /dev/ad4s1

И видим следующую таблицу разделов:

# /dev/ad4s1:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 586072289 16 unused 0 0
c: 586072305 0 unused 0 0 # "raw" part, don't edit



Нажимаем i (дада, Вы угадали, это редактор vi и мы должны перейти в режим редактирования)


Приводим к следующему виду:

# /dev/ad4s1:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: * 16 4.2BSD 0 0
b: 4G * swap 0 0
c: * 0 unused 0 0 # "raw" part, don't edit

Если же у Вас есть требуемая квалификация, то можете разбить диск с отдельными /var, /, /usr и /tmp для этого потребуется примерно следующая схема (но обратите внимание! мой мануал основывается не на ней, а на предыдущей схеме разбивки):


# /dev/ad4s1:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 2G 16 4.2BSD 0 0 # /
b: 20G * swap 0 0
d: 100G * 4.2BSD 0 0 # /var
e: 8G * 4.2BSD 0 0 # /tmp
f: * * 4.2BSD 0 0 # /usr


А почему после d сразу e - потому что "The partition identifier is a single letter in the range `a' to `h' By convention, partition `c' is reserved to describe the entire disk." (отобразил на английском, а очень хотелось покрыть матом).


Нажимаем ESC и сохраняем
Ctrl+D


Теперь наша таблица разделов имеет следующий вид:

ls /dev/ad4*
/dev/ad4 /dev/ad4s1 /dev/ad4s1a /dev/ad4s1b /dev/ad4s1c


При этому в /dev/ad4s1a мы будем ставить систему, а /dev/ad4s1b служит SWAP ом.

Форматируем root раздел в файловую систему UFS:

newfs /dev/ad4s1a



Монтируем root

mount -w /dev/ad4s1a /mnt


Запускаем инсталлятор

sysinstall


Идем в "Custom", "2 Options View/Set various installation options" и значение в поле "Install Root"
заменяем на "/mnt" (для того, чтобы появился диалог редактирования необходимо нажать "пробел") 
в "Release Name", можно попробовать вписать туда "8.0-RELEASE"
и после этого нажимаем Q для выхода в вышестоящее меню.

При установке 8ки ставиться придется с FTP, вот путь (желательно выбирать режим "Passive FTP"):
ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/8.0-RELEASE/

Теперь заходим в "5 Distributions Select distribution(s) to extract" и пробелом выбираем "[X] A Minimal The smallest configuration possible" (либо ставим комплект "User", который более оптимален и не так урезан, я рекомендую именно его) и выходим в главное меню.

Выбираем носитель, с которого будет выполняться установка: "6 Media Choose the installation media type", "6 NFS Install over NFS" и вводим одну из следующих строк в зависимости от необходимой битности дистрибутива (в нашем случае нужна 32 битная версия):

213.133.99.100:/nfs/freebsd/8_32
213.133.99.100:/nfs/freebsd/8_64

Жмём "ОК" потом "NO" "YES" и подтверждаем настройки сети

Теперь для начала установки "7 Commit Perform any pending Partition/Label/Extract actions"

Ждем пока ставится BASE System. Когда выдается запрос "? Visit the general configuration menu for a chance to set any last options?" выбираем No и выходим из меню, далее "X Exit Exit this menu (returning to previous)".

Можно видеть, что инсталлятор поставил нам FreeBSD по пути /mnt:

ls /mnt
.cshrc COPYRIGHT dev libexec proc sbin usr
.profile bin etc media rescue sys var
.snap boot lib mnt root tmp


Последние настройки


Чрутимся в свежеустановленную FreeBSD:
chroot /mnt


Делаем что-то мистическое с ядром (кто расскажет, для чего это, получит плюшку):

cp -Rp /boot/GENERIC/* /boot/kernel/


Открываем конфиг сети:

ee /etc/rc.conf


И вписываем туда следующее:

hostname="rechnername.domain.tld"
sshd_enable="YES"
ifconfig_re0="DHCP"
sendmail_enable="NONE"
fsck_y_enable="YES"
background_fsck="NO"


Заполняем список DNS:
ee /etc/resolv.conf



nameserver 213.133.98.98
nameserver 213.133.99.99
nameserver 213.133.100.100


Заполняем fstab:

ee /etc/fstab



# dev mnt type opt dump pass
/dev/ad4s1b none swap sw 0 0
/dev/ad4s1a / ufs rw 1 1


А для случая с раздельными разделами это будет выглядеть так:

/dev/ad4s1a / ufs rw 1 1
/dev/ad4s1b none swap sw 0 0
/dev/ad4s1d /var ufs rw 1 1
/dev/ad4s1e /tmp ufs rw 1 1
/dev/ad4s1f /usr ufs rw 1 1


Задаем пароль для root:
passwd
***********

Разрешаем руту входить по SSH:

ee /etc/ssh/sshd_config


Там находим строку "#PermitRootLogin no" и заменяем ее на "PermitRootLogin yes"

Теперь выходим из chroot среды посредством нажатия CTRL+D

bsdconfig

Перезагружаемся:
reboot

Re: FreeBSD на серверах Hetzner

Добавлено: 15 мар 2010, 11:50
Ларин
зачем?)
почему не через sysinstall и ftp?

Re: FreeBSD на серверах Hetzner

Добавлено: 15 мар 2010, 11:56
leave
вход по ssh под рутом суть глупость. настройте sudo и забудьте рутовый пасс. ну и, вообще-то, single mode тоже не просто так был придуман.

Re: FreeBSD на серверах Hetzner

Добавлено: 15 мар 2010, 12:10
Berserker
какая разница какой пасс помнить, если есть ssh ключи

Re: FreeBSD на серверах Hetzner

Добавлено: 15 мар 2010, 13:05
joker7by
Ларин писал(а):зачем?)
почему не через sysinstall и ftp?
sysinstall как раз таки используется, а фтп зачем если внутри локалки лежит фряха?
вход по ssh под рутом суть глупость. настройте sudo и забудьте рутовый пасс. ну и, вообще-то, single mode тоже не просто так был придуман.
а что тут настраивать, просто рут по ссх это временное решение,
single mode вроде, как только через квм работает или я ошибаюсь?
какая разница какой пасс помнить, если есть ssh ключи
это можно устроить, но тем не менее что происходит с рутом?

З.Ы. Сервер через 5 или 6 ребут вообще не подымается

Re: FreeBSD на серверах Hetzner

Добавлено: 15 мар 2010, 13:26
Ларин
joker7by писал(а):
Ларин писал(а):зачем?)
почему не через sysinstall и ftp?
sysinstall как раз таки используется, а фтп зачем если внутри локалки лежит фряха?
проще, быстрее, удобнее. не?
а с rescue имеет смысл ставить только если нужен zfs.

Re: FreeBSD на серверах Hetzner

Добавлено: 15 мар 2010, 14:18
joker7by
Ларин писал(а):
joker7by писал(а):
Ларин писал(а):зачем?)
почему не через sysinstall и ftp?
sysinstall как раз таки используется, а фтп зачем если внутри локалки лежит фряха?
проще, быстрее, удобнее. не?
а с rescue имеет смысл ставить только если нужен zfs.
не усёк вашу мысль, вы предлагаете мне поехать в Мюнхен и вставить диск минимальной фряхи, т.е. установить без риске?
Вы наверно прочитали только за начало и конец текста :D

Re: FreeBSD на серверах Hetzner

Добавлено: 15 мар 2010, 14:29
Ларин
да. извиняюсь. читал вскользь.

Re: FreeBSD на серверах Hetzner

Добавлено: 15 мар 2010, 14:51
joker7by
Ларин писал(а):да. извиняюсь. читал вскользь.
ок, в тексте много полезного, не только для нем серверов, но и для локальной установки,
решения пока что нет, если появиться я выложу полный рабочий мануал.

Re: FreeBSD на серверах Hetzner

Добавлено: 16 мар 2010, 13:49
leave
single mode вроде, как только через квм работает или я ошибаюсь?
да, сеть в сингле не подымается. а что, у хетцнера IPMI нету из коробки?
какая разница какой пасс помнить, если есть ssh ключи
PemitRootLogin no
и только. даже с ключами вход под рутом - огромная дырень в безопасности (ключ могут украсть, а парольная защита ключа ломается без особых проблем ужет лет 5-6 как).