Категорії
FreeBSD Solaris

zfs начинает тупить/притормаживать при заполнении почти всего пула

При заполнении пула почти на 90% (вообще-то у всех по-разному: у кого-то и в 70%, а у кого-то только при 98%) Zfs начинает сильно притормаживать, точнее искать свободное место в пуле, куда-бы записать. Связано это с тем, что по умолчанию установлено слишком большое значение параметра metaslab_min_alloc_size.

Категорії
FreeBSD Linux Solaris

autoreboot after panic

Если вам критичен простой и вы не хотите разбираться с дампом при kernel panic, то можно облегчить себе жизнь, выставив авторебут при kernel panic. Вот как это делается в каждой из ОС.

Внимание

Перезагрузка после Kernel panic имеет и очень серьёзный недостаток, особенно если это изменение не пропадает после первой перезагрузки. В случае, если перезагрузка не устраняет ту ошибку, которая вызывает Kernel panic, система будет останавливаться и перезапускаться вновь и вновь, что может привести к аппаратным ошибкам или потерям данных

Категорії
FreeBSD Solaris

[dtrace] Протоколируем удалённые файлы

Ниже будет приведён скрипт, который позволяет перехватить удаление файла и вывести сообщение на консоль. При этом, на место блока /* INSERT HERE */ можно вставить свои обработчики, которые будут выполняться каждый раз, когда кто-то захочет удалить файл.

Категорії
FreeBSD Solaris

Расширение корневого пула zfs

В статье будем рассмотрен механизм замены дисков корневого пула на диски большей ёмкости. Данный метод подходит как для Solaris-family так и для FreeBSD.

Категорії
FreeBSD Linux Misc, staff, other OpenBSD Solaris

vi/vim и забыли, что нету прав за запись файла

Часто бывают такие ситуации, когда вы открыли через vi/vim файл, сделали очень много изменений и в конце понимаете, что забыли выполнить sudo. Что же делать? Заново править файл очень как не хочется. на помощь приходит такая команда:

:w !sudo tee %

а для Solaris можно ещё и такую

:w !pfexec tee %

После этого выдаётся запрос на ввода пароля и подтверждение, что вы хотите перезаписать файл и всё (с вариантом pfexec запрос пароля не происходит).

Категорії
FreeBSD Misc, staff, other

dirname: not found

Если при обновлении FreeBSD получаем такую ошибку:

===>  include (install)
>> creating osreldate.h from newvers.sh
/usr/src/include/../sys/conf/newvers.sh: dirname: not found

то нужно найти в скрипте /usr/src/sys/conf/newver.sh  найти dirname и прописать полный путь к нему

...
SYSDIR=$(/usr/bin/dirname $0)/..
...

У меня ещё ругалось на команду touch. Так же как и в случае с dirname решило проблему.

Категорії
FreeBSD

Несколько виртуальных интерфейсов через netgraph

Допустим, вам необходимо создать несколько виртуальных интерфейсов, которые будут работать как обычные, не зависимые друг от друга. Это очень легко делается через netgraph. Приведу лишь скрипт, который создаст 3 виртуальных интерфейса, не трогая при этом физический:

Категорії
FreeBSD

Правильная пересборка ядра

Расскажу, как рекомендуется правильно пересобирать ядро, а именно включать, отключать опции и т.д.

1) Создание конфигурационного файла

Создаём пустой файл в /usr/src/sys/`uname -m`/conf , например, kern1 такого содержания:

include GENERIC
ident kern1

Этим мы определили, что использовать будем шаблон GENERIC, а имя нового ядра kern1.

Категорії
FreeBSD Linux OpenBSD Solaris

Меняем скорость и дуплекс сетевой карты

FreeBSD

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

# ifconfig -m nfe0
nfe0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8210b<RXCSUM,TXCSUM,VLAN_MTU,TSO4,WOL_MAGIC,LINKSTATE>
        capabilities=8210b<RXCSUM,TXCSUM,VLAN_MTU,TSO4,WOL_MAGIC,LINKSTATE>
        ether fa:d5:5e:f7:db:ff
        inet 192.168.1.40 netmask 0xffffff00 broadcast 192.168.1.255
        inet6 fe80::f8d5:5eff:fef7:dbff%nfe0 prefixlen 64 scopeid 0x4
        inet 192.168.0.11 netmask 0xffffff00 broadcast 192.168.0.255
        inet 10.11.11.2 netmask 0xffffff00 broadcast 10.11.11.255
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        supported media:
                media autoselect mediaopt flowcontrol
                media autoselect
                media 100baseTX mediaopt full-duplex
                media 100baseTX
                media 10baseT/UTP mediaopt full-duplex
                media 10baseT/UTP
Категорії
FreeBSD Linux Solaris

Порядок запуска стартовых скриптов

FreeBSD

$rcorder /etc/rc.d/* /usr/local/etc/rc.d/*

Linux

$ls /etc/rc`runlevel | cut -d ' ' -f 2`.d | sort

Solaris

$svccfg list

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff