Re: [freebsd] FreeBSD update/upgrade system/packages automation

2018-05-14 Пенетрантность Alexey Markov
14.05.2018, 14:03, "Aleksandr Khomenko" :
>
> Собственно хочу спросить совета. Кто и как обновляет свой парк FreeBSD 
> серверов. В связи с этим несколько вопросов:
> 1) как вы выполняете обновления системы? (бинарное или из исходников)

И систему, и порты - только из исходников. Имеется небольшая манечка по поводу 
"сборки без всего лишнего".

> 2) как вы выполняете обновления портов?

Jail, в который смонтированы по nullfs нужные каталоги с основной системы, в 
нём с помощью postmaster и нескольких самописных скриптов собирается всё с теми 
опциями, которые мне нужны. Остальные сервера обновляются с репозитария, 
примонтированного по NFS.

> 3) автоматизировали ли вы процедуру обновления? Если да, с помощью каких 
> систем/технологий.

Нет. Периодически что-то в портах ломается, и такие вещи лучше отслеживать в 
ручном режиме. Последний пример - сломанный upload_progress в nginx, из-за 
которого демон не запускался.

-- 
WBR, Alexey Markov.

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Спасите-помогите и уши агрессора

2017-09-27 Пенетрантность Alexey Markov
27.09.2017, 22:12, "Vladimir Sharun" :
> Оба-на!

Прикинь, да?

> https://myrotvorets.center/criminal/markov-aleksej-gennadievich/

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

P.S. Надеялся, что хоть сюда этот маразм с "войной" не дотянется, но нет 
покоя... сознательным и бдительным.

> 27 вересня 2017, 22:05:17, від "Alexey Markov" :
>
>> Предлагаю окончательное решение всех проблем с небратьями!
>> Во-первых, отключить и забанить всех, у кого мыло оканчивается не на .ua, 
>> .eu или .us.
>> Во-вторых, разрешить писать в рассылку только на государственных языках: 
>> украинском и английском.
>> Для гарантии, конечно, хорошо бы ещё пару памятников повалить, но я пока не 
>> знаю, как это сделать в Сети.
>>
>> 27.09.2017, 19:44, "Mstyslav Dubchak" :
>>> всем доброго,
>>>
>>> имхо, т.к. группа все же _UA_FUG, то следует что-то решить с подписчиками и 
>>> прочими клиентами из-за поребрика... война все же идет!

-- 
WBR, Alexey Markov.
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Спасите-помогите и уши агрессора

2017-09-27 Пенетрантность Alexey Markov
Предлагаю окончательное решение всех проблем с небратьями!Во-первых, отключить и забанить всех, у кого мыло оканчивается не на .ua, .eu или .us.Во-вторых, разрешить писать в рассылку только на государственных языках: украинском и английском.Для гарантии, конечно, хорошо бы ещё пару памятников повалить, но я пока не знаю, как это сделать в Сети. 27.09.2017, 19:44, "Mstyslav Dubchak" :> всем доброго,>> имхо, т.к. группа все же _UA_FUG, то следует что-то решить с подписчиками и прочими клиентами из-за поребрика... война все же идет!> сорри за оффтоп!>>  --- Оригінальне повідомлення --->  Від кого: "Vladimir Sharun" >  Дата: 27 вересня 2017, 08:12:40>>>  Всем привет,>>>>  Вы сначала копните что это за организация, откройте связанные сайты, а потом почитайте 111УК Украины.>>>>  Там столько интересного за 5 минут вылезло, лет на 10 за решеткой. -- WBR, Alexey Markov. ___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] samba36

2017-01-23 Пенетрантность Alexey Markov
23.01.2017, 18:00, "Anton Sayetsky" :
>>
>>> Кто до сих пор пользуется samba36, обновился tevent , из-за него не
>>> запускается самба. В логах ничего к этому относящегося, просто падает
>>> smbd - вычислял эмпирическим путем.
>>
>> Сегодня посмотрел из локалки. С версий tevent-0.9.31 samba36-3.6.25_3 таки
>> не работает. В логи системы пишет (много таких записей):
>>
>> Jan 23 16:00:02 gw kernel: sonewconn: pcb 0xc7353ccc: Listen queue
>> overflow: 76 already in queue awaiting acceptance (4 occurrences)
>> Jan 23 16:27:55 gw kernel: sonewconn: pcb 0xc7353ccc: Listen queue
>> overflow: 76 already in queue awaiting acceptance (8 occurrences)
>> Jan 23 16:29:36 gw kernel: sonewconn: pcb 0xc7353ccc: Listen queue
>> overflow: 76 already in queue awaiting acceptance (19 occurrences)
>>
>> В логах самой самбы - тихо. Хотя nmbd в процессах висит. При попытке
>> подключения к шарам ничего не происходит. Лечится откатом до
>> tevent-0.9.28.
>>
> Господа, вижу основания тут для создания PR же.

С 7-го января уже есть: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=215859

Предлагаю всем заинтересованным присоединиться.

-- 
WBR, Alexey Markov.
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] samba36

2017-01-23 Пенетрантность Alexey Markov
23.01.2017, 13:10, "Vasiliy P. Melnik" :
>> Помогло, правда, пришлось ещё Max Protocol = SMB2 в smb.conf добавить - без 
>> этого клиенты не могли к шарам подцепиться. Пока работает, есть время 
>> разобраться с правами на samba44.
>
> Та надо уже перелазить на четверку - я просто юзерами управляю через ldap 
> account manager, не особо хочется от веб-морды уходить на виндовые тулзы для 
> управления доменом

У меня при переходе на 4-ку странный косяк вылез: одна и та же шара на ZFS, 
конфиг 3-ки и 4-ки идентичный, отключено хранение расширенных атрибутов через 
map archive = no. В 3-ке залитые на шару исполняемые файлы нормально с неё 
запускаются, в 4-ке те же самые файлы обламываются: "нет прав на исполнение". 
Причём со стороны винды права на файлы выглядят идентично.

-- 
WBR, Alexey Markov.
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] samba36

2017-01-23 Пенетрантность Alexey Markov
23.01.2017, 11:12, "Vasiliy P. Melnik" :
>> А у меня - падает процесс smbd сразу после запуска. Уже и пересобирал с 
>> разными параметрами, и с бубном плясал - не помогает. Если после падения 
>> перезапустить ручками - висит в памяти, но на запросы клиентов не отвечает.
>
> идентично
>
>> В качестве срочной замены пришлось на samba44 переползти, но там вылезли 
>> отдельные косяки с правами файлов на шаре. Так что если кто-то выяснит, чем 
>> сборка tevent из портов отличается от такой же из пакетов, то поделитесь 
>> инфой.
>
> Номером версии отличается, пока еще в пакетах
> tevent-0.9.28                  Talloc based event loop library
>
> pkg delete tevent\*
> pkg install tevent
> pkg lock tevent-0.9.28
>
> чтобы порт не обновлялся, в /etc/make.conf добавить
>
> .if ${.CURDIR:M*devel/tevent}
> IGNORE=yes
> .endif

Помогло, правда, пришлось ещё Max Protocol = SMB2 в smb.conf добавить - без 
этого клиенты не могли к шарам подцепиться. Пока работает, есть время 
разобраться с правами на samba44.

-- 
WBR, Alexey Markov.
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] samba36

2017-01-22 Пенетрантность Alexey Markov
22.01.2017, 23:32, "Alexander Sheiko" :
>
>>  Кто до сих пор пользуется samba36, обновился tevent , из-за него не
>>  запускается самба. В логах ничего к этому относящегося, просто падает
>>  smbd - вычислял эмпирическим путем.
>>
>>  На текущий момент спасает удаление tevent и установка его из пакетов
>
> Да вроде работает:
>
> FreeBSD 9.3-RELEASE-p34
> samba36-3.6.25_3
> tevent-0.9.31
>
> ps ax | grep smbd
> 70315 ?? Is 0:00,01 /usr/local/sbin/smbd -D -s
> /usr/local/etc/smb.conf
> 70316 ?? I 0:00,00 /usr/local/sbin/smbd -D -s
> /usr/local/etc/smb.conf

А у меня - падает процесс smbd сразу после запуска. Уже и пересобирал с разными 
параметрами, и с бубном плясал - не помогает. Если после падения перезапустить 
ручками - висит в памяти, но на запросы клиентов не отвечает.
 
В качестве срочной замены пришлось на samba44 переползти, но там вылезли 
отдельные косяки с правами файлов на шаре. Так что если кто-то выяснит, чем 
сборка tevent из портов отличается от такой же из пакетов, то поделитесь инфой.

-- 
WBR, Alexey Markov.
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


[freebsd] Re: [freebsd] Re: [freebsd] Re: [freebsd] Клонирование установленных портов.

2015-12-31 Пенетрантность Alexey Markov
01.01.2016, 00:00, "Nike" :
> С Новым Годом!!!
>>    Да ладно вам :) Всех с Новых годом - и дай Бог удачи и поменьше проблем.

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

И мирного неба над головой... Чтобы только праздничные салюты бухали.

-- 
WBR, Alexey Markov.


[freebsd] Установка крэшится сразу после загрузки ядра

2015-02-15 Пенетрантность Alexey Markov
Всех приветствую!

Первый раз за много лет столкнулся с необъяснимым: есть сервер с мамкой Intel 
S1200RP, которая заведомо совместима с Фряхой, стоит единственный, заведомо 
рабочий модуль памяти. Дисковый контроллер и вся периферия отключены. Убунта и 
седьмой оффтопик запускаются и работают на этом "железе" без проблем, но при 
попытке запустить установку 10.1 или 8.4, сразу после загрузки ядра система 
резко перезагружается, вроде как даже без крэш-дампа. Если зайти просто в 
лоадер и загрузить ядро и модули, то они грузятся нормально, но при дальнейшей 
загрузке системы крэш повторяется. Попробовал загрузить mfsBSD - загрузилась 
нормально до момента монтирования md0, что уже намного лучше - как минимум, 
ядро и модули работают, и это внушает надежду.

Основная проблема в том, что сервер с фряхой должен был уехать в дата-центр ещё 
несколько дней назад, и меня с начальником рвут на части, но вчерашний штурм 
проблемы до 5 утра результатов не дал. :-( Поэтому у меня к сообществу две 
большие просьбы: подскажите, с чем может быть связан этот необъяснимый креш 
сразу после загрузки ядра и передачи ему управления лоадером, и есть ли 
возможность где-нибудь скачать любую минимальную сборку Фряхи, лишь бы она дала 
возможность загрузиться в командную строку, разбить диск и вручную залить на 
него образ системы?

-- 
WBR, Alexey Markov.


Re: [freebsd] nginx on openvpn's tun interface

2014-10-28 Пенетрантность Alexey Markov
28.10.2014, 15:53, "Andrey V. Elsukov" :
> On 27.10.2014 14:51, Anton Sayetsky wrote:
>
> У вас OpenVPN сервер на FreeBSD? Тут есть один репорт по утекающим
> mbuf'ам в связке openvpn+tun. Не замечали ничего такого?
>
> В выводе: vmstat -z | awk '/mbuf/ {printf "%16s %s\n", $1, $4 }'
> нет у вас постоянно увеличивающего счётчика?

Я проверил на двух машинках с 8.4-p18, счётчики колеблются, но не растут.

-- 
WBR, Alexey Markov.


[freebsd] Re: [freebsd] Вопрос о FreeBSD 10 + zfs + jails

2014-05-08 Пенетрантность Alexey Markov

Hello, Lystopad!
On May, 08 2014 at 10:26 you wrote to freebsd@uafug.org.ua:

LA> Подскажите, пожалуйста, как оптимальнее и правильней на сегодняшний
LA> день создавать jail на freebsd 10 с zfs? Надо 3 jail создать с
LA> однотипными /usr, /usr/ports для всех. Везде нужно чтобы был общий
LA> /usr/ports и частично что можно еще использовать общего, а также
LA> какие еще возможности zfs можно использовать. Очень не хочется по
LA> несколько раз копировать одно и тоже на все три jails.

Может, мой метод и не каноничен, но использую я его уже более 10 лет,
и проблем ещё ни разу не возникало. Цель - создание множества лёгких
джейлов с минимальным использованием диска и памяти.

Создаю пустой каталог для джейла, через make distrib-dirs создаю в
нём нужные подкаталоги, через make distribution заполняю /etc,
удаляю часть созданных подкаталогов и монтирую через nullfs с основной
системы каталоги /bin /sbin /lib /libexec /usr/bin /usr/sbin /usr/lib
/usr/libexec /usr/libdata /usr/include /usr/share, а также порты и
готовые пакеты.

Потом в джейле редактирую /etc, оставляя запущенным только syslogd,
ставлю нужные пакеты и на этом практически всё.

Три плюча у этого подхода: при обновлении основной системы автоматом
обновляются миры во всех джейлах; каждый джейл занимает на диске только
объём /etc + установленные порты; так как при монтировании через nullfs
номер инод не меняется, все загруженные системные демоны отображаются в
один сегмент памяти (что немаловажно, когда джейлов - в количестве).

--
WBR, Alexey Markov. 



Re: [freebsd] ZFS � ���� ������ - ���� �����-������ �������?

2014-04-15 Пенетрантность Alexey Markov

Hello, skele...@lissyara.su!
On April, 15 2014 at 15:21 you wrote to freebsd@uafug.org.ua:

s> Вы ж просили повысить производительность, поэтому приходится
s> использовать методы повышающие производительность в небольшой ущерб
s> стабильности. Понятное дело, что железо должно быть брендовым (мы
s> используем только Dell), а не самосбор + хорошие UPS+ ...

s> innodb_flush_method=O_DSYNC
s> logbias   throughput
s> vfs.zfs.cache_flush_disable=1

Тогда ещё такой вопрос: вы разносите файлы таблиц и логи по разным
датасетам? А то рекомендуют для первых ставить recordsize=16k, а для
вторых - 128k.

--
WBR, Alexey Markov. 



Re: [freebsd] ZFS � ���� ������ - ���� �����-������ �������?

2014-04-15 Пенетрантность Alexey Markov

Hello, skele...@lissyara.su!
On April, 15 2014 at 11:00 you wrote to freebsd@uafug.org.ua:

s> Вот мои небольшие рецепты.

s> - тюнинг ZFS:

s> atime off
s> recordsize16K

Это уже есть.

s> compression   on

Это попробую. Говорят, lz4 практически не влияет на проц, зато может
существенно снизить дисковый ввод-вывод. Проверю на тестах.

s> primarycache  metadata
s> secondarycachenone

Это есть.

s> logbias   throughput

Отключение лога пула? Гм... У тебя же и дабл-буфер в InnoDB отключен
тоже? Как-то не очень надёжно, на мой взгляд.

s> - тюнинг /boot/loader.con:

s> vfs.zfs.cache_flush_disable=1

Сильно не рекомендуют из-за опасности потери данных при внезапной
перезагрузке. Может, на контроллерах с батарейках и сойдёт, но у
меня не все сервера такие.

s> vfs.zfs.prefetch_disable=1

Это есть.

s> - тюнинг mysql:

s> innodb_flush_method=O_DSYNC

Точно O_DSYNC а не O_DIRECT?

s> skip-innodb_doublewrite

Это тоже есть. Надо только понять, как это с logbias соотносится.

--
WBR, Alexey Markov. 



[freebsd] Re: [freebsd] ZFS и базы данных - есть какие-нибудь рецепты?

2014-04-15 Пенетрантность Alexey Markov

Hello, Volodymyr!
On April, 15 2014 at 13:09 you wrote to Alexey Markov:

VK> # не пишем всё на диск дважды - у базы свой лог вот с ним пусть и
VK> работает logbias=throughput

А в Мускуле двойной буфер не выключен?

??>> И, чтобы два раза не вставать - ещё один вопрос. Планирую установить
??>> на сервер с Постгресом два SSD Intel S3700 в зеркале, под базу данных.
??>> Имеет ли смысл выделить часть этих SSD под ZIL для обычных дисков?

VK> Если ставите в зеркале то почему бы и нет? Просто для кеширования ZIL
VK> на фиг не нужен.

Ну, как я понимаю, ZIL сильно помогает при записи. Не ясно только, будет ли
выигрыш в случае паттерна базы данных. Блин, и потестировать не на чем пока.

--
WBR, Alexey Markov. 



[freebsd] Re: [freebsd] ZFS и базы данных - есть какие-нибудь рецепты?

2014-04-14 Пенетрантность Alexey Markov

Hello, Alexander!
On April, 15 2014 at 10:21 you wrote to Alexey Markov:

??>> Есть несколько серверов под 8-кой, на которых стоит "ZFS на весь
??>> диск", постепенно остальные сервера планируется переводить на такую же
??>> схему. Беда в том, что кое-где используется MySQL (не очень
??>> нагруженный, для веб-сайтов и GlassFish), а в паре мест - Постгрес, и
??>> вот там нагрузка ОЧЕНЬ серьёзная.
??>>
AY> Тюнили? по методу fsync off, побольше чекпойнтов и т.п.?
AY> Дефолтно база очень пессимистическая, и делаёт всё на случай если вдруг
AY> рубанёт свет.

Да, немного потюнил по советам, найденным в Гугле. Быстродействие поднялось,
но с UFS, конечно, не сравнить. Хотя на синтетических тестах провал не такой
уж большой. А вот как оно под реальной нагрузкой себя поведёт... :-/

Побольше чекпоинтов - имеется в виду, пореже их делать? Ведь каждый чекпоинт
- это сброс буферов на диск.

--
WBR, Alexey Markov. 



[freebsd] ZFS � ���� ������ - ���� �����-������ �������?

2014-04-14 Пенетрантность Alexey Markov

Всем, всего, и много!

Собственно, сабж. Ну, кроме как "не использовать БД на ZFS"?

Есть несколько серверов под 8-кой, на которых стоит "ZFS на весь диск",
постепенно остальные сервера планируется переводить на такую же схему.
Беда в том, что кое-где используется MySQL (не очень нагруженный, для
веб-сайтов и GlassFish), а в паре мест - Постгрес, и вот там нагрузка
ОЧЕНЬ серьёзная.

Тестирование показало, что для Постгреса провал производительности
по сравнению с UFS не очень большой (но есть). Для Мускуля с InnoDB
всё оказалось заметно хуже. Поэтому буду благодарен за любые советы
по грамотному использованию MySQL и/или PostgreSQL на ZFS.

И, чтобы два раза не вставать - ещё один вопрос. Планирую установить
на сервер с Постгресом два SSD Intel S3700 в зеркале, под базу данных.
Имеет ли смысл выделить часть этих SSD под ZIL для обычных дисков?
Просто где-то мне попадалась статья, в которой не рекомендовалось
разбивать SSD под несколько задач: типа, либо только ZIL, либо данные.
Поэтому хотелось бы услышать аргументы за и против такого решения.

--
WBR, Alexey Markov. 



[freebsd] Re: [freebsd] Пара вопросов по новой системе пакетов

2014-04-07 Пенетрантность Alexey Markov

Hello, Alexander!
On April, 07 2014 at 15:41 you wrote to freebsd@uafug.org.ua:

??>> Жаль только, что postmaster
??>> пока не умеет обновлять через готовые пакеты для pkg.
??>>
AP> portmaster --packages-only --local-packagedir=
AP> не оно?

Со старой системой пакетов работает, с новой - пишет, что данная
функция пока не реализована, ждите...

--
WBR, Alexey Markov. 



Re: [freebsd] ���� �������� �� ����� ������� �������

2014-04-07 Пенетрантность Alexey Markov

Hello, Vasiliy!
On April, 07 2014 at 13:43 you wrote to Alexey Markov:

VPM> А еще у меня ни на одной машине не получилось апнуть с pkg2ng - все
VPM> время какие-то косяки лезли, какие-то ошибки. После третьей машины,
VPM> апгрейдился через полное удаление пакетов через pkg_deinstall -a, с
VPM> последующей их установкой.

Собственно, я тоже "обновлялся" через полное удаление/установку пакетов.
Заодно и опции сборки для всех портов освежил. Жаль только, что postmaster
пока не умеет обновлять через готовые пакеты для pkg.

--
WBR, Alexey Markov. 



Re: [freebsd] ���� �������� �� ����� ������� �������

2014-04-07 Пенетрантность Alexey Markov

Hello, Sergey!
On April, 07 2014 at 11:19 you wrote to freebsd@uafug.org.ua:

??>> 1. Можно ли заставить pkg upgrade не скачивать новые пакеты в
??>> кеш, а тупо брать их с NFS шары? Даже если в репозитарии путь
??>> указан с file://, новые пакеты дублируются в каталог кеша. :-(
??>>
SVD> можно посмотреть на pkg install

Можно, но это уже не обновление получается, а переустановка. :-/

??>> 2. Можно ли как-то одной командой пересобрать все нуждающиеся
??>> в обновлении порты вместе со всеми портами, которые от них
??>> зависят? Примерно как это делает ключ -r для portmaster, но
??>> только для всех портов.
??>>
SVD> похороны pkg_* никак не запрещают продолжать пользоваться
SVD> portmaster`ом, при желании.

В том-то и дело, что я не нашёл, как с помощью portmaster можно
обновить сразу все нуждающиеся порты и от них зависимые. Ключик
-r работает только для одного порта, -t тоже не помог.

SVD> но схему с "тупо nfs шары" можно заменить на nginx+poudriere,
SVD> например.

Можно, но это никак не повлияет на кеширование пакетов.

--
WBR, Alexey Markov. 



[freebsd] ���� �������� �� ����� ������� �������

2014-04-06 Пенетрантность Alexey Markov

Всем, всего, и много!

Есть с десяток серверов на эхотаге, пакеты для них собираются
на одной машине и потом через NFS или HTTP устанавливаются на
всех остальных. Для пересборки зависимых пакетов и обновления
используется portmaster.

В связи с окончанием поддержки pkg_add и поголовным переходом
на pkg возникла пара вопросов:

1. Можно ли заставить pkg upgrade не скачивать новые пакеты в
кеш, а тупо брать их с NFS шары? Даже если в репозитарии путь
указан с file://, новые пакеты дублируются в каталог кеша. :-(

2. Можно ли как-то одной командой пересобрать все нуждающиеся
в обновлении порты вместе со всеми портами, которые от них
зависят? Примерно как это делает ключ -r для portmaster, но
только для всех портов.

--
WBR, Alexey Markov. 



���-��� ����������� Was: [freebsd] �������� �� static arp

2014-03-06 Пенетрантность Alexey Markov

Hello, Eugene!
On March, 06 2014 at 16:37 you wrote to Alexey Markov:

??>> Меня одно смущает: почему для выбора интерфейса, на котором будет
??>> прописан МАС-адрес (2-й канальный уровень OSI) используются данные
??>> таблицы маршрутизации (3-й сетевой уровень)? Антон Южанинов писал,
??>> что в какой-то момент код ARP-стека и таблицы маршрутизации был
??>> сильно "унифицирован", возможно, в этом причина. Сегодня ночью
??>> проведу контрольный эксперимент.

EG> В восьмерке L2/L3 не разделены.

В общем, предположения подтвердились. Сделал небольшой эксперимент:

# ifconfig vlan66 inet 10.10.10.10/24 alias
# ifconfig

vlan66: flags=8843 metric 0 mtu 1500
   options=103
   ether 00:1e:67:03:14:f4
   inet 172.16.96.2 netmask 0xfc00 broadcast 172.16.99.255
   inet 10.10.10.10 netmask 0xff00 broadcast 10.10.10.255
   media: Ethernet autoselect (100baseTX )
   status: active
   vlan: 66 parent interface: em1
tun0: flags=8051 metric 0 mtu 1500
   options=8
   inet 10.3.5.1 --> 10.3.5.2 netmask 0x
   Opened by PID 9549

# netstat -rn

Internet:
DestinationGatewayFlagsRefs  Use  Netif Expire
default172.16.99.250  UGS 0 19262525 vlan66
10.3.5.0/2410.3.5.2   UGS 085690   tun0
10.3.5.1   link#8 UHS 00lo0
10.3.5.2   link#8 UH  00   tun0
10.10.10.0/24  link#7 U   00 vlan66
10.10.10.10link#7 UHS 00lo0
127.0.0.1  link#6 UH  0 34201800lo0
172.16.96.0/22 link#7 U   0   136783 vlan66
172.16.96.2link#7 UHS 0   280849lo0

# arp -s 10.10.10.100 00:1e:67:03:14:f4 pub
# arp -s 10.10.10.200 00:1e:67:03:14:f4 pub
# arp -n -a

? (10.10.10.10) at 00:1e:67:03:14:f4 on vlan66 permanent [vlan]
? (10.10.10.200) at 00:1e:67:03:14:f4 on vlan66 permanent published [vlan]
? (10.10.10.100) at 00:1e:67:03:14:f4 on vlan66 permanent published [vlan]
? (172.16.96.2) at 00:1e:67:03:14:f4 on vlan66 permanent [vlan]

# arp -d -a
# route add -net 10.10.10.128/25 10.3.5.2
# netstat -rn

Internet:
DestinationGatewayFlagsRefs  Use  Netif Expire
default172.16.99.250  UGS 0 19263778 vlan66
10.3.5.0/2410.3.5.2   UGS 085693   tun0
10.3.5.1   link#8 UHS 00lo0
10.3.5.2   link#8 UH  00   tun0
10.10.10.0/24  link#7 U   0   34 vlan66
10.10.10.10link#7 UHS 00lo0
10.10.10.128/2510.3.5.2   UGS 06   tun0
127.0.0.1  link#6 UH  0 34202440lo0
172.16.96.0/22 link#7 U   0   136799 vlan66
172.16.96.2link#7 UHS 0   280891lo0

# arp -s 10.10.10.100 00:1e:67:03:14:f4 pub
# arp -s 10.10.10.200 00:1e:67:03:14:f4 pub

cannot intuit interface index and type for 10.10.10.200

Таким образом, arp выбирает для записи интерфейс, на который указывает
most specific маршрут для данного адреса. И если тип этого интерфейса
не перечислен в valid_type(), то пользователь идёт на йух. И ключика,
как в линуксе, чтобы явно указать интерфейс, во фришном arp нету. :-(

--
WBR, Alexey Markov. 



Re: [freebsd] �������� �� static arp (�������� ������, ���� �� �����)

2014-03-06 Пенетрантность Alexey Markov

Hello, Eugene!
On March, 06 2014 at 15:25 you wrote to Alexey Markov:

??>> Натыкал printf() в код arp.c, понял, что arp пытается повесить этот
??>> МАС-адрес на tun0, имеющий тип IFT_PPP, на чём и обламывается. Код
??>> в arp.c не сложный, но имеет кучу функций со структурами, так что с
??>> непривычки трудно понять, откуда этот интерфейс всплывает.

EG> openvpn должен СНАЧАЛА запускать arp, а уже потом прописывать роутинг
EG> на клиента в tun0.

Ну, в реальности OpenVPN делает так: берёт сетку и маску из своего конфига,
прописывает один маршрут в tun0 на всю сетку клиентов, делит её на подсети
/30, первую такую подсеть использует для себя, последующие выдаёт клиентам.
И только в момент подключения клиента запускает скрипт, в котором вызывается
команда arp.

На линуксе это не вызывает проблем, так как там arp имеет ключик -i, которым
можно явно указать интерфейс для arp-записи. А на Фряхе arp пытается этот
интерфейс "угадать", и очень похоже, что смотрит при этом в таблицу
маршрутов.

А там вся сеть 172.16.97.0/24 прописана в tun0, а tun0 имеет тип IFT_PPP,
а valid_type(sdl->sdl_type) для этого типа возвращает 0, после чего arp
разводит руками и говорит: "Ну не шмогла я, не шмогла..."

--
WBR, Alexey Markov. 



Re: [freebsd] �������� �� static arp (�������� ������, ���� �� �����)

2014-03-06 Пенетрантность Alexey Markov

Hello, Eugene!
On March, 06 2014 at 15:33 you wrote to Alexey Markov:

??>> arp -s 172.16.97.6 00:1e:67:03:14:f4 pub
??>> cannot intuit interface index and type for 172.16.97.6
??>>
??>> Натыкал printf() в код arp.c, понял, что arp пытается повесить этот
??>> МАС-адрес на tun0, имеющий тип IFT_PPP, на чём и обламывается. Код
??>> в arp.c не сложный, но имеет кучу функций со структурами, так что с
??>> непривычки трудно понять, откуда этот интерфейс всплывает.

EG> Вообще именно эта проблема исправлялась в /usr/sbin/arp.c
EG> четыре года назад в восьмерке:
EG> http://svnweb.freebsd.org/base?view=revision&revision=201614

EG> Ты абсолютно уверен, что у тебя именно 8.4 на проблемном сервере?

Да, уверен, там точно 8.4-RELEASE-p6 стоит. Я даже исходники arp.c
посмотрел - совпадают.

Меня одно смущает: почему для выбора интерфейса, на котором будет
прописан МАС-адрес (2-й канальный уровень OSI) используются данные
таблицы маршрутизации (3-й сетевой уровень)? Антон Южанинов писал,
что в какой-то момент код ARP-стека и таблицы маршрутизации был
сильно "унифицирован", возможно, в этом причина. Сегодня ночью
проведу контрольный эксперимент.

--
WBR, Alexey Markov. 



Re: [freebsd] Re: [freebsd] Re: [freebsd] �������� �� static arp (�������� ������, ���� �� �����)

2014-03-06 Пенетрантность Alexey Markov

Hello, Vasiliy!
On March, 06 2014 at 11:05 you wrote to Eugene Grosbein:

VPM> Нормально и правильно - это разные вещи. Почему тогда не работает?
VPM> Сам же автор сказал, что на других серверах, где сети не пересекаются
VPM> - работает.

Там работает не потому, что сети не пересекаются, а потому, что
не используется proxy-arp. Хотя второе вытекает из первого, да.

--
WBR, Alexey Markov. 



Re: [freebsd] �������� �� static arp (�������� ������, ���� �� �����)

2014-03-06 Пенетрантность Alexey Markov

Hello, Denis!
On March, 05 2014 at 16:54 you wrote to freebsd@uafug.org.ua:

DZ> Может просто всю конструкцию на tap заменить?

Не хотелось бы чисто по организационным причинам: таких
OpenVPN у нас в количестве по разным серверам в разных
городах, конфиги клиентов везде типовые, только адрес
сервера меняется. Поэтому и хочется сохранить единообразие
в подходах, тем более, что схема с proxy-arp - рабочая,
по крайней мере - на линуксах. А вот со Фряхой - разбираюсь
пока.

--
WBR, Alexey Markov. 



Re: [freebsd] �������� �� static arp (�������� ������, ���� �� �����)

2014-03-06 Пенетрантность Alexey Markov

Hello, Vasiliy!
On March, 05 2014 at 19:12 you wrote to Alexey Markov:

VPM> ну так почему тогда не сделать бридж ? какая разница как оно сделано,
VPM> главное чтобы работало.

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

--
WBR, Alexey Markov. 



Re: [freebsd] Re: [freebsd] �������� �� static arp (�������� ������, ���� �� �����)

2014-03-06 Пенетрантность Alexey Markov

Hello, Vasiliy!
On March, 05 2014 at 23:23 you wrote to Denis Zaika:

VPM> Ну каким еще боком можно прицепить на разные интерфейсы одну
VPM> и туже сетку?

А в чём проблема? Тем более, что сетка не одна и та же: сеть /22
на vlan66 и её подсеть /30 (или /32) на tun0. Система просто выберет
most specific маршрут.

--
WBR, Alexey Markov. 



Re: [freebsd] �������� �� static arp (�������� ������, ���� �� �����)

2014-03-06 Пенетрантность Alexey Markov

Hello, Eugene!
On March, 05 2014 at 17:32 you wrote to Alexey Markov:

EG>>> Вот за такие штуки мы и не любим openvpn. Какого фига маска
EG>>> на tun0 задаёт доступные адреса для клиентов?
??>> Да нет, это не маска задаёт, а наоборот - сама маска задаётся
??>> параметром server из openvpn.conf. Просто на других серверах
??>> у меня есть свобода в выборе адресов, и там для OpenVPN отдельные
??>> подсети используются. А в данном конкретном случае адреса оказались
??>> "прибиты гвоздями", вот и решил с proxy-arp заморочиться.

EG> proxy-arp не означает, что маску на p2p-интерфейс надо вешать такую.
EG> Маска на p2p вообще не имеет смысла (за редким исключением).
EG> Что будет, если поставить /32 на tun0?

Сегодня ночью поставил ещё один эксперимент (сервер рабочий, на нём куча
сотрудников удалённо висят, так что экспериментировать приходится только
по ночам), поменял topology на net30, теперь под каждого подключившегося
клиента выдаётся сетка /30 на 4 адреса.

ifconfig (маска на tun0 - /32):

vlan66: flags=8843 metric 0 mtu 1500
   options=103
   ether 00:1e:67:03:14:f4
   inet 172.16.96.2 netmask 0xfc00 broadcast 172.16.99.255
   media: Ethernet autoselect (100baseTX )
   status: active
   vlan: 66 parent interface: em1
tun0: flags=8051 metric 0 mtu 1500
   options=8
   inet 172.16.97.1 --> 172.16.97.2 netmask 0x
   Opened by PID 9416

netstat -rn:

DestinationGatewayFlagsRefs  Use  Netif Expire
default172.16.99.250  UGS 0 19068605 vlan66
127.0.0.1  link#6 UH  0 34161573lo0
172.16.96.0/22 link#7 U   0   135656 vlan66
172.16.96.2link#7 UHS 0   277895lo0
172.16.97.0/24 172.16.97.2UGS 00   tun0
172.16.97.1link#8 UHS 00lo0
172.16.97.2link#8 UH  00   tun0

Результат не изменился :-(

arp -s 172.16.97.6 00:1e:67:03:14:f4 pub
cannot intuit interface index and type for 172.16.97.6

Натыкал printf() в код arp.c, понял, что arp пытается повесить этот
МАС-адрес на tun0, имеющий тип IFT_PPP, на чём и обламывается. Код
в arp.c не сложный, но имеет кучу функций со структурами, так что с
непривычки трудно понять, откуда этот интерфейс всплывает.

--
WBR, Alexey Markov. 



Re: [freebsd] �������� �� static arp (�������� ������, ���� �� �����)

2014-03-05 Пенетрантность Alexey Markov

Hello, Eugene!
On March, 05 2014 at 16:22 you wrote to Alexey Markov:

??>>>> cat openvpn.conf:
??>>>> ...
??>>>> server 172.16.97.0 255.255.255.0
??>>>> push "route 172.16.0.0 255.240.0.0"
??>>>> topology subnet
??>>>> ...
??>>
EG>>> IMO, маску на tun0 надо ставить 255.255.255.255, или хотя бы
EG>>> 255.255.255.252, но не 255.255.255.0. А маршрут /24 в tun0
EG>>> прописывать отдельной командой.
??>>
??>> Адрес и маска на tun0 автоматически прописываются OpenVPN-ом, в
??>> соответствии с параметром server из openvpn.conf (который, заодно,
??>> задаёт и доступные адреса для клиентов).

EG> Вот за такие штуки мы и не любим openvpn. Какого фига маска
EG> на tun0 задаёт доступные адреса для клиентов?

Да нет, это не маска задаёт, а наоборот - сама маска задаётся
параметром server из openvpn.conf. Просто на других серверах
у меня есть свобода в выборе адресов, и там для OpenVPN отдельные
подсети используются. А в данном конкретном случае адреса оказались
"прибиты гвоздями", вот и решил с proxy-arp заморочиться.

--
WBR, Alexey Markov. 



Re: [freebsd] �������� �� static arp (�������� ������, ���� �� �����)

2014-03-05 Пенетрантность Alexey Markov

Hello, Vasiliy!
On March, 05 2014 at 16:28 you wrote to Alexey Markov:

??>> Адрес и маска на tun0 автоматически прописываются OpenVPN-ом, в
??>> соответствии с параметром server из openvpn.conf (который, заодно,
??>> задаёт и доступные адреса для клиентов). Наверное, можно подобрать
??>> параметры OpenVPN так, чтобы на tun0 прописывалась маска /30, и потом
??>> для каждого клиента в скрипте подключения добавлять свой маршрут, но я
??>> сомневаюсь, что это сработает, так как к моменту запуска скрипта адрес
??>> подсети клиента уже будет прописан на tun0, и arp опять не сможет
??>> решить, к какому интерфейсу относится указанный МАС-адрес, к tun0 или
??>> vlan66.
??>>
??>> Но больше всего меня смущает то, что раз TUN вообще не может иметь
??>> МАС-адреса, то как arp вообще может запутаться в ОДНОМ оставшемся
??>> интерфейсе vlan66?

VM> Кстати - вот только заметил. tun - этот интерфейс для роутинга
VM> используется. Какой на роутинге может быть арп?

Никакого не может. Потому он и прописывается на vlan66. Точнее, должен
бы, но - увы. В линуксе это решается просто явным указанием нужного
интерфейса, но фришный arp такого ключика не имеет. :-(

VM> ну и я уже молчу об одной сетке на 2-ух интерфейсах. Для этого дела
VM> надо использовать tap

Не обязательно. TUN вместе с proxy-arp зачастую выгоднее, чем TAP,
и эта схема реально рабочая... если б не проблемы с arp на Фряхе.

По tcpdump видно, что пакеты от клиента нормально уходят в сеть
за OpenVPN, внешний хост пытается на них ответить, шлёт ARP-запрос,
но ответа на него не получает - потому что на сервере OpenVPN в
arp таблице адрес клиента не добавился. Точнее, на линуксах он
нормально добавляется, а вот Фряха путается. И это огорчает, да. :-(

IP 172.16.97.2 > 172.16.99.250: ICMP echo request, id 1, seq 33, length 40
ARP, Request who-has 172.16.97.2 tell 172.16.99.250, length 46
ARP, Request who-has 172.16.97.2 tell 172.16.99.250, length 46
ARP, Request who-has 172.16.97.2 tell 172.16.99.250, length 46
IP 172.16.97.2 > 172.16.99.250: ICMP echo request, id 1, seq 34, length 40
ARP, Request who-has 172.16.97.2 tell 172.16.99.250, length 46
ARP, Request who-has 172.16.97.2 tell 172.16.99.250, length 46
ARP, Request who-has 172.16.97.2 tell 172.16.99.250, length 46

--
WBR, Alexey Markov. 



Re: [freebsd] �������� �� static arp (�������� ������, ���� �� �����)

2014-03-05 Пенетрантность Alexey Markov

Hello, Eugene!
On March, 05 2014 at 15:16 you wrote to Alexey Markov:

??>> cat openvpn.conf:
??>> ...
??>> server 172.16.97.0 255.255.255.0
??>> push "route 172.16.0.0 255.240.0.0"
??>> topology subnet
??>> ...

EG> IMO, маску на tun0 надо ставить 255.255.255.255, или хотя бы
EG> 255.255.255.252, но не 255.255.255.0. А маршрут /24 в tun0
EG> прописывать отдельной командой.

Адрес и маска на tun0 автоматически прописываются OpenVPN-ом, в соответствии
с параметром server из openvpn.conf (который, заодно, задаёт и доступные
адреса для клиентов). Наверное, можно подобрать параметры OpenVPN так, чтобы
на tun0 прописывалась маска /30, и потом для каждого клиента в скрипте
подключения добавлять свой маршрут, но я сомневаюсь, что это сработает,
так как к моменту запуска скрипта адрес подсети клиента уже будет прописан
на tun0, и arp опять не сможет решить, к какому интерфейсу относится
указанный МАС-адрес, к tun0 или vlan66.

Но больше всего меня смущает то, что раз TUN вообще не может иметь
МАС-адреса, то как arp вообще может запутаться в ОДНОМ оставшемся интерфейсе
vlan66?

--
WBR, Alexey Markov. 



Re: [freebsd] �������� �� static arp (�������� ������, ���� �� �����)

2014-03-05 Пенетрантность Alexey Markov

Hello, Eugene!
On March, 05 2014 at 14:41 you wrote to Alexey Markov:

??>> Имеется сервер на FreeBSD 8.4-RELEASE-p6, на интерфейсе em1
??>> создан VLAN #66 с сеткой 172.16.96.0/22 (именно /22!), других
??>> адресов на сервере нет. Пытаюсь настроить на нём OpenVPN 2.3.2
??>> так, чтобы он выдавал клиентам адреса из сетки 172.16.97.0/22,
??>> с использованием proxy-arp. Но при попытке добавления записи
??>> в ARP таблицу я получаю:
??>>
??>> /usr/sbin/arp -s 172.16.97.2 00:1e:67:03:14:f4 pub
??>> cannot intuit interface index and type for 172.16.97.2
??>>
??>> Судя по всему, проблема эта давняя. По крайней мере, в Инете
??>> полно упоминаний о ней - вот, например, тред с участием
??>> Anton Yuzhaninov ещё от 2010 года:
??>>
??>> 
http://freebsd.1045724.n5.nabble.com/net-mpd5-proxy-arp-don-t-work-on-FreeBSD-8-td4012079.html

EG> Тогдашнюю проблему чинили и в 8.4 её быть не должно.

EG> Не через openvpn, вручную запустив arp -s, удаётся создать 
proxy-запись?


Если OpenVPN запущен, и на tun0 прописан адрес 172.16.97.1, то нет:

# arp -s 172.16.97.2 00:1e:67:03:14:f4 pub
cannot intuit interface index and type for 172.16.97.2

Похоже, система не может определить, на какой интерфейс этот МАС-адрес
добавлять, vlan66 или tun0. Но ведь у TUN не может быть МАС-адреса! Или
я чего-то не понимаю?

Если же OpenVPN выключен, то всё работает:

# arp -s 172.16.97.2 00:1e:67:03:14:f4 pub
# arp -n -a
? (172.16.99.250) at b4:99:ba:82:e7:00 on vlan66 expires in 586 seconds 
[vlan]

? (172.16.96.2) at 00:1e:67:03:14:f4 on vlan66 permanent [vlan]
? (172.16.97.2) at 00:1e:67:03:14:f4 on vlan66 permanent published [vlan]

В линуксовом arp интерфейс можно указать явно, а вот под эхотагом - увы. :-(

--
WBR, Alexey Markov. 



Re: [freebsd] �������� �� static arp (�������� ������, ���� �� �����)

2014-03-05 Пенетрантность Alexey Markov

Hello, Anton!
On March, 05 2014 at 13:24 you wrote to freebsd@uafug.org.ua:

??>> Имеется сервер на FreeBSD 8.4-RELEASE-p6, на интерфейсе em1
??>> создан VLAN #66 с сеткой 172.16.96.0/22 (именно /22!), других
??>> адресов на сервере нет.

AY> 172.16.96.0/22 это 172.16.96.0 - 172.16.99.255

??>> Пытаюсь настроить на нём OpenVPN 2.3.2
??>> так, чтобы он выдавал клиентам адреса из сетки 172.16.97.0/22,

AY> А такой сети быть не может. Наверно 172.16.97.0/24 ?

Блин, скопипастил, а маску поменять забыл. Да, конечно же /24.

??>> с использованием proxy-arp. Но при попытке добавления записи
??>> в ARP таблицу я получаю:
??>>
??>> /usr/sbin/arp -s 172.16.97.2 00:1e:67:03:14:f4 pub
??>> cannot intuit interface index and type for 172.16.97.2
AY> ...skip...
??>> vlan66: flags=8843 metric 0 
mtu 1500

??>> options=103
??>> ether 00:1e:67:03:14:f4
??>> inet 172.16.96.2 netmask 0xfc00 broadcast 172.16.99.255
??>> media: Ethernet autoselect (100baseTX )
??>> status: active
??>> vlan: 66 parent interface: em1
??>> tun0: flags=8051 metric 0 mtu 1500
??>> options=8
??>> inet 172.16.97.1 --> 172.16.97.1 netmask 0xff00
??>> Opened by PID 97556

AY> Попробуй прописать 72.16.97.1 (tunnel endpoint) как alias на vlan66 а
AY> клиентам выдавать ip начиная с 72.16.97.2

М-м-м... Так 97.1 вроде как атоматом на tun0 прописывается при запуске
OpenVPN, а клиенты и так адреса начиная с 97.2 получают, так как у меня
topology subnet в openvpn.conf прописано.

Не будет ли 172.16.97.1 на tun0 конфликтовать с таким же адресом на vlan66?

AY> Чтобы получалось что то вида
AY> tun0: flags=8051 metric 0 mtu 1500
AY>   options=8
AY>   inet 172.16.97.1 --> 172.16.97.2 netmask 0xff00
AY> И mtu на tun0 должен быть не 1500 а меньше.

AY> А вообще зря в своё время ARP-стэк в коде совместили с L3 таблицей
AY> маршрутизации. Это немного уменьшило объем copy-paste в коде (хотя
AY> возможны и другие методы уменьшить дублирование кода), но породило
AY> ворох разных проблем.

Меня вот что смущает: по идее, сообщение "cannot intuit interface index
and type for 172.16.97.2" означает, что система не смогла определить
интерфейс, которому принадлежит сетка с данным адресом. Но у меня-то
вообще только один реальный интерфейс! (на tun, как я понимаю, никаких
МАС-адресов нет)

Говорят, в 7-ке такая схема ещё работала, а в 8-ке уже что-то поломали.
Неужели с тех пор никто этой фичей не пользуется?

--
WBR, Alexey Markov. 



[freebsd] �������� �� static arp (�������� ������, ���� �� �����)

2014-03-04 Пенетрантность Alexey Markov

Всем, всего, и много!

Имеется сервер на FreeBSD 8.4-RELEASE-p6, на интерфейсе em1
создан VLAN #66 с сеткой 172.16.96.0/22 (именно /22!), других
адресов на сервере нет. Пытаюсь настроить на нём OpenVPN 2.3.2
так, чтобы он выдавал клиентам адреса из сетки 172.16.97.0/22,
с использованием proxy-arp. Но при попытке добавления записи
в ARP таблицу я получаю:

/usr/sbin/arp -s 172.16.97.2 00:1e:67:03:14:f4 pub
cannot intuit interface index and type for 172.16.97.2

Судя по всему, проблема эта давняя. По крайней мере, в Инете
полно упоминаний о ней - вот, например, тред с участием
Anton Yuzhaninov ещё от 2010 года:

http://freebsd.1045724.n5.nabble.com/net-mpd5-proxy-arp-don-t-work-on-FreeBSD-8-td4012079.html

На всякий случай, привожу вывод некоторых команд:

ifconfig:

em1: flags=8843 metric 0 mtu 1500
   
options=4219b
   ether 00:1e:67:03:14:f4
   media: Ethernet autoselect (100baseTX )
   status: active
vlan66: flags=8843 metric 0 mtu 1500
   options=103
   ether 00:1e:67:03:14:f4
   inet 172.16.96.2 netmask 0xfc00 broadcast 172.16.99.255
   media: Ethernet autoselect (100baseTX )
   status: active
   vlan: 66 parent interface: em1
tun0: flags=8051 metric 0 mtu 1500
   options=8
   inet 172.16.97.1 --> 172.16.97.1 netmask 0xff00
   Opened by PID 97556

netstat -rn:

DestinationGatewayFlagsRefs  Use  Netif Expire
default172.16.99.250  UGS 0 18840712 vlan66
127.0.0.1  link#6 UH  0 34110297lo0
172.16.96.0/22 link#7 U   0   134297 vlan66
172.16.96.2link#7 UHS 0   274367lo0
172.16.96.6link#7 UHS 0 3927lo0 =>
172.16.96.6/32 link#7 U   00 vlan66
172.16.97.0/24 172.16.97.1UGS 07   tun0
172.16.97.1link#8 UH  05   tun0

cat openvpn.conf:

...
local 172.16.96.2
port 1194
proto udp
dev tun

server 172.16.97.0 255.255.255.0
push "route 172.16.0.0 255.240.0.0"
topology subnet

script-security 2
client-connect/usr/local/etc/openvpn/client-connect
client-disconnect /usr/local/etc/openvpn/client-disconnect
...

Есть какие-нибудь идеи, как можно победить static arp в такой
ситуации?

--
WBR, Alexey Markov. 



Re: [freebsd] Re: [freebsd] ����� ��� ����������� 3ware: � ��� ��� ����� � SSD?

2014-02-14 Пенетрантность Alexey Markov

Hello, Anton!
On February, 14 2014 at 16:19 you wrote to freebsd@uafug.org.ua:

??>> Набортные SATA на мамке сервера - ещё 3 Gb/s, на ICH10R. Не знаю даже,
??>> поддерживает ли он TRIM.
AY> Насколько понимаю многие SSD все равно не работают быстрее 3 Gb/s.

Ну, не знаю... У меня дома старенький уже OCZ Vertex 4 выдаёт 350 на запись
и почти 500 на чтение. Линейное, разумеется.

--
WBR, Alexey Markov. 



Re: [freebsd] Re: [freebsd] ����� ��� ����������� 3ware: � ��� ��� ����� � SSD?

2014-02-14 Пенетрантность Alexey Markov

Hello, Vasiliy!
On February, 13 2014 at 16:14 you wrote to Alexey Markov:

??>> Потому и спрашиваю "рецепты успеха" - наверняка кто-то уже
??>> с такой задачей сталкивался.
VPM> Конечно сталкивался - выкинул raid, перешел на zfs

Тогда - следующий вопрос(ы)... ;-)

А случаи выхода из строя SSD уже были? Как ZFS их переживает?

Через что SSD подключены, через отдельный контроллер или сразу
к мамке?

Имеется ли какая-нибудь информация, насколько ZFS "тяжелее" для
SSD по сравнению с UFS2, например - из-за CoW и бОльшего размера
записываемых метаданных?

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

--
WBR, Alexey Markov. 



[freebsd] Re: [freebsd] Опять про контроллеры 3ware: а как они живут с SSD?

2014-02-14 Пенетрантность Alexey Markov

Hello, Владимир!
On February, 13 2014 at 18:12 you wrote to freebsd@uafug.org.ua:

??>>> Конечно сталкивался - выкинул raid, перешел на zfs

ВД> Опередили - хотел предложить подключить SSD к набортным портам мамы
ВД> и на них вынести критические для IOPS данные. Gmirror или zfs mirror
ВД> - дело вкуса и зависит от специфики задачи.

Набортные SATA на мамке сервера - ещё 3 Gb/s, на ICH10R. Не знаю даже,
поддерживает ли он TRIM. Кстати, а насколько ZFS будет "тяжелее" для
SSD (по записи), чем UFS2? Я думаю, что небольших размеров SSD может
быть выгоднее не городить ZFS с её CoW, а сделать небольшое зеркало
средствами gmirror.

ВД> Текущие диски можно оставить как есть для прочих данных и локальных
ВД> бэкапов. 10/15k rpm диски имеет смысл брать, если бюджета на SSD
ВД> нужного объёма катастрофически не хватает, и прирост в 50-100%
ВД> достаточен для задачи.

Боюсь, 50% не спасут отца русской демократии, а винты на 15k rpm могут
и поджарить сервер, несмотря на кондиционирование. Ладно, буду искать
обходные варианты с SSD.

--
WBR, Alexey Markov. 



[freebsd] Re: [freebsd] Опять про контроллеры 3ware: а как они живут с SSD?

2014-02-13 Пенетрантность Alexey Markov

Hello, Volodymyr!
On February, 13 2014 at 15:43 you wrote to Alexey Markov:

??>> Возникла насущная необходимость на одном удалённом сервере
??>> с контроллером 3ware 9690SA резко увеличить число IOPS на
??>> разделе с базой данных. Очевидное решение - поставить пару
??>> SSD - наткнулось на отсутствие каких-либо упоминаний о TRIM
??>> в документации на контроллер. Через четыре дня переписки с
??>> техподдержкой те сказали, что "TRIM не поддерживается и не
??>> будет поддерживаться":
??>>
??>> http://mycusthelp.info/LSI/_cs/AnswerDetail.aspx?&inc=8039

VK> Ну там же явно сказано что для IT поддерживается. Если вас
VK> вполне устраивает железка в роли HBA то почему бы и нет?

Так то для HBA (у них два типа прошивки), а у меня - полноценный
RAID, там прошивка только одна.

Подозреваю, что даже если подцепить SSD как single disk и объединить
их уже средствами системы в gmirror, то контроллер всё равно не
пропустит команду TRIM до устройства. :-/

Потому и спрашиваю "рецепты успеха" - наверняка кто-то уже с такой
задачей сталкивался.

--
WBR, Alexey Markov. 



[freebsd] ����� ��� ����������� 3ware: � ��� ��� ����� � SSD?

2014-02-13 Пенетрантность Alexey Markov

Всем, всего, и много!

Возникла насущная необходимость на одном удалённом сервере
с контроллером 3ware 9690SA резко увеличить число IOPS на
разделе с базой данных. Очевидное решение - поставить пару
SSD - наткнулось на отсутствие каких-либо упоминаний о TRIM
в документации на контроллер. Через четыре дня переписки с
техподдержкой те сказали, что "TRIM не поддерживается и не
будет поддерживаться":

http://mycusthelp.info/LSI/_cs/AnswerDetail.aspx?&inc=8039

Собственно, в связи с этим у меня два вопроса:

1. Кто-нибудь использует SSD диски на 3ware контроллерах?
И если да - то как вы обходите проблему "мусора" без TRIM?

2. Если с SSD всё действительно безнадёжно, то имеет ли смысл
ставить какие-нибудь "рейдовые" серии дисков на 10/15 krpm?
Есть какие-нибудь рекомендации по выбору моделей?

--
WBR, Alexey Markov. 



Re: [freebsd] ������ �� 3ware 9690SA-4I ��� ������� �����������

2014-02-06 Пенетрантность Alexey Markov

Hello, Sergey!
On February, 06 2014 at 16:34 you wrote to FreeBSD List:

??>> Там на контроллере батарейка стоит, обещают 7 дней сохранности данных
??>> в случае выключения.
SVD> что совершенно не означает, что в Вашей ситуации оно продержит 7 дней.
SVD> сколько батарейке-то той уже?
SVD> вот у меня в 1 месте такое, серверу не знаю сколько лет, "мой" он
SVD> меньше 2 лет:
SVD> mfi0: 13425 (444952710s/0x0008/FATAL) - Battery has failed
SVD> and cannot support data retention. Please replace the battery

Батарейку пол-года назад поставили, каждую неделю она самозаряжается и
отчитывается об этом в логах. Ещё можно через tw_cli её статус смотреть.

Хотя да, литий-полимерные батареи больше трёх-четырёх лет редко живут.

--
WBR, Alexey Markov. 



[freebsd] Re: [freebsd] Ошибки на 3ware 9690SA-4I при обычном копировании

2014-02-06 Пенетрантность Alexey Markov

Hello, Volodymyr!
On February, 06 2014 at 13:46 you wrote to Alexey Markov:

??>> Ох... У этого сервера вылезла ещё одна проблема, не получается
??>> попасть в БИОС через удалённую IPMI-консоль. Так что в случае
??>> неудачной прошивки контроллера я получу очень дорогой "кирпич"
??>> в очень далёкой стране. :-/
VK> Можно поробовать настроить доступ к IPMI через ipmitools. Там есть
VK> bmc-config с помощью которого можно поковырять настройки IPMI не
VK> перегружаясь.

Да не, сам-то IPMI работает нормально. А вот во время перезагрузки
не даёт зайти в БИОС - тупо игнорирует все нажатия клавиш на клаве.
Очень иногда это получается сделать через SOL - но потом оно снова
виснет в самый неподходящий момент. Обновление БИОС и смена настроек
в таких условиях превращаются в азартную игру в "русскую рулетку".

А вот после загрузки системы IPMI работает нормально, хоть и медленно.

--
WBR, Alexey Markov. 



[freebsd] Re: [freebsd] Ошибки на 3ware 9690SA-4I при обычном копировании

2014-02-06 Пенетрантность Alexey Markov

Hello, Volodymyr!
On February, 06 2014 at 13:52 you wrote to Alexey Markov:

??>> Ох... У этого сервера вылезла ещё одна проблема, не получается
??>> попасть в БИОС через удалённую IPMI-консоль. Так что в случае
??>> неудачной прошивки контроллера я получу очень дорогой "кирпич"
??>> в очень далёкой стране. :-/

VK> Кстааааати, совсем забыл. Последние пара апдейтов Java идёт с
VK> вырубленым по умолчанию профилем безопасности для полного доступа к
VK> локальной машине. Как результат встроенный KVM от iLO и DRAC под виндой
VK> пахать не будет (из того что было проверить). Нужно ставить шестую яву,
VK> ковырять настройки (это не пробовал) или ходить с фри - у нас OpenJDK с
VK> itweb работает без проблем.

У меня Джава-прилабуда для IPMI нормально заработала в 7-й Джаве, как
только я занёс УРЛ сервера в список исключений. Профиль безопасности
менять не пришлось.

--
WBR, Alexey Markov. 



Re: [freebsd] ������ �� 3ware 9690SA-4I ��� ������� �����������

2014-02-06 Пенетрантность Alexey Markov

Hello, Anton!
On February, 06 2014 at 13:51 you wrote to freebsd@uafug.org.ua:

??>> Посмотрел через gstat, iostat и top -m io, что больше всего винт
??>> грузит. Оказалось, Постгрес постоянно что-то пишет на диск, причём с
??>> хорошей скоростью - до 15-20 мегабайт в секунду. Скорее всего, это
??>> WAL-ы для репликации со вторым сервером и сессии веб-движка.
??>> Подозреваю, что при запуске dd винты просто "захлёбываются", упираясь
??>> в потолок по IOPS. Непонятно, правда, почему контроллер из-за этого
??>> дохнет. :-(

AY> Для нагруженного PostgreSQL лучше WAL выносить на отдельный HDD.

На том сервере всего два винта в "зеркале". Предложил хозяевам добавить
ещё два и перенести на них БД - хотя бы не будет с приложением драться
за ввод/вывод.

AY> Или можно fsync для WAL отключить, но это чревато потерей последних
AY> коммитов при потери питания или hard reset.

Там на контроллере батарейка стоит, обещают 7 дней сохранности данных
в случае выключения. Сейчас почитаю маны на Постгрес и попробую аккуратно
выключить fsync и иже с ним, хотя бы на время - посмотрю, что это даст.

P.S. Жаль, никто не написал geom класс для прозрачного проброса запросов
к нижестоящему провайдеру с параллельным подсчётом их статистики. Какое
было бы подспорье для решения любых проблем с дисковой подсистемой!

--
WBR, Alexey Markov. 



Re: [freebsd] ������ �� 3ware 9690SA-4I ��� ������� �����������

2014-02-05 Пенетрантность Alexey Markov

Hello, Vasiliy!
On February, 05 2014 at 16:31 you wrote to Alexey Markov:

??>> После прошивки контроллера сервер сразу перезагружать
??>> надо, или он некоторое время может поработать до плановой
??>> перезагрузки?
VPM> по перезагрузки

Надеюсь, это означает "может поработать ДО перезагрузки"? ;-)

??>> А главное - при перепрошивке контроллера его настройки
??>> сохраняются, или их надо заново настраивать, как после
??>> прошивки БИОС-а на компе?
VPM> ну у меня и разу не слетали. Если это успокоит :)

Ох... У этого сервера вылезла ещё одна проблема, не получается
попасть в БИОС через удалённую IPMI-консоль. Так что в случае
неудачной прошивки контроллера я получу очень дорогой "кирпич"
в очень далёкой стране. :-/

--
WBR, Alexey Markov. 



Re: [freebsd] ������ �� 3ware 9690SA-4I ��� ������� �����������

2014-02-05 Пенетрантность Alexey Markov

Hello, Anton!
On February, 05 2014 at 14:35 you wrote to freebsd@uafug.org.ua:

??>> RAID: 3ware 9690SA-4I (512 Mb, BBU)
??>> Диски: 2 x WDC WD5002ABYS
??>>
??>> Сегодня в процессе подготовки к профилактике понадобилось скопировать
??>> один из небольших разделов (80 Гб) в конец диска. Запустил dd, и почти
??>> сразу сайт отвалился. В /var/log/messages в это время вижу:
??>> twa0: Request 0 timed out!
??>> twa0: INFO: (0x16: 0x1108): Resetting controller...:
??>> twa0: INFO: (0x04: 0x005E): Cache synchronization completed: unit=0
??>> twa0: INFO: (0x04: 0x0001): Controller reset occurred: resets=2

AY> В первую очередь имеет смысл посмотреть SMART на дисках, если данные
AY> 3ware позволяет это делать.
AY> Потом запустить по очереди на кождом из дисков тест (smartctl -t long)
AY> и еще раз посмотреть.

Прогнал "длинные" тесты на обоих винтах - ошибок нет. Похоже, дело не в них.

Посмотрел через gstat, iostat и top -m io, что больше всего винт грузит.
Оказалось, Постгрес постоянно что-то пишет на диск, причём с хорошей
скоростью - до 15-20 мегабайт в секунду. Скорее всего, это WAL-ы для
репликации со вторым сервером и сессии веб-движка. Подозреваю, что при
запуске dd винты просто "захлёбываются", упираясь в потолок по IOPS.
Непонятно, правда, почему контроллер из-за этого дохнет. :-(

Кстати, а можно ли как-то ограничить число операций ввода/вывода для
процесса? Ну, типа nice, только не для ЦПУ, а для ввода/вывода. Или
хотя бы измерить их число за определённый промежуток времени?

--
WBR, Alexey Markov. 



Re: [freebsd] ������ �� 3ware 9690SA-4I ��� ������� �����������

2014-02-05 Пенетрантность Alexey Markov

Hello, Alexander!
On February, 05 2014 at 15:26 you wrote to freebsd@uafug.org.ua:

??>> Кстати, есть у кого-нибудь из присутствующих опыт перепрошивки 3ware
??>> контроллеров через tw_cli?
AC> через tw_cli прошивается нормально
AC> так прошивал 9650SE-2LP 9550SXU-4LP
AC> не той прошивкой он не даст прошить

После прошивки контроллера сервер сразу перезагружать
надо, или он некоторое время может поработать до плановой
перезагрузки?

А главное - при перепрошивке контроллера его настройки
сохраняются, или их надо заново настраивать, как после
прошивки БИОС-а на компе?

--
WBR, Alexey Markov. 



Re: [freebsd] ������ �� 3ware 9690SA-4I ��� ������� �����������

2014-02-05 Пенетрантность Alexey Markov

Hello, Anton!
On February, 05 2014 at 14:35 you wrote to freebsd@uafug.org.ua:

??>> RAID: 3ware 9690SA-4I (512 Mb, BBU)
??>> Диски: 2 x WDC WD5002ABYS
??>>
??>> Сегодня в процессе подготовки к профилактике понадобилось скопировать
??>> один из небольших разделов (80 Гб) в конец диска. Запустил dd, и почти
??>> сразу сайт отвалился. В /var/log/messages в это время вижу:
??>> twa0: Request 0 timed out!
??>> twa0: INFO: (0x16: 0x1108): Resetting controller...:
??>> twa0: INFO: (0x04: 0x005E): Cache synchronization completed: unit=0
??>> twa0: INFO: (0x04: 0x0001): Controller reset occurred: resets=2

AY> В первую очередь имеет смысл посмотреть SMART на дисках, если данные
AY> 3ware позволяет это делать.

AY> Потом запустить по очереди на кождом из дисков тест (smartctl -t long)
AY> и еще раз посмотреть.

smartmontools у меня запущен, в его логах только вот это:

Feb  5 01:47:52 ku-new smartd[832]: Device: /dev/twa0 [3ware_disk_00], SMART 
Usage Attribute: 7 Seek_Error_Rate changed from 200 to 100
Feb  5 02:17:52 ku-new smartd[832]: Device: /dev/twa0 [3ware_disk_01], SMART 
Usage Attribute: 7 Seek_Error_Rate changed from 200 to 100
Feb  5 02:47:51 ku-new smartd[832]: Device: /dev/twa0 [3ware_disk_00], SMART 
Usage Attribute: 7 Seek_Error_Rate changed from 100 to 200
Feb  5 02:47:51 ku-new smartd[832]: Device: /dev/twa0 [3ware_disk_01], SMART 
Usage Attribute: 7 Seek_Error_Rate changed from 100 to 200
Feb  5 04:47:52 ku-new smartd[832]: Device: /dev/twa0 [3ware_disk_01], SMART 
Usage Attribute: 7 Seek_Error_Rate changed from 200 to 100
Feb  5 05:17:51 ku-new smartd[832]: Device: /dev/twa0 [3ware_disk_00], SMART 
Usage Attribute: 7 Seek_Error_Rate changed from 200 to 100


но такие записи у меня каждый день, и во время проблем с контроллером
новых не появлялось. Посмотрел состояние дисков через smartctl -a, там
тоже всё чисто. На всякий случай запустил smartctl -t long, через пару
часов обещает закончить.

Гугль сообщает, что похожие ошибки наблюдались на старых драйверах
и прошивках, но были исправлены несколько лет назад. Драйвера в 8-ке
и так последние от производителя, прошивку в контроллере можно и обновить,
но саппорт LSI так и не ответил мне внятно, можно ли это делать на
работающем сервере (с последующей перезагрузкой), или обязательно
перепрошиваться из БИОС, а рисковать удалённым сервером в другой стране
как-то не очень хочется. :-(

Кстати, есть у кого-нибудь из присутствующих опыт перепрошивки 3ware
контроллеров через tw_cli?

--
WBR, Alexey Markov. 



[freebsd] ������ �� 3ware 9690SA-4I ��� ������� �����������

2014-02-05 Пенетрантность Alexey Markov

Привет, All!

Имеется удалённый FreeBSD 8.4-RELEASE-p3 amd64 сервер в ДЦ за бугром,
на нём крутится весьма нагруженный веб-сайт с постгресовской базой.

Спецификации сервера:

Мамка: Supermicro X8DTL
Проц: 2 x Xeon E5620 2.40GHz
Память: 6 x 4Gb 1333MHz
RAID: 3ware 9690SA-4I (512 Mb, BBU)
Диски: 2 x WDC WD5002ABYS

Сегодня в процессе подготовки к профилактике понадобилось скопировать
один из небольших разделов (80 Гб) в конец диска. Запустил dd, и почти
сразу сайт отвалился. В /var/log/messages в это время вижу:

twa0: Request 0 timed out!
twa0: INFO: (0x16: 0x1108): Resetting controller...:
twa0: INFO: (0x04: 0x005E): Cache synchronization completed: unit=0
twa0: INFO: (0x04: 0x0001): Controller reset occurred: resets=2
twa0: [ITHREAD]
twa0: Request 29 timed out!
twa0: INFO: (0x16: 0x1108): Resetting controller...:
twa0: INFO: (0x04: 0x005E): Cache synchronization completed: unit=0
twa0: INFO: (0x04: 0x0001): Controller reset occurred: resets=3
twa0: [ITHREAD]
calcru: runtime went backwards from 21372689 usec to 8010101 usec for pid 
85359 (sshd)
calcru: runtime went backwards from 77975 usec to 28701 usec for pid 85292 
(postgres)
calcru: runtime went backwards from 1065040 usec to 392066 usec for pid 
85290 (ruby20)
calcru: runtime went backwards from 15965 usec to 5876 usec for pid 84801 
(csh)
calcru: runtime went backwards from 14479 usec to 5329 usec for pid 84801 
(csh)

<ещё много-много ошибок calcru>
calcru: runtime went backwards from 142774306478 usec to 52552722917 usec 
for pid 12 (intr)
calcru: runtime went backwards from 112259862454500 usec to 41321555907913 
usec for pid 11 (idle)
calcru: runtime went backwards from 12289259 usec to 4523452 usec for pid 1 
(init)
calcru: runtime went backwards from 12718226103866 usec to 4681414144195 
usec for pid 1 (init)
calcru: runtime went backwards from 1185668658 usec to 436420765 usec for 
pid 0 (kernel)

twa0: Request 20 timed out!
twa0: INFO: (0x16: 0x1108): Resetting controller...:
twa0: INFO: (0x04: 0x005E): Cache synchronization completed: unit=0
twa0: INFO: (0x04: 0x0001): Controller reset occurred: resets=4
twa0: [ITHREAD]
twa0: Request 2 timed out!
twa0: INFO: (0x16: 0x1108): Resetting controller...:
twa0: INFO: (0x04: 0x005E): Cache synchronization completed: unit=0
twa0: INFO: (0x04: 0x0001): Controller reset occurred: resets=5
twa0: [ITHREAD]
twa0: Request 49 timed out!
twa0: INFO: (0x16: 0x1108): Resetting controller...:
twa0: INFO: (0x04: 0x005E): Cache synchronization completed: unit=0
twa0: INFO: (0x04: 0x0001): Controller reset occurred: resets=6
twa0: [ITHREAD]

Копирование, понятное дело, пришлось оборвать, сразу после этого
в логе появилось:

ntpd[815]: time reset +56.243512 s

и дальше всё заработало в штатном режиме. А вот я глубоко задумался...

Раньше никаких проблем с дисками или рейд-контроллером на этом сервере
не наблюдалось, обычная нагрузка составляет от 1 до 20 Мб в секунду
(в основном - запись в постгресовскую базу). А тут обычный dd весь
сервер раком поставил. :-(

Собственно, вопрос счастливым владельцам контроллеров от 3ware:
встречались ли вы ранее с таким глюком, и если да - то как смогли
его победить?

На всякий случай - вывод tw_cli:

### Time Stamp:11:19:57 03-Sep-2013
### Host Architecture: x86_64 (64 bit)
### OS Version:FreeBSD 8.4-RELEASE-p3
### Model: 9690SA-4I
### Controller ID: 0
### CLI Version:   2.00.11.022
### API Version:   2.08.00.027
### Driver Version:3.80.06.003
### Firmware Version:  FH9X 4.10.00.027
### BIOS Version:  BE9X 4.08.00.004
### Available Memory:  448MB

--
WBR, Alexey Markov. 



[freebsd] Re: [freebsd] порекомендуйте статистику трафика :)

2014-01-29 Пенетрантность Alexey Markov

Hello, Lystopad!
On January, 30 2014 at 01:19 you wrote to UAFUG:

LA> Понадобилось поднять статистику трафика локальной сетки по каждому
LA> из ип адресов. Раньше пользовался netams. Но сейчас оно не
LA> компилируется из портов, а также падает при попытке конфигурирования
LA> mysql. Все руки не доходят разобраться и починить.

3-я версия NetAMS действительно не компилируется и не работает с Мускулем
старше какой-то версии. А вот 4-я, под Джаву, вполне успешно работает и
считает трафик. Веб-морда и отчёты - "из коробки". Правда, первоначальная
настройка несколько геморрная.

--
WBR, Alexey Markov. 



Re: [freebsd] ���-������ �ģ� � ������� �� ruBSD 2013?

2013-12-29 Пенетрантность Alexey Markov

Hello, Anton!
On December, 20 2013 at 22:22 you wrote to freebsd@uafug.org.ua:

??>> Собственно, сабж. Программа обещает быть интересной:
??>> http://tech.yandex.ru/events/yagosti/ruBSD/

AY> Тем временем на этой же странице появились ссылки на слайды
AY> и видеозаписи (пока не для всех докладов).

Кстати, во время разговоров между докладами Черников сказал,
что у Яндекса есть рабочий код для синхронизации состояний
ipfw между хостами, и в начале года они планируют его открыть.

Вместе с новым CARP получится неплохой вариант для fail-safe
файрволов.

--
WBR, Alexey Markov. 



[freebsd] ���-������ �ģ� � ������� �� ruBSD 2013?

2013-12-12 Пенетрантность Alexey Markov

Всем привет!

Собственно, сабж. Программа обещает быть интересной:
http://tech.yandex.ru/events/yagosti/ruBSD/

--
WBR, Alexey Markov. 



Re: [freebsd] releng/9.2: zfs & wired memory

2013-12-01 Пенетрантность Alexey Markov

Hello, Anton!
On December, 01 2013 at 00:02 you wrote to Рассылка FreeBSD UA:

AS> vg@, br@ наличие проблемы подтвердили, но решения пока нет.
AS> Кстати, неужели здесь, в рассылке никто не пользует ZFS и/или не
AS> обращал внимание на потребление памяти?

М-м-м... Видимо, я пропустил обсуждение. У меня под рукой только один
ZFS-only сервер, сейчас глянул, дела с памятью на нём обстоят так:

Mem: 879M Active, 105M Inact, 10G Wired, 1208K Cache, 4109M Free
ARC: 8192M Total, 647M MFU, 6313M MRU, 546K Anon, 119M Header, 1113M Other
Swap: 8192M Total, 8192M Free

Нагрузки на нём мало, даже память не вся используется. А что надо
было проверить-то?

--
WBR, Alexey Markov. 



Re: [freebsd] ��������� ������ ��� ���������� ���������

2013-10-17 Пенетрантность Alexey Markov

Hello, Alexander!
On October, 17 2013 at 15:08 you wrote to Alexey Markov:

??>> at вызывается кроном раз в 5 минут, сам крон просыпается раз в
??>> минуту, так что время задания будет округлено до этих значений.
AY> поставьте в крон на каждую минуту echo `date` и в логах убедитесь что
AY> тикает каждую минуту, во всяком случае УМВР :)

Э-м-м?.. А я разве что-то другое написал?

--
WBR, Alexey Markov. 



Re: [freebsd] ��������� ������ ��� ���������� ���������

2013-10-17 Пенетрантность Alexey Markov

Hello, Yuri!
On October, 17 2013 at 14:30 you wrote to freebsd@uafug.org.ua:

??>> Крон и иже с ним мне
??>> не очень нравятся своей гранулярностью в 5 минут

YK> Откуда дровишки? Я на счет 5 минут.

Из мана, вестимо...

at вызывается кроном раз в 5 минут, сам крон просыпается раз в
минуту, так что время задания будет округлено до этих значений.

YK>  Не нравится cron - да хоть while используй.

Угу, и как было уже сказано, при отваливании управляющего терминала
while в скрипте отвалится вместе с ним. Не, тут только перехват
сигналов поможет.

--
WBR, Alexey Markov. 



Re: [freebsd] ��������� ������ ��� ���������� ���������

2013-10-17 Пенетрантность Alexey Markov

Hello, Alexander!
On October, 17 2013 at 12:20 you wrote to Alexey Markov:

AY>>> Мне кажется в таких экспериментах с файрволлом, давно есть
AY>>> потребность указания команд, которые вернут всё в некий
AY>>> дефолт. например указываешь что твой возврат это будет "ipfw
AY>>> flush ipfw add allow all from $ADMIN_EXT_IP to me"
??>> В таком алгоритме есть один большой минус: при сбрасывании правил в
??>> "дефолт" потеряется доступ ко всем сервисам на сервере.
AY> Но будет возможность зайти и исправить на то что надо.

Так а в чём смысл откатывать правила к некоему дефолту, если можно
откатить просто к предыдущим правилам? При этом ничего исправлять
не понадобится, и доступ к сервисам на сервере не пропадёт.

??>> Ну, а если админ очень хочет прострелить себе ногу, то скрипт просто
??>> проследит, чтобы это было сделано синтаксически корректно. ;-)
AY> Да, и ваша утилитка как и все остальные продолжают стрелять админам в
AY> ноги, типа ССЗБ :)

Скрипт ни в кого не стреляет, он только следит, чтобы были соблюдены
все правила по обращению с огнестрельным оружием. :-)

AY> Вариант сбросить в дефолт и дать доступ откуда надо не самый
AY> правильный, но позволит по крайней мере играться удалённо с
AY> правилами и стрелять себе в ногу, с возможностью "загрузки
AY> сохранения", не привлекая ребуты и такси.

Мне кажется, вы смешиваете два разных вопроса: к ЧЕМУ откатываться, и
КОГДА откатываться. Насчёт "к чему" я пояснил чуть выше, а вот насчёт
"когда" - тут действительно возможны варианты. Крон и иже с ним мне
не очень нравятся своей гранулярностью в 5 минут и необходимостью
трогать сервисы, не имеющие отношения к файрволу.

??>> Мне кажется, можно сделать удобнее: добавить к скрипту ещё один
??>> ключик, который задаст некий таймаут. Скрипт применит новые правила,
??>> выдаст на консоль строчку типа "To permanently apply new rules press
??>> Ctrl+С" и будет ждать указанное время. Если за это время админ не
??>> прервёт работу скрипта, тот автоматом откатит изменения правил. Как
??>> такой вариант?
AY> Шелл может умереть от потери коннекта (и кильнёт ваш скрипт), и
AY> оставит точно так же человека без связи.

Это можно обойти с помощью обработки сигналов, тупо откатывая правила
к предыдущим в случае отваливания управляющего терминала.

AY> Вот если вариант с фейловер правилами и кроном будет - то да, через
AY> например N секунд скрипт попросит подтвердить например что с человеком
AY> связь есть, и что можно из крона удалить фейловер скрипт.

А не получится через N секунд. С помощью крона получится только через
1 < N < 600 секунд.  :-(

AY> Я не настаиваю, просто такая фича мне кажется востребована,
AY> если вам не кажется так и вы никогда не оставляли сервер удалённый без
AY> доступа извне - то вы явно из Золотого миллиона :)

Фича востребована, тем более чтÐ

Re: [freebsd] ��������� ������ ��� ���������� ���������

2013-10-17 Пенетрантность Alexey Markov

Hello, Anton!
On October, 17 2013 at 12:56 you wrote to freebsd@uafug.org.ua:

??>> Для управления этими файрволами написал небольшой
??>> скрипт, который позволяет тестировать правила перед применением
AY> А /usr/share/examples/ipfw/change_rules.sh не пробовал использовать?

Использовать не пробовал, но код скрипта разумеется смотрел. Мне он
не сильно подошёл, так как в нём нет возможности загружать отдельно
таблицы и правила, запускать dry run, и идея со временными файлами
мне тоже не сильно нравится - я предпочитаю set-ы. А вот реализовать
откат к предыдущим правилам в случае SIGHUP надо попробовать.

--
WBR, Alexey Markov. 



Re: [freebsd] ��������� ������ ��� ���������� ���������

2013-10-17 Пенетрантность Alexey Markov

Hello, Alexander!
On October, 17 2013 at 11:27 you wrote to Alexey Markov:

AY> Мне кажется в таких экспериментах с файрволлом, давно есть потребность
AY> указания команд, которые вернут всё в некий дефолт.
AY> например указываешь что твой возврат это будет
AY> "ipfw flush
AY> ipfw add allow all from $ADMIN_EXT_IP to me"

В таком алгоритме есть один большой минус: при сбрасывании правил в "дефолт"
потеряется доступ ко всем сервисам на сервере. Поэтому я и выбрал другой
вариант: при обнаружении ошибки в новых правилах скрипт просто откатывается
к предыдущим. Ну, а если админ очень хочет прострелить себе ногу, то скрипт
просто проследит, чтобы это было сделано синтаксически корректно. ;-)

AY> А выполнит его крон, если ощутит необходимость (например в who не будет
AY> никого нужного :)

Привлекать крон - это уже излишняя сущность: надо будет добавлять и удалять
в него свои задания, отслеживать их статус...

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

строчку типа "To permanently apply new rules press Ctrl+С" и будет ждать
указанное время. Если за это время админ не прервёт работу скрипта, тот
автоматом откатит изменения правил. Как такой вариант?

--
WBR, Alexey Markov. 



[freebsd] ��������� ������ ��� ���������� ���������

2013-10-17 Пенетрантность Alexey Markov

Всем привет!

Есть у меня несколько удалённых серверов с весьма "развесистыми"
правилами для файрволов, в которых используется куча переменных,
таблиц и т.д. Для управления этими файрволами написал небольшой
скрипт, который позволяет тестировать правила перед применением,
а также загружать адреса в таблицы "оптом и в розницу":

https://github.com/RedRat/fwcontrol

Разумеется, никакой rocket science в нём нет, но новичкам он будет
полезен как пример, а "старичкам" - даст возможность покритиковать
меня (надеюсь, конструктивно).

--
WBR, Alexey Markov. 



Re: [freebsd] 9.2

2013-09-29 Пенетрантность Alexey Markov

Hello, Vladislav!
On September, 30 2013 at 00:30 you wrote to freebsd@uafug.org.ua:

AY>>> А не подскажите где почитать ключевые новшества 10ки?
??>> Лучше всего это здесь описано: http://wiki.freebsd.org/WhatsNew/FreeBSD10
VVP> Подскажите плз, как определить, в какую ветку FreeBSD тот или иной
VVP> коммит залит?

Э-м-м? Так в самом коммите в списке изменённых файлов и указано, какие
ветки он затрагивает.

VVP> Вижу, что в 10-ке много вкусного запилено, но с 9.2-RC2 пока
VVP> стремновато переходить.

А чего спешить? 10-ка пока в альфе. Вот выпустят релиз - тогда и
посмотрим, сколько в нём грабель и где они лежат. ;-)

--
WBR, Alexey Markov. 



Re: [freebsd] 9.2

2013-09-27 Пенетрантность Alexey Markov

Hello, Anatoly!
On September, 27 2013 at 16:14 you wrote to freebsd@uafug.org.ua:

??>> Надеюсь, 10-ку они к Новому году успеют выпустить, а не к 8-му марта.
AY> А не подскажите где почитать ключевые новшества 10ки?

Лучше всего это здесь описано: http://wiki.freebsd.org/WhatsNew/FreeBSD10

--
WBR, Alexey Markov. 



Re: [freebsd] 9.2

2013-09-27 Пенетрантность Alexey Markov

Hello, Vasiliy!
On September, 27 2013 at 12:55 you wrote to Рассылка FreeBSD UA:

VPM> Зарелизили таки

Надеюсь, 10-ку они к Новому году успеют выпустить, а не к 8-му марта.

--
WBR, Alexey Markov. 



Re: [freebsd] ��� ����� ������ unmount-�?

2013-09-16 Пенетрантность Alexey Markov

Hello, Oleksandr!
On September, 14 2013 at 15:20 you wrote to Alexey Markov:

??>> Заметил только, что такое случается после прогона pgbench
??>> с параметром -c больше 1000. Но дело явно не в свободном месте на
??>> разделе, так как там занято не более 1/3.

OVT> После этого замечания вспомнил о недавнем обсуждение:
OVT> http://lists.freebsd.org/pipermail/freebsd-fs/2013-May/017341.html
OVT> http://lists.freebsd.org/pipermail/freebsd-fs/2013-June/017349.html

OVT> Исправление: http://svnweb.freebsd.org/changeset/base/253998
OVT> MFC в 9-STABLE и 9.2 был, в 8-STABLE - нет, но можно самостоятельно
OVT> поменять строку 1245

Спасибо за ссылки, почитав дискуссию в мейл-листе, я добавил в скрипт вывод
df -i; du -xs - и вуаля! В момент, когда скрипт валится из-за невозможности
отмонтировать файловую систему, я вижу:

Filesystem  1K-blocksUsedAvail Capacity iused   ifree %iused 
Mounted on

/dev/da0s1f  56616608 5993592 4609368812%1043 73236270%   /test

5993584 /test

То есть, разница в 8 КиБ - налицо.

Сейчас прогоню тест ещё раз для очистки совести - и попробую оформить PR.

--
WBR, Alexey Markov. 



[freebsd] Re: [freebsd] Что может мешать unmount-у?

2013-09-14 Пенетрантность Alexey Markov
 14.09.2013, 08:26, "Eugene Grosbein" :
>
>>  Тестирую старенький сервачок под PostgreSQL: скрипт в цикле создаёт
>>  на разделе файловую систему, разворачивает на ней пустую базу и потом
>>  натравливает на неё pgbench с определёнными параметрами. И периодически
>>  обламывается на стадии отмонтирования, при этом каких-либо открытых
>>  файлов я на разделе не вижу:
>>
>>  unmount of /test failed: Device busy
>>
>>  lsof +D /test +x <- пусто
>>  lsof +D / +x | grep test <- тоже пусто
>>
>>  df -h -t nonullfs,devfs -i /test
>>  Filesystem     Size    Used   Avail Capacity iused ifree %iused  Mounted on
>>  /dev/da0s1f     54G     15G     34G    31%    1.1k  7.3M    0%   /test
>>
>>  Где и чем ещё можно посмотреть, что мешает отмонтировать раздел?
>
> Зачем df -t nonullfs, devfs? Отмонтировать будет мешать наличие
> других смонтированных nullfs или devfs с точкой монтирования на /test.

df -h -i
Filesystem     Size    Used   Avail Capacity iused ifree %iused  Mounted on
/dev/da0s1a      2G    533M    1.3G    29%     26k  256k    9%   /
devfs          1.0k    1.0k      0B   100%       0     0  100%   /dev
/dev/da0s1d    3.9G    108M    3.5G     3%    1.7k  540k    0%   /var
/dev/da0s1e     47G     27G     16G    63%    292k  2.9M    9%   /data
tmpfs          2.0G     36k      2G     0%      11  524k    0%   /tmp
/dev/da0s1f     54G     15G     34G    31%    1.1k  7.3M    0%   /test

Нету там других смонтированных ФС. И открытых файлов нету. :-(
Даже процессы все остановлены, кроме системных. И тем не менее,
при попытке отмонтировать, получаю unmount of /test failed: Device busy

Заметил только, что такое случается после прогона pgbench
с параметром -c больше 1000. Но дело явно не в свободном месте на
разделе, так как там занято не более 1/3.

-- 
WBR, Alexey Markov.



[freebsd] Re: [freebsd] Что может мешать unmount-у?

2013-09-13 Пенетрантность Alexey Markov
 13.09.2013, 18:15, "Alexander Yerenkow" :

>> Тестирую старенький сервачок под PostgreSQL: скрипт в цикле создаёт
>> на разделе файловую систему, разворачивает на ней пустую базу и потом
>> натравливает на неё pgbench с определёнными параметрами. И периодически
>> обламывается на стадии отмонтирования, при этом каких-либо открытых
>> файлов я на разделе не вижу:
>>
>> unmount of /test failed: Device busy
>>
>> lsof +D /test +x <- пусто
>> lsof +D / +x | grep test <- тоже пусто
>>
>> df -h -t nonullfs,devfs -i /test
>> Filesystem     Size    Used   Avail Capacity iused ifree %iused  Mounted on
>> /dev/da0s1f     54G     15G     34G    31%    1.1k  7.3M    0%   /test
>>
>> Где и чем ещё можно посмотреть, что мешает отмонтировать раздел?
>>
>> P.S. FreeBSD 8.4-RELEASE-p3, файлуха - UFS2 с параметрами по-умолчанию.
>> Проблема с размонтированием возникает после прогона pgbench с параметром
>> -c от 1000 до 2000. С меньшими - всё рабо^H размонтируется нормально.

>1 Вопрос - графика есть? КДЕ иногда любит мешать отмонтировать.

Нет. Там вообще практически ничего нет:

  121  ??  Is     0:00,00 adjkerntz -i
  516  ??  Is     0:00,85 /sbin/devd
  665  ??  Ss     0:09,29 /usr/sbin/syslogd -ss
  741  ??  Ss     1:21,41 /usr/sbin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid 
-f /var/db/ntpd.drift
  812  ??  Ss     0:25,64 /usr/sbin/bsnmpd
  856  ??  Is     0:00,65 /usr/sbin/sshd
  859  ??  Ss     0:36,12 sendmail: accepting connections (sendmail)
  862  ??  Is     0:00,62 sendmail: Queue runner@00:30:00 for 
/var/spool/clientmqueue (sendmail)
  866  ??  Is     0:07,68 /usr/sbin/cron -s
54911  ??  Is     0:00,04 sshd: support [priv] (sshd)
54913  ??  S      0:00,01 sshd: support@pts/0 (sshd)
49802  u1  I2 Вопрос - fstat |  grep test

Тоже пусто. :-(

-- 
С уважением, Алексей Марков.


[freebsd] ��� ����� ������ unmount-�?

2013-09-13 Пенетрантность Alexey Markov

Всем, всего, и много!

Тестирую старенький сервачок под PostgreSQL: скрипт в цикле создаёт
на разделе файловую систему, разворачивает на ней пустую базу и потом
натравливает на неё pgbench с определёнными параметрами. И периодически
обламывается на стадии отмонтирования, при этом каких-либо открытых
файлов я на разделе не вижу:

unmount of /test failed: Device busy

lsof +D /test +x <- пусто
lsof +D / +x | grep test <- тоже пусто

df -h -t nonullfs,devfs -i /test
Filesystem SizeUsed   Avail Capacity iused ifree %iused  Mounted on
/dev/da0s1f 54G 15G 34G31%1.1k  7.3M0%   /test

Где и чем ещё можно посмотреть, что мешает отмонтировать раздел?

P.S. FreeBSD 8.4-RELEASE-p3, файлуха - UFS2 с параметрами по-умолчанию.
Проблема с размонтированием возникает после прогона pgbench с параметром
-c от 1000 до 2000. С меньшими - всё рабо^H размонтируется нормально.

--
WBR, Проект <Исторические Материалы>. 



[freebsd] ZFS � ���������� ����

2013-09-04 Пенетрантность Alexey Markov

Hello!

Достался в управление удалённый сервер, в котором стоит
рейд-контроллер 3ware (теперь уже LSI) 9690SA-4I. Винтов
к нему подцеплено всего два, полутерабайтники WD RE3.
Винты объединены в зеркало, один слайс, несколько разделов
UFS2. Стоит FreeBSD 8.4, PostgreSQL и довольно нагруженный
веб-сайт. Памяти 24 гига, процы - два Ксеона E5620.

Данные в разделах постоянно меняются в объёмах, из-за этого
регулярно случаются ситуации с disk full то в одном месте,
то в другом. Есть желание заменить все UFS2 разделы на один
ZFS пул, из которого нарезать файловые системы под задачи.

В связи с этим - вопрос: имеет ли смысл разбивать хардварное
зеркало на отдельные винты и объединять их в зеркало уже
средствами ZFS? Как я понимаю, при использовании хардварного
зеркала теряются некоторые весьма полезные функции ZFS типа
самовосстановления. С другой стороны, в рейде стоит 512 МБ
набортного кеша + батарейка, которые терять тоже не хочется.

Если кто-то уже сталкивался с такой дилеммой: какое решение
вы выбрали, и что оказалось решающим фактором в его выборе?

--
WBR, Alexey Markov. 



Re: [freebsd] [OT] samba

2013-07-15 Пенетрантность Alexey Markov

Hello, Alexander!
On July, 15 2013 at 16:50 you wrote to UAFUG:

A> С полгода назад 4-ка на сайте обещала многое, но была еще  в  глубокой
A> альфе.  Сейчас,  уже,  вроде,  вышла, но большинство описаний/отзывов
A> -  ещё  про  3.х.  Кто  что  посоветует?  4-ку  уже пробовали? как она?

Ну вот, например: http://www.opennet.ru/opennews/art.shtml?num=37422

--
WBR, Alexey Markov. 



Re: [freebsd] FIN_WAIT_1 �� ����� DDoS

2013-06-28 Пенетрантность Alexey Markov

Hello, Slawa!
On June, 28 2013 at 12:48 you wrote to freebsd@uafug.org.ua:

EG>>> закрытое сервером соединение ожидает подтверждения закрытия от
EG>>> клиента, потребляя меньше памяти, чем открытое; таких соединений
EG>>> может быть до sysctl net.inet.tcp.maxtcptw (часть от
EG>>> kern.ipc.maxsockets, поэтому такие сокеты мешают открытию новых);
??>>
??>> С соединениями в состоянии TIME_WAIT всё понятно, и их число вопросов
??>> не вызывает вопросов. Меня больше волнует, что делать с намного
??>> бОльшим числом соединений в состоянии FIN_WAIT_1, и можно ли их чем-то
??>> ограничить?

SO> net.inet.tcp.fast_finwait2_recycle=1

Это тоже стоит, как и net.inet.tcp.finwait2_timeout=5000, но FIN_WAIT_2
- это уже после получения ACK от клиента, и число таких соединений в 50
раз меньше, чем с FIN_WAIT_1.

Основная проблема в том, что после попытки закрытия соединения сервером,
он не получает НИЧЕГО в ответ на свой FIN, и в итоге получается туева хуча
соединений в состоянии FIN_WAIT_1, которые рано или поздно упираются в
системный лимит. А способа подкрутить таймаут для них, как для FIN_WAIT_2,
я так и не нашёл. :-(

Можно было бы ограничивать число коннектов с одного IP через ipfw, но меня
смущает, не станет ли огромное количество динамических правил просто другим
способом устроить DDoS?

--
WBR, Alexey Markov. 



Re: [freebsd] FIN_WAIT_1 �� ����� DDoS

2013-06-28 Пенетрантность Alexey Markov

Hello, Eugene!
On June, 28 2013 at 11:05 you wrote to Alexey Markov:

??>> Есть некий веб-сервер под FreeBSD 8.3 на базе nginx и самописной
??>> CMS на Руби. В обычное время число соединений на нём выглядит
??>> примерно так:
??>>
??>> Connections:   1404
??>>
??>> TIME_WAIT  1316
??>> ESTABLISHED  70
??>> FIN_WAIT_18
??>> LAST_ACK  5
??>> SYN_RCVD  3
??>> FIN_WAIT_21
??>> LISTEN1
??>>
??>> В последнее время на этот веб-сервер повадились набегать боты с целью
??>> устроить DDoS. С помощью nginx все ботовые запросы успешно отсекались,
??>> но вот с числом соединений творилось неприятное:
??>>
??>> Connections:  68628
??>>
??>> FIN_WAIT_144255
??>> TIME_WAIT 11944

EG> http://dadv.livejournal.com/49013.html

Ага, читал этот материал, и даже комментировал. ;-)

EG> закрытое сервером соединение ожидает подтверждения закрытия от клиента,
EG> потребляя меньше памяти, чем открытое; таких соединений может быть до
EG> sysctl net.inet.tcp.maxtcptw (часть от kern.ipc.maxsockets, поэтому
EG> такие сокеты мешают открытию новых);

С соединениями в состоянии TIME_WAIT всё понятно, и их число вопросов не
вызывает вопросов. Меня больше волнует, что делать с намного бОльшим числом
соединений в состоянии FIN_WAIT_1, и можно ли их чем-то ограничить?

Пока же получается, что единственный действенный способ борьбы с ботами,
которые бомбардируют веб-сервер валидными HTTP-запросами, это задирание
лимитов на коннекты и буферы. :-/

--
WBR, Alexey Markov. 



Re: [freebsd] perl-after-upgrade

2013-06-27 Пенетрантность Alexey Markov

Hello, Taras!
On June, 27 2013 at 17:09 you wrote to freebsd@uafug.org.ua:

TH> И еще один интересный вопрос. Запустил я portupgrade -rf perl-threaded.
TH> Трудился он, трудился, а после чего слетел по ошибке в одном из портов.
TH> Я конечно ошибку поправлю. Но запускать заново пересобирать все как-то
TH> не хотелось бы… Насколько я понимаю, с такими опциями portupgrade будет
TH> таки все зависящее пересобирать. Есть идеи, как можно избежать
TH> повторного перебора всего, уже собранного? (Наверное можно отделить
TH> пересобранные пакеты по дате модификации соответствующего каталога в
TH> /var/db/pkg. Но дальше два списка приводить к одному виду, сравнивать
TH> diff'ом и пересобирать непересобранные? Можно, но может есть более
TH> простой путь?)

А вот в portmaster для этого есть ключик -R ;-P

--
WBR, Alexey Markov. 



Re: [freebsd] Re: [freebsd] FIN_WAIT_1 �� ����� DDoS

2013-06-27 Пенетрантность Alexey Markov

Hello, Sergey!
On June, 27 2013 at 16:40 you wrote to Alexey Markov:

??>> reset_timedout_connection в конфиге nginx уже включен, а от
??>> limit_conn_zone толку не много: даже нормальные клиенты иногда
??>> устанавливают до 10 соединений при скачивании
??>> картинок/скриптов/стилей, а по 10 соединений на каждого бота дают в
??>> сумме до фига. Впрочем, это я тоже использую, но без особого эффекта.
??>>
SVD> не правда, не 10. Если мне склероз не изменяет, то максимум 8 у
SVD> последнего ie, и еще у кого-то, по умолчанию.

8 или 10 - это не принципиально. Хотя я часто натыкался на различные
"улучшатели Интернета", тупо увеличивающие максимальное число соединений
для IE с 4 до 10.

--
WBR, Alexey Markov. 



Re: [freebsd] Re: [freebsd] Re: [freebsd] FIN_WAIT_1 �� ����� DDoS

2013-06-27 Пенетрантность Alexey Markov

Hello, Sayetsky!
On June, 27 2013 at 16:46 you wrote to Рассылка FreeBSD UA:

??>> Но, как я понимаю, соединения в состоянии FIN_WAIT_1 к nginx уже
??>> отношения не имеют - он закрыл соединение через close() и теперь
??>> система ждёт подтверждения закрытия от клиента. А боты, как известно,
??>> вежливостью не обременены. Вот я и думаю, как бы ограничить для ботов
??>> возможность создавать новые соединения, ещё на уровне транспорта?
SA> Ещё можно посмотреть на http accept filter.

Да, тоже уже используются. Но засада в том, что запросы от ботов идут
вполне валидные, так что http accept filter здесь не помогает. :-(

--
WBR, Alexey Markov. 



Re: [freebsd] FIN_WAIT_1 �� ����� DDoS

2013-06-27 Пенетрантность Alexey Markov

Hello, Anton!
On June, 27 2013 at 15:13 you wrote to freebsd@uafug.org.ua:

??>> Насколько я помню, состояние FIN_WAIT_1 - это когда приложение (nginx)
??>> уже закрыло соединение через close(), система послала FIN клиенту, а в
??>> ответ - тишина... В итоге, через некоторое время общее число
??>> соединений упирается в системный лимит, и все остальные клиенты
??>> обламываются. :-(

AY> Либо nginx послал FYN на бэкенд (ruby) и не получил ответ.

Не, я посмотрел по netstat -an, там все соединения только с внешнего адреса.

А с движком, как я понял, устанавливается по одному соединению на каждый
инстанс Юникорна, и все запросы уже идут по нему, не создавая новых.

AY> net.inet.tcp.nolocaltimewait случаем не используется? У него есть
AY> "особенности" и проще будет его выключить.

Проверил, net.inet.tcp.nolocaltimewait: 0.

??>> Собственно, вопрос такой: будет ли ipfw считать соединения в состоянии
??>> FIN_WAIT_1 как "всё ещё установленные", и тем самым можно ли
??>> ограничить их число через limit src-addr ? И стоит ли в этом случае
??>> увеличить сразу net.inet.ip.fw.dyn_max с дефолтных 8192?

AY> ipfw в случае DoS ресурсов будет расходовать не меньше чем экономить, я
AY> рекомендую его отключить совсем.

Вот было у меня такое подозрение... :-/

И что теперь? Тупо задирать размеры буферов, очереди и maxfiles, пока боты
не выдохнутся? :-(

AY> 1. Нужно потюнить sysctl/tunables чтобы сервер мог обслуживать
AY> достаточное число коннекций. Немножко про это есть тут:
AY> http://webcrunch.ru/library/equipment/clusters/tuning-freebsd/
AY> хотя часть из того. что там написано уже устарело, так что это больше
AY> следует воспринимать не как готовый рецепт, а как подсказку, на что
AY> обратить внимание.

Да, с классическим выступлением Сысоева я давно уже ознакомился. Часть
даже успел реализовать. Буду кури^W читать дальше.

AY> На одном из моих серверов такие настройки:
AY> http://paste.org.ru/?mp3z7j (в nginx 
worker_processes*worker_connections*2

AY> должно быть меньше kern.ipc.maxsockets).

О, спасибо. Сейчас посмотрю, что у меня с этими переменными.

AY> 2. Далее можно ограничивать число коннекций / запросов на проксируемые
AY> location средствами nginx.

Это уже делается. Проблема в том, что после того как nginx уже дал отлуп
боту, соединение с тем продолжает висеть в состоянии FIN_WAIT_1, пока ОС
не получит подтверждение закрытия от клиента - а боты, по понятным причинам,
этим себя не утруждают. Причём для FIN_WAIT_1 есть sysctl-ы, которые можно
покрутить (и я их уже покрутил!):

net.inet.tcp.finwait2_timeout=5000
net.inet.tcp.fast_finwait2_recycle=1

а вот для FIN_WAIT_1 я ничего не нашёл. :-(

--
WBR, Alexey Markov. 



Re: [freebsd] FIN_WAIT_1 ?? ????? DDoS

2013-06-27 Пенетрантность Alexey Markov


Hello, Oleg!
On June, 27 2013 at 16:13 you wrote to freebsd@uafug.org.ua:

??>> Есть некий веб-сервер под FreeBSD 8.3 на базе nginx и самописной
??>> CMS на Руби. В обычное время число соединений на нём выглядит

OVN>   Эту самую CMS обучить работать через local socket

Зачем? С CMS устанавливается всего по одному соединению на каждый
инстанс Юникорна, их в общем объёме даже под лупой не видно.

??>> Собственно, вопрос такой: будет ли ipfw считать соединения в состоянии
??>> FIN_WAIT_1 как "всё ещё установленные", и тем самым можно ли
??>> ограничить их число через limit src-addr ? И стоит ли в этом случае
??>> увеличить

OVN> С Немалой долей вероятности это приведет к росту числа соединений в
OVN> состояниях FIN_WAIT_2 и TIME_WAIT

М-м-м... Каким образом это произойдёт, если файрвол просто не даст боту
_создавать_ новые соединения?

OVN> Достаточно большое количество соединений в TIME_WAIT как раз скорее
OVN> всего из-зв вмешательства firewall в процесс закрытия соединения.

Какое отношение файрвол имеет к TIME_WAIT? Насколько я помню, в этом
состоянии соединение просто ждёт "опоздавшие" пакеты в течение 2*MSL
миллисекунд, после чего переводит соединение в состояние CLOSED.

--
WBR, Alexey Markov. 



Re: [freebsd] Re: [freebsd] FIN_WAIT_1 �� ����� DDoS

2013-06-27 Пенетрантность Alexey Markov

Hello, Sayetsky!
On June, 27 2013 at 14:49 you wrote to Рассылка FreeBSD UA:

SA> 27 июня 2013 г., 13:45 пользователь Alexey Markov 
написал:
??>>
??>> Есть некий веб-сервер под FreeBSD 8.3 на базе nginx и самописной
??>> CMS на Руби. В обычное время число соединений на нём выглядит
??>> примерно так:
??>>
??>> Connections:   1404
??>>
??>> TIME_WAIT  1316
??>> ESTABLISHED  70
??>> FIN_WAIT_18
??>> LAST_ACK  5
??>> SYN_RCVD  3
??>> FIN_WAIT_21
??>> LISTEN1
??>>
??>> В последнее время на этот веб-сервер повадились набегать боты с целью
??>> устроить DDoS. С помощью nginx все ботовые запросы успешно отсекались,
??>> но вот с числом соединений творилось неприятное:
??>>
??>> Connections:  68628
??>>
??>> FIN_WAIT_144255
??>> TIME_WAIT 11944
??>> LAST_ACK   6141
??>> SYN_RCVD   3687
??>> ESTABLISHED1589
??>> FIN_WAIT_2  765
??>> CLOSING 241
??>> CLOSED5
??>> LISTEN1
??>>
??>> Насколько я помню, состояние FIN_WAIT_1 - это когда приложение (nginx)
??>> уже закрыло соединение через close(), система послала FIN клиенту, а в
??>> ответ - тишина... В итоге, через некоторое время общее число
??>> соединений упирается в системный лимит, и все остальные клиенты
??>> обламываются. :-(
??>>
??>> Собственно, вопрос такой: будет ли ipfw считать соединения в состоянии
??>> FIN_WAIT_1 как "всё ещё установленные", и тем самым можно ли
??>> ограничить их число через limit src-addr ? И стоит ли в этом случае
??>> увеличить сразу net.inet.ip.fw.dyn_max с дефолтных 8192?
??>>
SA> Может, для начала покрутить limit_zone, reset_timedout_connection etc?

reset_timedout_connection в конфиге nginx уже включен, а от limit_conn_zone
толку не много: даже нормальные клиенты иногда устанавливают до 10
соединений при скачивании картинок/скриптов/стилей, а по 10 соединений на
каждого бота дают в сумме до фига. Впрочем, это я тоже использую, но без
особого эффекта.

Но, как я понимаю, соединения в состоянии FIN_WAIT_1 к nginx уже отношения
не имеют - он закрыл соединение через close() и теперь система ждёт
подтверждения закрытия от клиента. А боты, как известно, вежливостью не
обременены. Вот я и думаю, как бы ограничить для ботов возможность создавать
новые соединения, ещё на уровне транспорта?

--
WBR, Alexey Markov. 



[freebsd] FIN_WAIT_1 �� ����� DDoS

2013-06-27 Пенетрантность Alexey Markov

Всем, всего, и много!

Есть некий веб-сервер под FreeBSD 8.3 на базе nginx и самописной
CMS на Руби. В обычное время число соединений на нём выглядит
примерно так:

Connections:   1404

TIME_WAIT  1316
ESTABLISHED  70
FIN_WAIT_18
LAST_ACK  5
SYN_RCVD  3
FIN_WAIT_21
LISTEN1

В последнее время на этот веб-сервер повадились набегать боты с целью
устроить DDoS. С помощью nginx все ботовые запросы успешно отсекались,
но вот с числом соединений творилось неприятное:

Connections:  68628

FIN_WAIT_144255
TIME_WAIT 11944
LAST_ACK   6141
SYN_RCVD   3687
ESTABLISHED1589
FIN_WAIT_2  765
CLOSING 241
CLOSED5
LISTEN1

Насколько я помню, состояние FIN_WAIT_1 - это когда приложение (nginx)
уже закрыло соединение через close(), система послала FIN клиенту, а в
ответ - тишина... В итоге, через некоторое время общее число соединений
упирается в системный лимит, и все остальные клиенты обламываются. :-(

Собственно, вопрос такой: будет ли ipfw считать соединения в состоянии
FIN_WAIT_1 как "всё ещё установленные", и тем самым можно ли ограничить
их число через limit src-addr ? И стоит ли в этом случае увеличить
сразу net.inet.ip.fw.dyn_max с дефолтных 8192?

--
WBR, Alexey Markov. 



[freebsd] IPFW � kernel NAT: ��� �������� ������ ��� ������������ ������.

2013-06-10 Пенетрантность Alexey Markov

Всем, всего, и много!

Вкратце обрисую ситуацию: имеется сервер с кучей ВЛАН-ов, на которые
заведены куча локальных подсетей. На внешнем интерфейсе прописаны с
десяток "белых" адресов. Во внутренней сети имеется с десяток серверов,
которые должны быть доступны снаружи, и десяток-другой юзеров, которым
нужно ходить наружу. В общем, классическая задача. Более того, она уже
решена - но теперь я хочу найти _красивое_ решение! ;-)

Как известно, каждое соединение из Инета через NAT во внутреннюю сеть
требует 4-х разрешающих правил в файрволе (или даже 6-ти, если файрвол
"двухпроходный"). Хочется эти правила сделать как можно более общими.

Для соединений, инициируемых снаружи, всё решается просто:

nat 10 config ip ${ext_ip}  redirect_addr ${int_ip} ${ext_ip}
add 100 nat 10 all from any to ${ext_ip} in recv ${ext_if}
add 200 nat 10 all from ${int_ip} to any out xmit ${ext_if}

В самом файрволе имеются два "общих" правила:

add 1000 pass all from any to any out recv ${ext_if} xmit ${int_if}
add 1100 pass all from any to any established

Таким образом, для добавления нового внутреннего сервера достаточно
скопировать блок правил для NAT и поменять в нём адреса на нужные.

А вот для соединений, устанавливаемых _изнутри_ сети, требуется добавить
ещё одно правило, разрешающее проход пакетов через внутренний интерфейс,
причём мы ещё не знаем, будет ли этот пакет проходить через NAT и внешний
интерфейс, поэтому вынуждены использовать конструкцию вида:

add 300 pass tcp from ${int_ip} to any not dst-ip me not dst-ip \
${список_сетей} in recv ${int_if}

А так как во многих правилах вместо простого any требуется указать
конкретный адрес или список адресов, да ещё с портами, плюс те же
самые адреса могут использоваться для проброса соединений снаружи,
то не удивительно, что скрипт файрвола в области NAT очень быстро
превращается в неудобоваримую мешанину.

Была у меня идея заворачивать setup-пакеты изнутри сети в NAT сразу
на внутреннем интерфейсе правилом:

add 400 nat 10 tcp from ${int_ip} to any not dst-ip me not dst-ip \
${список_сетей} in recv ${int_if}

и потом уже выпускать их всех наружу одним "общим" правилом типа:

add 1200 pass tcp from me to any setup

но быстро выяснилось, что пакеты, попадающие в правило 400, NAT-ом
не обрабатываются. И это немного странно, ведь ему должно быть всё
равно, каким правилом мы пихаем в него пакеты, его дело их алиасить
и пускать дальше по стеку. Тем не менее, счётчик в правиле растёт,
а вот число трансляций в NAT не меняется - и на внешнем интерфейсе
эти пакеты тоже не появляются. Я был бы очень признателен, если б
кто-нибудь объяснил мне его поведение в данном случае. Может, ему
не нравится то, что у пакета ещё не определён выходной интерфейс?

В общем, хочется найти решение, позволяющее прописывать доступ к NAT
для каждого хоста изнутри сети одним правилом. Или я хочу странного?

--
WBR, Alexey Markov. 



Re: [freebsd] m4 �� 7.2-RELEASE

2013-04-29 Пенетрантность Alexey Markov

Hello, George!
On April, 29 2013 at 14:07 you wrote to freebsd@uafug.org.ua:

GLY> Попробуйте добавить "ac_cv_header_spawn_h=no" в CONFIGURE_ENV в
GLY> Makefile порта

Да, после добавления этой строчки порт m4 собрался даже на 6-STABLE.

--
WBR, Alexey Markov. 



Re: [freebsd] m4 �� 7.2-RELEASE

2013-04-28 Пенетрантность Alexey Markov

Hello, Eugene!
On April, 27 2013 at 10:06 you wrote to UAFUG:

??>>>> Не могу собрать devel/m4 на 7.2-RELEASE:
??>>>>
??>>>> ===>  Building for m4-1.4.16_1,1
??>>>> [...]
??>>>> cc -std=gnu99  -I.-I/usr/local/include  -O2 -fno-strict-aliasing
??>>>> -pipe -MT execute.o -MD -MP -MF .deps/execute.Tpo -c -o execute.o
??>>>> execute.c In file included from execute.c:47: ./spawn.h:28:25: error:
??>>>> spawn.h: No such file or directory
??>>>
??>>> Поставить /usr/ports/ports-mgmt/portdowngrade и понизить версию m4
??>>> до, скажем, m4-1.4.13,1 и поставить её.
??>>
??>> В этой версии тоже "#include " и используется функция
??>> posix_spawnp. В обоих версиях в lib есть spawn.in.h и spawnp.c
EG> Тем не менее, на семерке в своё время m4-1.4.13,1 из портов собрался
EG> без проблем.

Дело там явно не в версии m4, у меня на 6-STABLE (с make от 8-ки) раньше
m4-1.4.16_1,1 собиралась без проблем, а сейчас - уже нет. Явно что-то в
обвязке портов изменилось.

--
WBR, Alexey Markov. 



Re: [freebsd] svn up & portsnap fetch

2013-04-24 Пенетрантность Alexey Markov

Hello, Vasiliy!
On April, 24 2013 at 10:09 you wrote to Рассылка FreeBSD UA:

VPM> 1) portsnap в своей реализации все-таки немного удобнее svn-а: он
VPM> быстрее обновляется, в итоге у меня пропало желание обновлять дерево
VPM> портов каждую ночь.

У portsnap есть только один небольшой минус: он хранит туеву хучу мелких
файлов в /var/db/portsnap/files. Во всём остальном для обновления портов
он показался мне гораздо удобнее SVN-а.

VPM> 2) freebsd-update не очень гибкая штука. Я не сильно понял как он
VPM> обновляет исходники, то такое впечатление что это касается только
VPM> релизов. Если бинарный апдейт работу в части обновления системы
VPM> отрабатывает, то получить исходники 9.1-p2 у меня не получилось -
VPM> 9.1-release и все.

Вчера ради интереса обновил исходники 8-ки с RC1 до RC2 с помощью команды
"freebsd-update -r 8.4-RC2 upgrade" - правда, при этом она вытащила почти
4000 файлов в /var/db/freebsd-update/files. Попробуй, может ключик -r 9.1-p2
сработает?

VPM> P.S. и когда уже допилят svnup до состояния включения его в систему.

Собрал последний svnup из портов, вытащил им порты и исходники. В принципе,
если не обращать внимания на скорость, то работать с ним довольно удобно.
Хотя не обращать внимания на скорость довольно сложно: вытаскивание дерева
портов "с нуля" у меня заняло 41'56" при 100% загрузке одного из ядер 
сервера,

дерево исходников вытаскивалось 59'34". Обновление уже загруженного дерева
портов заняло 10'54", а исходников - 7'54". Не фонтан, в общем... :-/

--
WBR, Alexey Markov. 



Re: [freebsd] �� ����� ������ �������� ������ � ZFS - �����, �����, ������?

2013-04-16 Пенетрантность Alexey Markov

Hello, Eugene!
On April, 16 2013 at 17:24 you wrote to Alexey Markov:

??>> С процами там всё нормально - два Ксеона с 4 ядрами каждый. Проблема
??>> именно в паттерне использования: в очень большие файлы очень часто
??>> дописываются маленькие кусочки текста (служебные логи одного
??>> нагруженного приложения). Видимо, от сжатия придётся отказаться.

EG> Пусть приложение пишет в пайп, который читает аналог dd obs=128k :-)

Кстати, не такая уж плохая мысль! Переговорю с разрабами, авось они
сумеют заставить своё приложение плеваться логами в пайп, а не в файл.

--
WBR, Alexey Markov. 



Re: [freebsd] �� ����� ������ �������� ������ � ZFS - �����, �����, ������?

2013-04-16 Пенетрантность Alexey Markov

Hello, Eugene!
On April, 16 2013 at 16:22 you wrote to Alexey Markov:

EG> Известно, что больше всего ZFS жадна не столько до памяти, сколько до 
CPU

EG> и производительность её резко проседает при слабом CPU. Отсюда следует,
EG> что при слабом/занятом CPU лучше ZFS не перегружать функциями.

С процами там всё нормально - два Ксеона с 4 ядрами каждый. Проблема именно
в паттерне использования: в очень большие файлы очень часто дописываются
маленькие кусочки текста (служебные логи одного нагруженного приложения).
Видимо, от сжатия придётся отказаться.

EG> Или вообще не использовать ZFS.

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

--
WBR, Alexey Markov. 



[freebsd] Re: [freebsd] Re: [freebsd] На каком уровне работает сжатие в ZFS - блоки, файлы, другое?

2013-04-16 Пенетрантность Alexey Markov

Hello, Volodymyr!
On April, 16 2013 at 15:33 you wrote to Alexey Markov:

??>> Не совсем так. При создании ФС указывается параметр volblocksize,
??>> который определяет размер блока, записываемого "за раз" на диск. Его
??>> действительно стараются выбирать совпадающим с типичным блоком данных
??>> (4К для раздела со свопом, 8К для MyISAM, 16К для InnoDB). И есть ещё
??>> размер блока на самой ФС, размер которого может меняться от 512 байт
??>> до 128 килобайт.

VK> volblocksize определяет размер блока для vdev а не для обычных файловых
VK> систем, я имел в виду recordsize.

Блин, это я со свопом на ZFS сейчас экспериментировал, вот и спутал. Да,
конечно - для датасетов размер блока задаётся через recordsize, но даже
в мане об этом пишут так:

Specifies a _suggested_ block size for files in the file system. This
property is designed _solely for use with database_ workloads that
access files in fixed-size records.  ZFS _automatically tunes block
sizes_ according to internal algorithms optimized for typical access
patterns.

??>> Например, файл на ZFS может занимать 3 блока по 128 К и один блок в
??>> 512 байт.

VK> Если честно здесь для меня самого тёмное место. Мне кажется вполне
VK> логичным что он будет так _занимать_ место, а при выделении места
VK> система будет просто виртуально делить весь файл на блоки по
VK> {recordsize}K и обрабатывать соответственно. Т.е.
VK> неполные/сжатые/дырявые блоки будут на диске занимать меньше места и
VK> храниться будут в блоках меньшего размера.

Я почитал "ZFS OnDisk Format", там пишется, что "ZFS supports variable
data and indirect block sizes ranging from 512 bytes to 128 Kbytes".
То есть, ZFS разобьёт большой файл на куски по 128К, а оставшийся
"хвост" засунет в блок меньшего размера, кратный 512 байтам.

--
WBR, Alexey Markov. 



[freebsd] Re: [freebsd] На каком уровне работает сжатие в ZFS - блоки, файлы, другое?

2013-04-16 Пенетрантность Alexey Markov

Hello, Volodymyr!
On April, 16 2013 at 14:16 you wrote to Alexey Markov:

VK> AFAIK текущий размер блока выбирается один раз при создании файла
VK> согласно установкам текущей файловой системы. Об этом косвенно
VK> свидетельствуют гайды по оптимизации баз данных (MySQL/PostgreSQL) в
VK> которых чётко прописано что раздел с базой нужно пересоздать иначе вне
VK> зависимости от размера транзакции ZFS будет читать и писать на диск
VK> полные блоки.

Не совсем так. При создании ФС указывается параметр volblocksize, который
определяет размер блока, записываемого "за раз" на диск. Его действительно
стараются выбирать совпадающим с типичным блоком данных (4К для раздела со
свопом, 8К для MyISAM, 16К для InnoDB). И есть ещё размер блока на самой ФС,
размер которого может меняться от 512 байт до 128 килобайт.

Например, файл на ZFS может занимать 3 блока по 128 К и один блок в 512 
байт.


--
WBR, Alexey Markov. 



Re: [freebsd] �� ����� ������ �������� ������ � ZFS - �����, �����, ������?

2013-04-16 Пенетрантность Alexey Markov

Hello, Vladislav!
On April, 16 2013 at 14:07 you wrote to UAFUG:

??>>>> Собственно, сабж. Конкретнее: вот есть у меня текстовый файл
??>>>> размером в гигабайт, и 10 раз в секунду к нему дописывается
??>>>> ещё по 100 байт (открыли файл, дописали, закрыли). Какой объём
??>>>> будет подвергаться сжатию на ZFS - весь файл; индивидуальные
??>>>> кусочки по 100 байт; хвост файла, находящийся в последнем блоке?
??>>
AY>>> Cow подразумевает обновление только измененного блока плюс того
AY>>> блока где инфа о блоках. Это было бы логично :)
??>>
??>> Дело в том, что у ZFS динамический размер блока, по-умолчанию - от
??>> 512 байт до 128 килобайт. Судя по доке, сжатие происходит только в
??>> том случае, если сжатый кусок файла потом может уместиться в блоке
??>> меньшего размера, чем раньше. И вот тут возникает проблема: если у
??>> нас к файлу добавляются маленькие кусочки (как это обычно бывает с
??>> логами), то очень скоро весь огромный файл будет представлять собой
??>> последовательность сжатых блоков минимального размера. И выигрыш от
??>> сжатия таких блоков тоже будет минимальный.

VP> Как вы себе представляете прибавление к сжатому файлу не сжатого куска?

Ну, этот вопрос уже больше похож на исторический анекдот про схоластов,
которые с мордобоем выясняли, сколько у лошади _должно быть_ зубов. ;-)

Но лично мне самый разумный алгоритм сжатия представляется таким:

1. Считываем последний блок файла и расжимаем его (если он был сжат).

2. Добавляем к нему кусок, который требуется дописать к файлу.

3. Получившийся массив сжимаем.

4. Если в сжатом виде он умещается в размер последнего блока файла -
записываем его и радуемся съэкономленному дисковому пространству.

5. Если не умещается - не трогаем уже сжатый блок, а пытаемся сжать
только тот кусок, что нужно дописать к файлу.

6. Если в сжатом виде он занимает блок размером меньше, чем в несжатом,
то опять же - записываем его и радуемся съэкономленному дисковому
пространству.

7. Иначе - пишем в новый блок несжатый кусок файла. Не повезло. Бывает.

Хорошо, если дописываемый кусок составляет несколько килобайт, тогда он
гарантированно будет сжат на шаге 4 или 6. А вот в случае туевой хучи
маленьких добавлений по 1-2 строчки текста это приведёт к тому, что
последний сжатый блок файла всегда будет минимального размера.

--
WBR, Alexey Markov. 



Re: [freebsd] �� ����� ������ �������� ������ � ZFS - �����, �����, ������?

2013-04-16 Пенетрантность Alexey Markov

Hello, Alexander!
On April, 16 2013 at 13:23 you wrote to Alexey Markov:

??>> Собственно, сабж. Конкретнее: вот есть у меня текстовый файл
??>> размером в гигабайт, и 10 раз в секунду к нему дописывается
??>> ещё по 100 байт (открыли файл, дописали, закрыли). Какой объём
??>> будет подвергаться сжатию на ZFS - весь файл; индивидуальные
??>> кусочки по 100 байт; хвост файла, находящийся в последнем блоке?

AY> Cow подразумевает обновление только измененного блока плюс того
AY> блока где инфа о блоках. Это было бы логично :)

Дело в том, что у ZFS динамический размер блока, по-умолчанию - от
512 байт до 128 килобайт. Судя по доке, сжатие происходит только в
том случае, если сжатый кусок файла потом может уместиться в блоке
меньшего размера, чем раньше. И вот тут возникает проблема: если у
нас к файлу добавляются маленькие кусочки (как это обычно бывает с
логами), то очень скоро весь огромный файл будет представлять собой
последовательность сжатых блоков минимального размера. И выигрыш от
сжатия таких блоков тоже будет минимальный.

Меня этот вопрос интересует с чисто практической точки зрения: есть
у меня сервер, где огромные логи пишутся именно таким способом, и я
хочу выяснить для себя, будет ли какая-то польза от включения сжатия
на разделе с этими логами, или это только приведёт к потерям времени
проца на пережатие одних и тех же маленьких блоков.

Жаль, что в Инете нет внятного описания механизма принятия решения о
сжатии блоков в ZFS. Это многое прояснило бы... :-/

P.S. "Включи и попробуй" - хороший и самоочевидный, но конкретно в
моём случае неприменимый совет. Поэтому и ищу ответ аналитическим
путём.

--
WBR, Alexey Markov. 



[freebsd] �� ����� ������ �������� ������ � ZFS - �����, �����, ������?

2013-04-16 Пенетрантность Alexey Markov

Приветствую, All!

Собственно, сабж. Конкретнее: вот есть у меня текстовый файл
размером в гигабайт, и 10 раз в секунду к нему дописывается
ещё по 100 байт (открыли файл, дописали, закрыли). Какой объём
будет подвергаться сжатию на ZFS - весь файл; индивидуальные
кусочки по 100 байт; хвост файла, находящийся в последнем блоке?

Как ни странно, но никакой внятной информации на этот счёт Гугль
не даёт. :-/

--
WBR, Alexey Markov. 



Re: [freebsd] svn checkout?

2013-03-21 Пенетрантность Alexey Markov

Hello, Vasiliy!
On March, 21 2013 at 15:55 you wrote to Alexey Markov:

??>> Потому что freebsd-update и portsnap уже есть в системе. В отличие от.
VPM> если исходников нет - freebsd-update не поможет

Что мешает один раз взять эти исходники с официального сайта или с компашки?

--
WBR, Alexey Markov. 



Re: [freebsd] svn checkout?

2013-03-21 Пенетрантность Alexey Markov

Hello, Vasiliy!
On March, 21 2013 at 14:07 you wrote to Рассылка FreeBSD UA:

VPM> А еще вы забываете, что каким-то образом надо получить еще и исходники
VPM> системы, а их точно придется брать из svn-а.

Не точно. Я для -SECURITY обновляю исходники через freebsd-update.

VPM> И возникает резонный вопрос - зачем держать 2 инструмента, если можно
VPM> использовать один.

Потому что freebsd-update и portsnap уже есть в системе. В отличие от.

--
WBR, Alexey Markov. 



Re: [freebsd] 9.1 hangs on reboot after all buffers synced

2013-03-04 Пенетрантность Alexey Markov

Hello, Eugene!
On March, 04 2013 at 10:03 you wrote to Vasiliy P. Melnik:

EG> From-To:  patched->closed
EG> By:  avg
EG> When:  Mon Jan 21 15:45:52 UTC 2013
EG> Why:  Should be fixed in head and stable/9 now. No MFC to stable/8 is 
planned

EG> at the moment, because of differences in the ZFS code bases.

Круто. Другими словами, либо накатывайте на рабочие сервера STABLE,
либо ждите следующего релиза. А для 8-ки вообще ничего не ждите. :-/

Что-то я всё больше склоняюсь к мысли пропустить очередную нечётную
ветку. От 2.Х, 4.Х, 6.Х и 8.Х остались только приятные воспоминания,
а 3.Х и 5.Х были тихим ужасом. 7.Х даже не смотрел. Видимо, и с 9.Х
такая же фигня получится.

--
WBR, Alexey Markov. 



Re: [freebsd] 9.1 hangs on reboot after all buffers synced

2013-03-04 Пенетрантность Alexey Markov

Hello, Владимир!
On March, 04 2013 at 12:48 you wrote to freebsd@uafug.org.ua:

??>> В 9.1-STABLE был. В релизы коммитов не бывает, потому что релиз это не
??>> ветка, а снапшот с ветки.

ВД> А что тогда RELEASE 9.1p1, если в релиз нельзя коммитить?

Раньше это называлось 9.1-SECURITY - ветка, в которую после релиза
коммитят исправления безопасности (а не все исправления, как в STABLE).

--
WBR, Alexey Markov. 



[freebsd] Что-нибудь известно насчёт 8.4 - будет или нет?

2013-03-03 Пенетрантность Alexey Markov
 Всем, всего и много!

У меня есть с десяток серверов на эхотаге, разбросанных по разным странам.
Для простоты управления стараюсь держать на них одинаковые версии системы,
в данный момент это 8.3-SECURITY (а на части особо старых - 6.4-STABLE).

Собственно, вопрос: есть какие-нибудь достоверные сведения/слухи/предположения
насчёт выхода 8.4? Потому что если 8.4 планируется к выпуску, то я спокойно 
сижу на
текущей версии, а если нет - то ставлю на новые сервера 9.1 и буду готовиться к
обновлению систем и портов на имеющихся серверах.

-- 
С уважением, Алексей Марков.


Re: [freebsd] PostgreeSQL in jails

2013-01-22 Пенетрантность Alexey Markov

Hello, Mykola!
On January, 22 2013 at 15:38 you wrote to Alexey Markov:

AY>>> Если вдруг кто то использует PostgreeSQL в jail-ах, не спешите
AY>>> обновляться.
??>> Блин! Я как раз использую Постгрес в джейлах на сервере одного
??>> проекта. Ну нахрена было ломать то, что годами работало?! :-((
MD> А зачем Вы обновляетесь, если у Вас "годами работало"?

А с чего вы решили, будто я обновляюсь? Мне хватает и нормального секса,
помимо STABLE на боевых серверах. ;-)

Но вот если эту багу не исправят до будущего гипотетического выпуска
8.4, то будет реально неприятно.

MD> Вы думаете что кто-то пошел и специально сломал то, что работало, да?

У вас весьма странные предположения насчёт мотивации в данном случае,
но лично я думаю, что кто-то пошёл, и совершенно случайно сломал то,
что работало. И до сих пор не исправил.

--
WBR, Alexey Markov. 



Re: [freebsd] PostgreeSQL in jails

2013-01-21 Пенетрантность Alexey Markov

Hello, Anton!
On January, 22 2013 at 11:29 you wrote to Рассылка FreeBSD UA:

AY> Если вдруг кто то использует PostgreeSQL в jail-ах, не спешите
AY> обновляться.

AY> sysctl security.jail.sysvipc_allowed=1 (и jail_sysvipc_allow="YES" в
AY> rc.conf) больше не работает, и судя по тому что мой PR висит два месяца
AY> без комментариев:
AY> http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/173469
AY> чинить это не будут...

Блин! Я как раз использую Постгрес в джейлах на сервере одного проекта.
Ну нахрена было ломать то, что годами работало?! :-((

--
WBR, Alexey Markov. 



Re: [freebsd] ������� ��������

2013-01-11 Пенетрантность Alexey Markov

Hello, Alexander!
On January, 10 2013 at 22:40 you wrote to George L. Yermulnik:

AY> А сессии в бд уже не модно хранить ? :)

У DokuWiki, например, БД вообще нет - всё хранится в файлах.

--
WBR, Alexey Markov. 



Re: [freebsd] ������������� ������

2012-12-17 Пенетрантность Alexey Markov

Hello, Sayetsky!
On December, 17 2012 at 16:52 you wrote to Рассылка FreeBSD UA:

SA> Dropbox, наверное, самое оно. Кстати, забыл ещё одно условие - сервис
SA> должен быть полностью под моим управлением

На ОпенНете была недавно новость про какой-то open-source аналог Дропбокса.

--
WBR, Alexey Markov. 



Re: [freebsd] �����

2012-10-11 Пенетрантность Alexey Markov

Hello, Vladyslav!
On October, 12 2012 at 09:47 you wrote to UaFUG:

VK> ни разу этого не делал - если можно объясните как

http://www.freebsd.org/send-pr.html

--
WBR, Alexey Markov. 



Re: [freebsd] Re: ��������� ������ ��� web-hosting �� FreeBSD-9.0

2012-04-19 Пенетрантность Alexey Markov

Hello, Mykola!
On April, 19 2012 at 13:50 you wrote to Slawa Olhovchenkov:

??>>>> операционку по pxe наливать будешь?
??>>>
??>>> а по ipmi/usb, не? ;)
??>>
??>> а там ipmi виртуальные образа умеет? а то иногда за это денег
??>> дополнительных хотят. ну и загрузка с usb не во всяком биосе есть.

MD> supermicro не такие жадные, как некоторые. У них ipmi сразу
MD> полнофункциональный.

Подтверждаю. Не так давно устанавливал Фряху на супермикровский
сервер в Голландии с флешки, воткнутой в свой офисный комп. Оно
только Джаву для аплета удалённой консоли запросило, и всё.

--
WBR, Alexey Markov. 



Re: [freebsd] Re: Re: [beer] ��������� �� ����: "��� � ������ �� FreeBSD"

2012-04-13 Пенетрантность Alexey Markov

Hello, Eugene!
On April, 13 2012 at 14:32 you wrote to Alexander Yerenkow:

??>> *встал с кресла*
??>> - Здравстуйте, меня зовут Александр и я... я... использую FreeBSD уже
??>> много лет.
??>> *все аплодируют*

EG> Здравствуйте, меня зовут Евгений и я использую FreeBSD с версии 2.2.5.
EG> Но меня это не беспокоит.

Аналогично: юзаю FreeBSD с версии 2.2.5 - и не только не беспокоюсь по этому
поводу, но и активно радуюсь тому, что в своё время перешёл на неё с Красной
Шапки. Фряха стала второй системой, которая мне _нравится_ (первой была
незабвенная Полуось). А ведь получение удовольствия от работы - немаловажный
фактор в нашей профессии! :-)

--
WBR, Alexey Markov. 



Re: [freebsd] 8.3R

2012-04-13 Пенетрантность Alexey Markov

Hello, Sayetsky!
On April, 08 2012 at 10:52 you wrote to Рассылка FreeBSD UA:

SA> $ svn log | head -n 100
SA> ---
r234022 |> kensmith | 2012-04-08 08:09:40 +0300 (вс, 08 апр 2012) | 4 lines

SA> Ready for 8.3-RELEASE builds to start.

С утра на официальном ФТП исошки релиза лежат. Думаю, сегодня/завтра
уже анонс будет.

--
WBR, Alexey Markov. 



  1   2   >