Украинская Баннерная Сеть

Category: FreeBSD

Мар 10 2010

FreeBSD. Проблемы при загрузке с USB Flash.

Недавно делал роутер на флешке, естественно ставил FreeBSD 8.0 и тут обнаружил, что при загрузке не монтируется корень. Промучался я почти неделю. FreeBSD 7.2 работает, 8.0 не работает. Проблема в новой подсистеме USB. Решается проблема добавлением одной строчки в /usr/src/sys/kern/vfs_mount.c, решение нашел на хабре(http://habrahabr.ru/blogs/bsdelniki/77722/). Патч выглядит так:

Index: sys/kern/vfs_mount.c
===================================================================
RCS file: /usr/src/sys/kern/vfs_mount.c,v
retrieving revision 1.308
diff -u -r1.308 vfs_mount.c
--- sys/kern/vfs_mount.c 5 Jun 2009 14:55:22 -0000 1.308
+++ sys/kern/vfs_mount.c 29 Sep 2009 17:08:25 -0000
@@ -1645,6 +1645,9 @@
options = NULL;
+ /* NASTY HACK: wait for USB sticks to appear */
+ pause("usbhack", hz * 10);
+
root_mount_prepare();
mount_zone = uma_zcreate("Mountpoints", sizeof(struct mount),

Нужно просто в файле /usr/src/sys/kern/vfs_mount.c после строки

options = NULL;

и перед строками:

root_mount_prepare();
mount_zone = uma_zcreate("Mountpoints", sizeof(struct mount)

добавить строку

pause("usbhack", hz * 10);

и пересобрать ядро. Все заведется, проверенно.

Фев 20 2010

FreeBSD. Начальная настройка.

Недавно в статье я описывал настройку FreeBSD, сразу после установки, с помощью sysinstall. Метод этот хороший, правильный, одобряемый мантейнерами FreeBSD, но я им почти никогда не пользуюсь. Я как правило использую ручную настройку. Так привык, да и раздражает меня после sysinstall чистить множественные переопределения одних и тех же системных переменных. Однажды ко мне обратились с проблемой медленной загрузки FreeBSD, первое обследование показало размер rc.conf около 3 мегабайт. За 2 года обслуживания, мой знакомый менял все настройки через sysinstall и не чистил rc.conf, боялся удалить лишнее.
Read more »

Фев 10 2010

Первичная настройка FreeBSD через sysinstall.

Установка FreeBSD описана в статье
После установки мы получили консоль FreeBSD, теперь надо настраивать. В принципе настроить можно вручную, а можно используя программу sysinstall. Выглядит эта программа точно так же, как и инсталятор системы. Первичная настройка заключается в настройке сетевого интерфейса, добавлении пользователя и поднятии sshd. После этого, дальнейшую настройку можно проводить удаленно.
Итак, войдя в систему под rootом, набираем:

sysinstall

Read more »

Фев 09 2010

Установка FreeBSD.

В последнее время все чаще слышно, что интерфейс установки FreeBSD очень не удобен, что он совсем не юзер-френдли и вообще тяжело сообразить, что и как ставить. На самом же деле, установка проста и понятна.
Сейчас я пошагово, в скриншотах, покажу как я обычно ставлю Фрю.
Установку будем вести с компакт диска. Итак, загружаемся с диска и видим:
setup1
Read more »

Фев 02 2010

FreeBSD. Настройка сборки мира(make buildworld).

Недавно попал ко мне сервер небольшой фирмы, стояла на нем FreeBSD 6.0 с момента установки не происходило ни одного обновления. Недавно произошла смена сгоревшей сетевой карты и в соответствии с тем, что тронули сервер, решили его обновить. После того как накатили csupом FreeBSD 7.2, ядро собралось, а вот мир, тот админ, что менял карту, собрать не смог. Сборка вылетала на bsnmp. В общем по итогу обратились ко мне. К слову сказать, сборка на этой машине вещь не быстрая, занимает примерно часа 2, процессор старый.
Read more »

Янв 16 2010

Мониторинг GEOM. geomWatch.

Одним из самых тонких мест серверов являются диски. Для многих апаратных рейд контролеров есть утилиты мониторинга. Есть такая утилита и для GEOM. Относительно недавно она появилась в портах FreeBSD. Она предназначена для проверки состояния компонентов GEOM и в случае отказа или потери каких либо компонент – уведомления сисадмина по электронной почте.
Ставим geomWatch из портов:

cd /usr/ports/sysutils/geomWatch/
make install clean

Read more »

Дек 19 2009

FreeBSD. Обновление версии.

Не так давно, один из моих товарищей обновлял сервер под FreeBSD 7.2 до 8-ки.
Система досталась от когото, кто когда то, как то обслуживал эту фирму. Так часто бывает. Пересмотр настроек, перед пересборкой показал, что конфиг ядра немного неадекватен. Конфиг делали из GENERIC, ну в общем как и все делают, но в нем остались целые залежи ненужных устройств.
Товарищ обновил исходники csupом, и дальше, после правки конфига ядра пошел обновляться. Сборка ядра обломилась на попытке собрать в ядре некий драйвер сказевого диска. Пересмотрев конфиг, товарищь не нашел никаких упоминаний о скази устройствах. В прежнем ядре они зачем то были, хотя в сервере скази устройств и близко не было.
Товарищ почистил сборку, make clean в /usr/src, затем опять начал собирать ядро. Сборка опять вылетела на том же месте. Товарищ пересмотрел все настройки и опять почистил сборку. Все повторилось.
В общем так он и воевал с FreeBSD, пока не почистил вручную /usr/obj/, то есть сделал rm -rf /usr/obj/usr. Это убило остатки сборки от 7.2, остатки сборки драйверов структура которых в 8.0 поменялась и сборка 8.0 не могла их корректно почистить.
После ручного удаления, сборка пошла без ошибок.

Дек 17 2009

FreeBSD. Организовываем резервный канал.

Все больше офисов в своей работе ориентированны на интернет. Пусть даже офис небольшой, но все равно нужен доступ к электронной почте, к VoIP и т.д. и т.п. Организовать второе подключение к другому провайдеру не сложно, но возникает вопрос, как реализовать работу, так что бы переключение происходило с минимальными действиями со строны админа. Для реализации резервного канала нам понадобится сервер с 3-мя сетевыми картами.
Назначение у этих сетевых карт такое:
fxp0 – первая сетевая карта – к ней подключается офис(является шлюзом для локальной сети) – адрес 192.168.1.1/24
fxp1 – первое подключение – основной внешний канал – адрес 192.168.5.2/30 – шлюз 192.168.5.1
fxp2 – второе подключение – резервный внешний канал – адрес 192.168.6.2/30 – шлюз 192.168.6.1
Read more »


Украинская Баннерная Сеть