FreeBSD

Q: FreeBSD 10

Два вопроса
  1. Кто-нибудь уже использует FreeBSD 10 в бою?
  2. В апгрейде с 9.2 есть грабли какие-нибудь?

FreeBSD ZFS Q

А вот тут у меня проект на празднички, расширить ZFS с 5x3Tb до 6x3Tb.

Ну значит надо побэкапить, пересобрать, поресторить.

Бэкаплю:

zfs snapshot zdata/files@20140104
zfs send zdata/files@20140104 | zfs recv zfiles/files

zdata - это мой массив, zfiles - пул на диске, вставленном через SATA.

Дальше делаю zpool export zfiles. Размонтировались, типа. Вынимаю диск.

Дальше хочу посмотреть как оно. Опять вставляю диск, zpool import и хрена лысого:

pool broken, репайред быть не может.

Такое было и при хотсвапе через SATA и при хотсвапе через USB-dock.

Вопросы:

  • ЧЯДНТ?
  • какого хрена, собственно? Если сделали export, диск же размонтирован и можно вынимать?

Ну то есть я сейчас спишу 10Tb файликов по сети на NTFS-диски, но злобу уже затаил...

UPD: Дима, Слава, я благодарен за советы. Но вот сейчас я, весь на нервах, еще раз пишу 10Tb файликов, уже на винду (точнее, в два потока, на винде и на FreeBSD, но не суть важно).

Всякие предложенные идеи - я обязательно попробую. Но сначала том надо нарастить, место ж кончается.

FreeBSD 9-STABLE + USB3 = ?

И, блин, алаверды к предыдущему посту.

Флешка, SanDisk Extreme 64Gb USB3, куплена чтобы у FreeBSD-box работать загрузочным диском, SATA-порты кончились. И что бы вы думали:

ugen1.1: <XHCI root HUB 0x1b6f> at usbus1, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen1.2: <Extreme SanDisk>
...

Подземный стук возвращается!

Две недели после установки таймера в HPET все было хорошо. А вчера подземный стук вернулся, а сегодня - повторился.

С теми же симптомами:

  • Cron встал.
  • "часы стоят" - при запуске top и подобного что рефрешится по таймеру - не рефрешится.
  • named: POKED TIMER в логах
  • cat /dev/urandom >/dev/null не поднимает частоту процессора, так и лежит на 200 (это, вероятно, оттого, что таймер
  • ...

Про подземный стук

Рассказываю:

Вот этой вот проблеме

kern.timecounter.hardware=HPET
вроде бы помог. Ну то есть сегодня утром все было хорошо, ничего не замерзло.

named[...]: *** POKED TIMER *** тоже пропали, нету в логах.

Буду продолжать наблюдения.

От тайка они пухли, а от украдки - дохли

Уважаемые ученые!

У меня в подполе происходит подземный стук стала странно себя вести FreeBSD 9.1

А именно: она замерзает.

Это домашний сервер, на котором ночью никаких процессов нет (я в рамках поиска проблемы даже periodic убрал) и утром я нахожу его в следующем состоянии:

  • Оно с виду живое, можно залогиниться
  • Если запустить top или systat - то вместо обновления раз в несколько секунд - экран обновляется раз в секунд 10-30 (а может и медленнее)
  • Если запустить netstat 1, то вместо печати суммарного трафика раз в секунду - печатается заголовок и более ничего не происходит (впрочем, дольше нескольких десятков секунд я не ждал)
  • По reboot - убиваются процессы, а дальше я не знаю т.е. на экран оно ничего не выводит, диски не синкает. Всякий раз перегружаю ресетом.
  • Если делать на машину scp - то идет медленно (~3MB sec), при этом sshd съедает целое ядро, судя по top. Samba тоже работает медленно, вместо 150-250 MB/sec (по 10G) получается скорее 30MB/sec.
  • В логах - тишина, за исключением вот этого вот:
    May  8 00:07:24 home-gw named[1406]: *** POKED TIMER ***
    May  8 00:18:16 home-gw named[1406]: *** POKED TIMER ***
    May  8 00:30:25 home-gw named[1406]: *** POKED TIMER ***
    May  8 00:50:52 home-gw named[1406]: *** POKED TIMER ***
    May  8 01:31:10 home-gw named[1406]: *** POKED TIMER ***
    
Изначально была гипотеза, что оно зависает в каком-то low-power state. Сейчас гипотеза - что просто встает таймер.

Пока переставил таймер с TSC-low на HPET, но что бы еще такое посмотреть?

Проблема усугубляется тем, что специально вызвать такое состояние я не могу, оно к утру становится таким, а в течение дня - не засыпает (ну там жизнь всякая, почта ходит, бэкапы бэкапятся и ведет себя нормально.

Q: perl5 upgrade

А вот у меня, я извиняюсь, на одном из серверов perl 5.8

portupgrade ругается, дескать такой уже не поддерживается, давай, апгрейдься до 5.14 или 5.16

Вопросы

  1. Кто-нибудь так делал по живому? Что ломается?
  2. 5.14 или 5.16?
Из подозрительных мест имею mod_perl2 и DBI, остальное вроде без особых наворотов.

P.S. Конечно, я попробую поднять тестовую копию машинки из бэкапа и потренироваться на кошках. Но вдруг все известно уже и такой апгрейд просто невозможен :) ?

Домашний стораджбокс: производительность iSCSI/SRP, FreeBSD/Linux

Как и обещал, привожу результаты тестирования перформанса нового дискового ящика.

Помня о весенних результатах (когда тестировался доступ по Infiniband к RAM-диску), я не стал тратить много времени на Samba (хотя и померял, см. ниже) и вдумчиво тестировал только iSCSI/SRP варианты.

Hardware

Клиент: Intel i7-2600K без оверклока, 16Gb RAM (DDR3-1600), Windows7. Файрволл выключен, антивирус деинсталлирован (с антивирусом получается весело, но результаты невоспроизводимы).

Сервер: Intel i5-2400 без оверклока, 8GB RAM, Adaptec ASR-5805, 6x Seagate Barracuda ES.2 SAS 1Tb...

Linux TCP performance Q

А вот у меня в FreeBSD, еще с гигабитных времен написано такое вот, к примеру:
net.inet.tcp.recvbuf_auto=1
net.inet.tcp.recvbuf_inc=131072
net.inet.tcp.recvbuf_max=1048576
net.inet.tcp.sendbuf_auto=1
net.inet.tcp.sendbuf_inc=131072
net.inet.tcp.sendbuf_max=1048576
net.inet.tcp.maxtcptw=102400
Ну и так далее, конкретные слова я брал, кажется, из какой-то презентации Сысоева. И работает, на 10G-сети Samba практически упирается в диски, насколько я вижу.

Вопрос: где взять готовых рецептов для тюнинга Linux? Задача - максимальный перформанс у самбы. А то сейчас смешно: запись 560Mb/sec, а чтение - 235, это же явно сеть не того, а не диски. dd гигабайтными блоками пишет 660 Mb/sec, а читает - 640.

Если существенно: Ubuntu Server 12.04, 3.2.0-29-generic #46-Ubuntu SMP. Intel Core-i5 2400, 8GB RAM.

Про Infiniband и FreeBSD (again)

Все-таки Infiniband на линке FreeBSD-FreeBSD получается какой-то очень мучительный:

  • Datagam Mode - устойчиво теряет несколько процентов пакетов на ping -f (icmplim, естественно, задран до небес, разрешающее правило в ipfw - первое). Ну и всякие iperf работают в лучшем случае на гигабит, а обычно и меньше.
  • Connected Mode на первый взгляд лучше: packet loss 0%, гигабитов эффективных примерно 5, но:
    • Установить эту самую Connected Mode между двумя машинами получается не с первого раза. Иногда надо ifconfig down сказать, иногда хватает с одной стороны, иногда надо с двух.
    • Могучий tcp-поток с одной из моих машин на вторую (ftp get /dev/zero /dev/null) может отправить ее в ребут или просто в транс. При этом в другую - все в порядке и я даже zfs send/zfs receive на 6Tb в середине недели успешно исполнил.
При этом на тех же картах, портах, кабелях связка FreeBSD - Windows работает отлично и tcp-потоки никого никуда не отправляют. Но только в Datagram Mode. С нулем потеряных пакетов. Я уже вторую неделю так живу на своей WS, ни одного Ethernet, только IB (только хардкор!).

Да, попытка поднять Connected Mode между FreeBSD и Windows один раз таки удалась. После каких-то перезагрузок, подниманий-опусканий интерфейса и т.п. При этом отвалились пинги с Windows, а вся конструкция прожила минут 20, а потом FreeBSD-шная сторона перезагрузилась.

Не исключено, конечно, что какое-то железо где-то как-то криво, но с Windows все, повторяю, работает.

Такие вот вести с полей.

O ZFS performance

Подтверждается старое правило: чем гуще горшок, тем пуще ZFS

Переставил новый массив из тестовой машины (i7-2.67Ghz) в несколько более медленную (Core2Quad Q9300 @2.5) и сразу вместо 350-360Mbyte/sec на запись получил 250-280.

На скорость диска не могу грешить, zpool scrub в обеих машинах в начале процесса рапортует в районе 500Mb/sec:

 pool: zdata
 state: ONLINE
  scan: scrub in progress since Tue Mar 20 14
...

Про Infiniband FreeBSD-FreeBSD

Тут спрашивали, как работает IB с FreeBSD на FreeBSD.

Вкратце: очень странно работает. Но байты ходят, достаточно быстро, пользоваться можно.

Сначала мне не удалось ЭТО завести (при том, что линк FreeBSD-Windows7 на тех же картах, портах и драйверах работает прекрасно). Но тут удачно подсказали в комментариях, что это место обновилось.

Ну значит csup && make buldworld && make buildkernel, перезагружаемся и оно работает. При этом

  • При неудачном стечении светил, оно может работать в одну сторону
  • ...

Про ZFS, Advanced Format и ashift

Пару лет назад я уже исследовал ZFS на дисках с 4k-сектором, но тогда такой диск в массиве был только один (а остальные три - с 512b секторами) и какой-то значимой разницы я не нарыл.

Кроме того, том был загрузочный, а грузиться с тома где ashift не равен 9 тогдашние бутблоки не умели.

Поэтому овладев пятеркой 3Tb сигейтов я просто обязан был это опробовать.

Рассказываю.

Hardware

  • 5x Seagate ST3000DM001
  • ...

10G дома: Infiniband + FreeBSD

Я тут интересовался про Infiniband и FreeBSD, теперь могу и сам рассказать :)

Datagram mode

Для начала нужна FreeBSD 9. У меня - какая-то, cvsup делал где-то в январе или около того.

Далее все тривиально:

/etc/make.conf:

WITH_OFED=yes
Конфиг ядра (в GENERIC это место не включено) /sys/amd64/conf/OFED:
include GENERIC
options OFED # Infiniband protocol stack and support
options SDP # Sockets Direct
...

Q: Infiniband и FreeBSD

Читаю тут Гугл про Infiniband (по случаю вчерашнего поста) и внезапно выяснил, что 2-портовые карты на eBay продаются вообще по $22 (+ доставка, две карты получаются чуть меньше $100)

Так как я давно вынашиваю мысль поднять дома линк быстрее 1Gbit/s на небольшом пятачке вокруг рабочего стола, я сильно возбудился. Но есть вопросы:

  1. Верно ли я понимаю, что CX4-кабель для Ethernet и Infiniband MicroGigaCN (как его называет Mellanox) и просто банальный 4xSAS (SFF-8470) - это все одно и то же?
  2. Есть ли драйвера для Mellanox Infiniband под FreeBSD9? Или таки светит мне Linux на NAS?
  3. Верно ли я понимаю, что взяв три 2-портовые карты (1-портовых нету) я могу 3 машины соединить в P2P-сеть и внутри каждой пары будут искомые 10G (после вычета оверхеда - 8G data)? В каждой паре заведу свою IP-подсеть, роутинга не надо. Что в такой конструкции будет с subnet manager, можно ли OpenSM-у сказать "этот интерфейс не твой"?

FreeBSD 9 + clang

$ uname -a
FreeBSD home-gw.lexa.ru 9.0-RC2 FreeBSD 9.0-RC2 #14: Sun Nov 13 14:18:10 MSK 2011 lexa@home-gw.lexa.ru:/usr/obj/usr/src/sys/GENERIC amd64
$ cat /etc/make.conf

.if !defined(CC) || ${CC} == "cc"
CC=clang
.endif
.if !defined(CXX) || ${CXX} == "c++"
CXX=clang++
.endif
.if !defined(CPP) || ${CPP} == "cpp"
CPP=clang-cpp
.endif

Страшно - трындец как.

Но все собралось (не без warnings), перезагрузилось и загрузилось. Сейчас попробую то же самое, но под конкретную архитектуру (еще страшнее....)

А llvm/clang я всячески приветствую.

Про перевод часов, таймзону, PHP и Drupal

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

PHP:

  1. У PHP база данных таймзон вшита в пузо и, конечно, не обновляется регулярно.
  2. Но есть pecl-timezonedb, который ее оверрайдит, со свежей базой (последняя имеет номер версии 2011.13), с этим расширением с таймзонами все станет отлично и любимая всеми Europe/Moscow будет работать как полагается по новым правилам.
  3. Но если вы живете под FreeBSD, то там /usr/ports/misc/pecl-timezonedb не обновлялся очень давно, посему:
    • Меняем там в Makefile 2010.9 на 2011.13
    • удаляем distinfo
    • make && make install
  4. Добавляем timezonedb.so в список extensions.ini (на FreeBSD это сделает make install)
  5. Перестартовываем PHP-fastcgi или Apache или что у вас там работает процесс-сервером для PHP
  6. Ура, можно накатить первый стакан.

Drupal 6:

  1. Сам по себе сразу начинает жить правильно (ну, насколько мне показалось). Т.е. таймзона меняется после апдейта PHP-timezonedb с +0300 на +0400 сама.
  2. Но! В Administer-Date-and-time есть настройка про User Configurable time-zone. Если она включена, то пользователю будут показываться даты-времена в его таймзоне. И весь созданный им контент будет иметь время создания рассчитанное из юзерской таймзоны.
  3. Но. Юзерская таймзона специфицирована в секундах смещения от UTC.
  4. Выходов два: или для всех российских пользователей взять и поправить скриптом (по хорошему, с учетом даты регистрации), или просто отменить настройку пользовательских таймзон. Я пошел по второму пути.

О время-время, темпо-темпо

Ну что, сколько у кого серверов перевело время сегодня с утра?

Я вот огорчился Mac OS X-ом: 10.7 ничего не перевела, а 10.6.8 (вышедшая сильно позже весеннего указа о непереводе) - перевела. Сдается мне, TZ database в Apple смотрят редко и неаккуратно. Одна радость, чинить понятно как: взять FreeBSD-шный zoneinfo и скомпилировать и еще обновить ICU. iOS5, по счастью, все сделал правильно, а то было бы совсем неудобно.

FreeBSD, впрочем, тоже не порадовала. 8-ка обновилась сама (но /etc/localtime, там где было не симлинком, пришлось копировать повторно), а на 6.x пришлось руками солнце закатывать. Официально, конечно, end of life там год назад случилась, но обидно же ж.

Linux-ы у меня все свежие - и в порядке. Кто не апдейтился годами - с теми понятно что будет.

С нетерпением жду вечера, хочу посмотреть у какого количества важных для меня сервисов полночь случится в 1:00 (т.е. всякие биллинги и все такое...)

Владельцы 2-3 режимных счетчиков электричества, расскажите, вам их перепрограммировали?

Holy War (Linux vs FreeBSD)

Вынесу из каментов к прошлому посту:

номер раз:

Это значит что с дисковой/fs в линуксе все настолько загадочно и хреново, что у нас ротейт логов на одной из машин роняет ее регулярно раз в месяц (логи то ротейтятся мгновенно, только апач больше не работает) и помогает только reboot -fn. А на десктопе при копировании больших файлов все задумывается так что анекдот про "сейчас дискетка отформатируется..." как раз про современные Линуксовые ядра. Debian/2.6.разные, ext3/4.

...

Linux vs FreeBSD

Не могу не попиарить мегатред про Linux vs FreeBSD (зачин: Рамблер-почта переезжает с FreeBSD на Linux, там же в каментах про аналогичный переезд Яндексовского кластера).

От себя хочу заметить что хотя часть аргументов лично мне кажется неубедительной (на мой взгляд "монолитная система" - это преимущество, а репозиторий бинарных пакетов для больших кластеров все едино надо иметь локальным), остальные аргументы верные:

  • виртуализация;
  • средства разработки (и не только поминаемый valgrind, но и VTune, например);
  • вообще поддержка новых технологий: OpenCL, CUDA (это если брать мои интересы), Java опять же.
  • да и вообще ВСЕ: Linux стал mainstream, а FreeBSD - увы.
То есть, натурально, единственный настоящий плюс, который я вижу у FBSD на сегодня - это ZFS (ну и разные мои личные тараканы: от iptables меня тошнит, а от ipf - нет). Ну и монолитность, да, выбрать "Linux-дистрибутив", где все было бы достаточно свежим, но при этом не долбанутым на всю голову - лично мне достаточно трудно, ну так у меня и опыта такого мало, впрочем.

Пора, короче, домашний сервер на Linux переводить. Да и виртуальную рабочую станцию разработчика - тоже.

Pages

Subscribe to FreeBSD