Linux

Не было у бабы забот.....

И привезли ей (т.е. мне) компьютеров китайских:

Извините за качество, телефоном.

Судя по рассказам, тот секс, который был с Linux в начале 90-х - жалкое подобие того секса, который происходит с этими палочками сейчас.

О новых технологиях

Со страху заменил оставшиеся в сторадж-боксе старые сигейтовские SAS-овские терабайтники (2008-го года) на терабайтные же WD RE4 (SATA). Старые - пусть дискетками поработают.

Результат:

  • +10% к трансфер рейту, было ~630-650Mb/sec на чтение-запись, стало 720-730.
  • Минус 10 градусов к температуре, старые диски грелись до ~42C, нагревая соседей до 35, а теперь 30 градусов, при том что в комнате 22, а ящик стоит в шкафу, который висит на теплой стене).

Чтобы два раза не вставать: в этом же ящике с середины сентября живет 400-ваттный безвентиляторный БП Seasonic. Впечатления самые благоприятные: хрен с ним с шумом, этот питальник холодный. Понятно что гружу я его отсилы ватт на 200 (8x10вт диски, 65вт. CPU, карточки тоже теплые, а значит жрут, вентиляторы крутятся), но 500-вт Thermaltake, который там стоял до того, грелся при такой нагрузке вполне самостоятельно.

Стоит этот питальник неприлично, но если бороться за тишину или температуру, то он - хороший. Во второй сервер купил такой же, потому что тамошний Zalman тоже противно греется.

Домашний стораджбокс: производительность 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.

О сторадж-боксах

Звезды сошлись, руки дошли и я собрал таки стораджбокс, как и собирался уже полгода
Core i5-2300, 8GB RAM, Adaptec 5805, 8x1Tb HDD (6 штук старых Barracuda ES.2 SAS, два новых WD RE4), бутовый SSD, Mellanox Infiniband (2 порта 10G). И даже есть место для еще одного диска, хотя 5" ящики и не обдуваются.

Задача: вынести HDD из рабочей станции (где было 6x1Tb SAS + Adaptec) с целью уменьшения шума под...

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
...

10G дома: новые бенчмарки на Myricom

Опробованная вчера новая бенчмарка (с подсчетом md5 по куче файлов) сделана и для Myricom. Вкратце (сервер, время 1-й попытки, время 2-й попытки)

  • Win7: 2:10,2:09
  • Linux, Samba: 5:10,5:01
  • Linux, iSCSI: 1:37, 1:00

Бенчмарка "копирование Qt" оказалась очень чувствительной к количеству свободной памяти на машине. Что-то оно там префетчит, если памяти много. Как следствие, сравнение копирований между моими записями - неверное занятие. Внутри каждого отдельного поста - консистентно.

Мораль:

  • На крупных потоках один хрен, что IB, что Myricom (ну для IB я намеривал скорости побольше, но это неважно).
  • С Win7-"сервером" Myricom несколько быстрее IB. Не знаю почему.
  • С Linux-сервером - практически один хрен, что по Samba (медленно), что по iSCSI (быстро)
При этом IB-карты дешевле и двухпортовые т.е. на сервер и две WS нужны три карты, а не 4. Ну и SRP, MPI и прочие Infiniband-развлечения. Минусы тоже есть: не поддерживаются маками (Myricom - поддерживается), требуются пляски с IB-стеком, OpenSM опять же.

Завтра расскажу, как Infiniband c FreeBSD сочетается.

10G дома: Infiniband, Linux, Samba, iSCSI, SRP

Для начала картинка. Это SRP (SCSI RDMA Protocol), поднятый на Linux, клиент - Windows 7.

Если сравнивать с картинкой для iSCSI поверх Myricom (вторая картинка в этом посте), то выросла скорость на мелких блоках и нет падения на блоках больше 256к.

Но по порядку.

Гружу линукс, запускаю Samba, меряю. Хреново как-то, сильно хуже (на мелких файлах) чем было на Myricom, кардинально хуже. На iSCSI то же самое,...

10G дома: Myricom, Windows-SMB, iSCSI

Продолжаю развлечения с 10G между двумя рабочими станциями.

Windows - Windows

Запускаю на обеих машинах Win7, на одной делаю Ramdrive на 8G, расшариваю его прямо windows-средствами, запускаю Atto disk benchmark, получаю вот такую картинку:

Каких-то настроек на серверной стороне я не делал, я их и не знаю.

Картинки с Самбы на той же машине (для сравнения) запрятаны в этом посте.

Как видим, на мелких блоках стало побыстрее...

10G дома: Myricom + Samba

Продолжаем развлекаться с 10G. Сначала картинка, чтобы было веселее. Это копирование с локального диска на "NAS"

Под катом - как она получена (и почему NAS в кавычках)

Рассказываю по порядку.

У меня в NAS стоит 4 штуки медленных WD Caviar Green в RAIDZ (и еще парочка - в другом массиве), ожидать от них, что они смогут насытить 10G или, хотя бы, близко подойти к какому-то ограничению на десятке -...

И еще о Linux (holy war!)

Что-то давно я Linux не троллил!

Когда мы делали Спамтест (который стал затем Kaspersky Antispam), чудовищным гемороем было изготовление дистрибутивов для Linux:

  • продукт поставлялся в бинарниках;
  • продукт интегрировался в MTA (штук 5 разных, от Sendmail до Qmail) путем патченья их конфигов;
  • Ну и хотелось поддержать, по возможности, все, что хоть как-то двигается.
С третьей задачей мы не справились, ибо количество способов, которыми расположены стартап-скрипты, конфиги и т.п. - поражало воображение. Имелся список поддерживаемых дистрибутивов (на которых сами тестировали, слава VMWare), а если у вас не оно - ну сами ставьте, документация есть.

Вчера я убедился, что за прошедшие 7-8 лет ситуация не изменилась. Ну вот драйвера для видеокарт ATI (которые бинарные). Казалось бы, ну kernel module, модуль в X11, библиотеки. Ну значит определи архитектуру, версию kernel (если драйвера разные), версию X11 - и ставься себе.

Однако хрен. И комбинация "старый драйвер"/свежий Linux - стабильно не работает (Мне нужен был Catalyst 10.10 а затем 11.1). Ну то есть вот на SuSE 11.4 - не работает, инсталлятор не инсталлирует. И на Убунте свежей - инсталлятор не инсталлирует, а при просьбе --buildpkg "известный ему Linux" - позорно обламывается с диагностикой "ld.so.conf - неизвестный объектный файл", ага, там его пытается линковать.

Если Линукс сдаунгрейдить, то все нормально, во всяком случае те самые 11.1 на SuSE 11.3 встали со свистом.

Ну ладно, у нас в Спамтесте работало разработчиков человек пять-шесть, а то и меньше, занять даже одного из них инсталлятором на fulltime - было непозволительной роскошью. Но ATI может же почти любые ресурсы туда загнать. То ли не загоняют, то ли не помогает.

А почему, собственно? Отчего нет "стандартного" и везде работающего способа поставить модуль в X11? Опять никому не надо?

P.S. В FreeBSD Спамтест ставился со свистом и никаких проблем с инсталляторами там не было. Более того, бинарный package от 5x или 6x скорее всего будет работать в 8x (c соответственно установленным compat), ну разве что кроме milter.

P.P.S. А видеодрайвера в винде апгрейдятся последние год-полтора и вовсе без перезагрузки/перезапуска оконной системы.

Linux A

Вы не поверите, но тулза про которую я спрашивал в прошлом посте называется GNOME System Monitor и делает ровно что надо: и цифрами и графиком и чаще раза в секунду и вообще. В GNOME-based системах должна быть просто с раздачи. Разные CPU можно красить в разные цвета, я просто поленился это делать для 24-х, да и цветов всяко не хватит.

Ей бы еще окошко с interrupt rate и вообще была бы лафа.

P.S. Подозревавшуюся проблему с affinity отловил, она там есть.

Linux Q

Граждане Линуксоводы!

Имею вопрос: есть ли к mpstat какой-нибудь GUI, ну вроде как в винде Performance Monitor? Мне надо смотреть load по ядрам, а то есть подозрение, что программа (чужая) в смысле affinity маленько безобразничает.

Дополнительное пожелание: уметь самплить чаще чем раз в секунду, 100-200 ms были бы в самый раз.

Про mpstat -P ALL я в курсе, только вот ядер - 24 штуки и никакая разумная история, ну хоть за 10 секунд, на экране никак не помещается.

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 переводить. Да и виртуальную рабочую станцию разработчика - тоже.

Суббота для человека или человек для субботы?

Со всевозрастающим изумлением читаю дискуссии про memcpy, glibc, Линуса, Adobe и Дреппера:

(русскоязычные - они свежие, на LWN все уже отшумело три месяца назад).

И думаю я следующую думу: сама тема не оставляет (девелоперов) равнодушной, раз столько понаписали, делит девелоперов на 10 две группы очень четко. Причем, для меня ответ очевиден, равно как он столь же очевиден (но другой) для другой группы.

А значит -...

Сложно даже найти подходящие слова....

... приличествующие анонсу двух ссылок:

Debian OpenSSL Predictable PRNG Toys
Исходное сообщение в DSA: DSA-1571-1 openssl -- predictable random number generator
Удивительный подход: ради ублажения Purify взяли и убрали две нужных (жизненно необходимых!) строчки.

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

Subscribe to Linux