Re: [freebsd] Не все письма из рассылки доходят до подписчиков.

2020-06-06 Пенетрантность Anton Yuzhaninov

On 2020-06-03 10:05, Taras Heichenko wrote:

А нельзя попробовать все перестроить с нуля? Ведь по миру народ пользуется 
mailman'ом, и похоже
без таких проблем.
У меня есть другая проблема с Mailman (2) - иногда он просто перестаёт 
работать и в логах при этом тишина. Похоже queue runner зависает, но в тот 
момент когда это случается разбираться времени нет, а ждать бага можно больше 
месяца, поэтому просто добавил /usr/local/etc/rc.d/mailman restart в cron.


Mailman 3 пробовал смотреть, но IMHO он пал жертвой
second-system syndrome - настроить и поддерживать его очень сложно.
Потратил в своё время недели две на него и бросил, потому что для получения 
работающего и сконфигурированного как мне надо сервера пришлось бы потратить 
больше месяца (и потом тратить время на каждое обновление).


Mailman 2 работает как надо, ставится легко и просто (по сравнению с 3), 
единственное от что сейчас не нравится - необходимость костыля с restart.


--
Best Regards,
Anton Yuzhaninov
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-04 Пенетрантность Anton Yuzhaninov
On 10/4/18 3:03 PM, Eugene Grosbein wrote:
> MS-CHAPv2 handshake не выполняется каждую секунду. Нужно либо иметь 
> возможность активно
> вмешиваться в канал, чтобы инициировать переустановку соединения, либо иметь 
> возможность
> длительного непрерывного мониторинга канала, чтобы поймать момент handshake.
> 
> Не то, чтобы это было неосуществимо, но овчинка должна стоить выделки и если 
> вас пасут люди,
> достаточно для этого мотивированные и имеющие необходимые ресурсы - да, лучше 
> PPtP не использовать.
> И вообще лучше стеганографию применять в дополнение к шифрованию.
> 
> Но закрыть от любопытных глаз WiFi-трафик ноутбука в открытой сети кафешки на 
> полчаса,
> причём трафик с шифрованными протоколами типа https/ssh/RDP внутри - PPtP 
> достаточен.
> 

Как раз таки в кафешке с WiFi поймать handshake несложно - достаточно
запустить сниффер до того как ты придешь и установишь pptp подключение. Да
даже если и после - WiFi можно заглушить на время больше таймаута pptp сессии,
не говоря уже о более тонких аттаках на WiFi подключение.

Даже если трафик внутри шифрованный перехват pptp-хендшейка позволит узнать
пароль, который потом можно использовать для доступа ко внутренней сети (если
VPN используется для доступа в какую то закрытую локалку).

Ну и зачем использовать DES, когда есть современные криптооллгаритмы.
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-04 Пенетрантность Anton Yuzhaninov
On 10/4/18 2:00 PM, Eugene Grosbein wrote:
> Во-вторых, вся "небезопасность" PPtP заключается только в том, что сложность 
> его взлома
> зависит от сложности используемых паролей (а не должна бы). Если использовать 
> не словарные
> пароли для PPtP, то никакой небезопасности в нём нет.

PPtP использует MSCHAPv2 для авторизации. Вот что писали про его безопасность
в 2001м году: https://penguin-breeder.org/pptp/download/pptp_mschapv2.pdf

On a system equipped with a 550MHz Intel Celeron,  we can test around 2^16
passwords per second.  At this speed, the remaining password space is searched 
in
2^36·2^−16 secs = 2^20 secs ≈ 2^14 mins ≈ 12 days

D pdf-ке выше речь идет про пароли длинной до 8 символов, но на современных
CPU (и тем более GPU) это будет сильно быстрее чем 2^16 паролей в секунду.

Плюс есть online сервис, который позволяет для перебора DES использовать FPGA:
https://crack.sh/
https://crack.sh/pptp/
Про скорсть пишут: this means that it can exhaustively search the entire
56-bit DES keyspace in ... ≈ 26 hours
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Минимизация сетей

2018-09-14 Пенетрантность Anton Yuzhaninov
On 9/14/18 3:04 AM, Alexey Krylov wrote:
> Есть список сетей
> 98.137.64.0/24
> 98.137.65.0/24
> 98.137.66.0/24
> 98.137.67.0/24
> 98.137.13.98/32
> 
> Нужно объединить их в
> 98.137.64.0/22
> 98.137.13.98/32
> 
> для firewall'a или для routing'a


Можно использовать простой perl-скрипт:
https://gist.github.com/citrin/96f7539cd09b8392145441f40106acfb

Net::CIDR::Lite это /usr/ports/net/p5-Net-CIDR-Lite

для routing можно сжимать еще сильноее в общем случае:
https://metacpan.org/pod/Net::CIDR::ORTC
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] postfix: whitelist and rbl

2018-08-15 Пенетрантность Anton Yuzhaninov
On 8/3/18 5:40 AM, Alexey Krylov wrote:
> если получатель или отправитель
> в белом списке, то чтобы rbl даже не проверялся, а письмо принималось
> или письмо принимать в любом случае

smtpd_restriction_classes = check_rbl ...

check_rbl =
reject_rbl_client cbl.abuseat.org
reject_rbl_client bl.spamcop.net


smtpd_recipient_restrictions =
   check_recipient_access pcre:$config_directory/maps/rbl_recipients


В файле rbl_recipients задается регекспами (или любым другим способом -
например явным список или запросом к базе) для кого проверять RBL

Например так
!/^(?:postmaster|dmarc-reports)@/   check_rbl
можно сделать чтобы RBL проверялся для всех кроме postmaster@ и dmarc-reports@

> добавлять тег какой-то, типа SPAM... или в тему письма добавлять *** SPAM *** 
> {Subject}

Для этого лучше применять полноценный антиспам, например rspamd или
Spamassasin (если трафика мало или много лишнего железа).
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Spectre patches

2018-02-28 Пенетрантность Anton Yuzhaninov
On 02/28/18 16:20, Eugene Grosbein wrote:
> Ну и теоретически для десктопов, но я слабо представляю себе, как можно 
> скрыть такую атаку на десктопе.

Оставить в браузере вкладку с работающим эксплоитом на javascript
(насколько понимаю оставить нужно на долго).

Но большинство браузеров добавили workaround, e. g.
https://blog.mozilla.org/security/2018/01/03/mitigations-landing-new-class-timing-attack/
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Повторный запуск скрипта в cron

2017-01-26 Пенетрантность Anton Yuzhaninov

On 01/25/17 07:49, Alexey Krylov wrote:

Есть задача в cron'e rsync'ом делать зеркало раз в минуту
Как правильно обезопаситься от повторного запуска скрипта?


В случае FreeBSD ответ очень простой - lockf(1)
Не понятно почему тред вырос до таких размеров.

Для Linux ответ может быть длинее потому что из коробки подобной утилиты 
там нет, а поставить из пакетов можно много похожих утилит, есть простор 
для обсуждения bikeshed color.

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


Re: [freebsd] spamassasin

2017-01-25 Пенетрантность Anton Yuzhaninov

On 01/24/17 08:14, Taras Heychenko wrote:

Машина у меня конечно слабенькая, но на предыдущем винче с этим же процессором 
и памятью spamd
стартовал и вполне себе работал.


Рекомендую посмотреть в сторону rspamd. Немного сложнее в настройке, но 
ресурсов кушает на порядок меньше чем SA.

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


Re: [Freebsd] сделать vmdk из реального диска

2017-01-05 Пенетрантность Anton Yuzhaninov

On 01/05/17 19:14, Timofey Andreewski wrote:

Ткните, плз, носом, куда рыть, чтобы сообразить, как можно склонировать
реальный системный диск с работающей freebsd в формат vmdk (ну или любой
другой виртуальный формат ибо дальше они друг в друга в общем-то
конверуются несложно, как я понял). Вот никак не могу найти и сообразить
чем это можно делать... Желательно бесплатным способом, конечно, и по
возможности удаленно и/или не выключая машину, установив какую-нибудь
тулзу...


mkimg(1)

Но если делать не выключая машину, результат может получиться 
неконсистентным. Если возможно, лучше перемонтировать FS в read only.

___
Freebsd mailing list
Freebsd@uafug.org.ua
http://078.vps.ho.ua/mailman/listinfo/freebsd


Re: [freebsd] /dev/ada*p* или /dev/diskid/DISK-${id}p*?

2016-10-24 Пенетрантность Anton Yuzhaninov

On 10/23/16 12:34, Valentin Nechayev wrote:

а от чего зависит, при буте будут видны имена первого или второго типа?
При переходе на 10.3 вдруг активировались diskid'ы, пришлось менять fstab.
Сегодня на новом ядре вдруг вернулись ada* варианты, опять менять fstab.

И, главное, оба одновременно - почему-то не сделали...


Как уже было сказано - до монтированая (или включения диска в gmirror и 
т. п.) должны быть видны оба варианта одновременно.


Если в fstab все ФС были прописаны как /dev/adaN* то должно работать в 
таком виде и в 10.3 и в других версиях.


Смонтировать часть разделов диска через diskid? а другую часть разделов 
этого же диска через /dev/adaN* возможно не получится.


Чтобы было понятно что происходит рекомендую добавить в loader.conf
kern.geom.label.debug=1


[freebsd] Re: [freebsd] Проблемы миграция с 10.3-STABLE (август 2016) на 11.0

2016-09-01 Пенетрантность Anton Yuzhaninov

On 2016-09-01 12:22, Vladislav V. Prodan wrote:

FreeBSD 11.0-PRERELEASE #0: Thu Sep  1 16:09:26 EEST 2016

После установки нового мира на почти чистую машину не проходят команды:

[19:15]204:root-> /root# cd /usr/src
[19:16]204:root-> /usr/src# make check-old
*** Signal 12


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


Если используется кастомный конфиг ядра, а не GENERIC то нужно следить 
за тем, что добавляют в GENERIC, в частности при обновлении на 11 лучше 
добавить options COMPAT_FREEBSD10


Re: [freebsd] Re: [freebsd] Re: [freebsd] Миграция пакетов, установленных с портов в pkg

2015-11-06 Пенетрантность Anton Yuzhaninov

On 11/06/15 15:56, Vladislav V. Prodan wrote:


Это вроде назначалась, но при следующем запуске
pkg install glib-2 colorize
все равно пытались поставить perl 5.20


В официальных сборках пакетов есть perl только одной версии - той которая сейчас 
по умолчанию.


Если нужна другая версия, то есть два варианта:
- собирать (или как минимум почти всё) всё из портов
- сделать свой репозиторий бинарных пакетов с нужными версиями с помощью 
poudriere

Использование бинарных пакетов лишает возможности выбирать версии и опции 
портов.


[freebsd] Re: [freebsd] Выбор или рейтинг сетевых карт под FreeBSD (10.2)

2015-10-20 Пенетрантность Anton Yuzhaninov

On 10/20/15 12:16, Vladislav V. Prodan wrote:


Поставщик предлагает:
  Есть Intel pro 1000ET и Intel pro 1000VT. Обе имеют 4 порта. ET дороже. VT
дешевле.


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

http://www.intel.com/content/dam/www/public/us/en/documents/brochures/ethernet-controllers-phys-brochure.pdf


Re: [freebsd] sendmail + roundcube

2015-10-16 Пенетрантность Anton Yuzhaninov

On 10/16/15 13:13, Slawa Olhovchenkov wrote:

ну и вообще, общую
переусложненность postfix:

postfix  48387 51021 51021 510210 I -   0:00.02 pickup -l -t fifo -u
root 51021 1 51021 510210 Ss-   0:18.19 
/usr/local/libexec/postfix/master -w
postfix  51023 51021 51021 510210 I -   0:14.45 qmgr -l -t fifo -u
postfix  51218 51021 51021 510210 S -   0:00.02 smtpd -n smtp -t 
inet -u -o stress=
postfix  51219 51021 51021 510210 S -   0:00.01 anvil -l -t unix -u
postfix  52607 51021 51021 510210 S -   0:00.01 trivial-rewrite -n 
rewrite -t unix -u
postfix  52677 51021 51021 510210 I -   0:00.01 cleanup -z -t unix 
-u
postfix  52680 51021 51021 510210 I -   0:00.01 smtp -t unix -u
postfix  52682 51021 51021 510210 I -   0:00.01 smtp -t unix -u
postfix  52684 51021 51021 510210 I -   0:00.01 pipe -n dovecot -t 
unix flags=DRhu user=mailnull:mailnull argv=/usr/local/libexec/dovecot/deliver 
-d ${recipient}
postfix  52709 51021 51021 510210 S -   0:00.02 smtpd -n smtp -t 
inet -u -o stress=
postfix  52793 51021 51021 510210 I -   0:00.01 smtp -t unix -u
postfix  52795 51021 51021 510210 I -   0:00.01 smtp -t unix -u

куча каких-то демонов, как-то перадающих задание друг другу,


Это не переусложнённость, а модульная архитектура:
http://www.postfix.org/OVERVIEW.html
Разделение на разные процессы повышает надёжность и безопасность (за счёт 
privilege separation).


В Dovecot очень похожий подход:
http://wiki2.dovecot.org/Design/Processes

Если всё то же самое запихать в один процесс, сложность никуда не денется 
(просто будет меньше заметна админу).


Re: [freebsd] sendmail + roundcube

2015-10-15 Пенетрантность Anton Yuzhaninov

On 10/15/15 22:20, Eugene Grosbein wrote:

Можно подумать, sendmail негибок в конфигурировании или много жрет :-)


sendmail очень неудобен и сложен в настройке, особенно если требуется гибкость, 
хотя есть любители тонких извращений.


И ресурсов, насколько помню, он кушает побольше чем postfix, по крайней мере 
когда лет 7 назад перевёл один нагруженный сервер с sendmail на postfix разница 
по мониторингу была заметна, хоть и меньше чем в 2 раза.


Re: [freebsd] sendmail + roundcube

2015-10-15 Пенетрантность Anton Yuzhaninov

On 10/15/15 20:37, Andrey wrote:

Привет. Хочу поставить roundcube на VPS кто какой imap сервер посоветует. 
желательно менеересурсоемкое.
По сути нужна вебморда для почты. Количество доменов до 5 в перспективе сейчас 
1.

Имеет ли смысл пользовать для этого стандартный sendmail + milter-greylist и в 
качестве IMAP сервера использовать Cirus-Imapd. Меня смущает требование 
стороннего демона аутентификации SASL-authd в Cirus-Imapd. Хочется обойтись по 
минимуму без необходимости использовать SQL базы.


Для небольшого сервера я бы взял связку dovecot+postfix+sqlite
SASL-authd при этом не нужен.



Re: [freebsd] ctrl+c

2015-10-13 Пенетрантность Anton Yuzhaninov

On 10/13/15 18:52, Vasiliy P. Melnik wrote:

Можно попробовать сохранить вывод
ssty -a в файл

я не нашел такого ни в системе, ни в портах


это команда из base system:
https://www.freebsd.org/cgi/man.cgi?query=stty&manpath=FreeBSD+10.2-RELEASE


Re: [freebsd] ctrl+c

2015-10-13 Пенетрантность Anton Yuzhaninov

On 10/10/15 15:13, Vasiliy P. Melnik wrote:

Заходим на машину по ssh, нажимаем ctrl+c - все ок, терминал нормально
обрабатывает и просто переводит строку. Стоит запустить какое-то приложение,
вообще любое, после этого комбинация клавиш ctrl+c вызывает закрытие удаленного
сеанса и завершение ssh-сессии.


Можно попробовать сохранить вывод
ssty -a в файл
в случае когда есть странная реакция на ctrl+c и когда её нет и посмотреть есть 
ли diff.


Re: [freebsd] perl 5.20

2015-09-21 Пенетрантность Anton Yuzhaninov

On 09/21/15 15:59, Vasiliy P. Melnik wrote:

Да, проблема решилась удалением строки со старой версией perl’а из 
make.conf, но
заметил все же некоторое нарушение в логике. После обновления дерева портов
я perl обновил с помощью portupgrade, так что дело все же не только в дереве
портов
было. Но это уже так, замечания вслед.


Мораль - не надо что-то менять, если в этом нет крайней необходимости.



Расскажите это Mathieu Arnold  - он регулярно вносит в порты 
изменения ломающие совместимость с существующими инсталляциями. При этом заранее 
не анонсирует и не обсуждает изменения в maillist-ах. Хорошо хоть в UPDATING 
записи добавляет.


Re: [freebsd] rc.conf.d

2015-09-09 Пенетрантность Anton Yuzhaninov

On 09.09.2015 12:54, Denis Zaika wrote:

Кто-то пользует  субж?


Использую. У нас почти все конфиги ставятся из локальных портов. И файлы 
в /etc/rc.conf.d тоже ставятся из портов.


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



Например service -e не выводит в списке скрипты,
активированные в отдельных файлах.


Это баг и в current его уже исправили:
https://svnweb.freebsd.org/base?view=revision&revision=287576


Re: [freebsd] Re: [freebsd] ntpdate стартует раньше, чем bind

2015-09-02 Пенетрантность Anton Yuzhaninov

On 09/02/15 08:58, Anton Sayetsky wrote:

Вопрос к сторонникам ntpdate. А вы можете привести реальный пример из
своей практики, когда с ntpdate что-то работало, а с
ntpd_sync_on_start (ключ "-g") нет?


ntpd_sync_on_start (ключ "-g") подводит часы уже после запуска почти всех 
демонов. Т. е. сначала они успеют поработать с неправильным временем (если HW 
RTC плохой или батарейка села, то оно может быть сильно неправильным). Потом в 
процессе работы происходит скачёк времени (и многие демоны из за этого скачка 
некорректно отрабатывают таймауты).


[freebsd] Re: [freebsd] ntpdate стартует раньше, чем bind

2015-09-02 Пенетрантность Anton Yuzhaninov

On 09/01/15 20:29, Vladyslav Kolesnyk wrote:

пропишите в конфиге

ntpdate_enable="YES"
ntpdate_hosts="62.149.0.30 31.28.161.71 212.115.229.130 62.149.2.62 62.149.2.2"


Это можно писать в /etc/rc.conf.d/ntpdate скриптом из крона, который ресолвит 
заданные имена (и ругается если отресолвить не удалось).


Ещё полезно добавить
ntpdate_flags="-st5"

-s чтобы писал в syslog на сколько изменено время.
-t 5 - увеличение таймаута. По умолчанию 1, что бывает мало.


Re: [freebsd] Re: [freebsd] Fwd: Нужен скрипт/система для мониторинга качества каналов и вести архив трасс, потерь, задержек

2015-05-20 Пенетрантность Anton Yuzhaninov

On 05/20/15 17:16, Vladislav V. Prodan wrote:


Сделайте вывод mtr --raw hetzner.de 
И почитайте вывод данных, там все есть.


mtr --raw hetzner.de > /tmp/1.txt
mtr --raw hetzner.de > /tmp/2.txt

diff -u /tmp/1.txt /tmp/2.txt
показывает что файлы изменились практически полностью.

Т. е. если нужно отслеживать факт изменения маршрута, то нужна пост-обработка.
Хотя вывод mtr --raw парсить удобнее чем traceroute.

Но зато у traceroute есть ключик -a для AS lookup, что тоже бывает полезно, mtr 
насколько вижу такого не умеет.


Re: [freebsd] Fwd: Нужен скрипт/система для мониторинга качества каналов и вести архив трасс, потерь, задержек

2015-05-20 Пенетрантность Anton Yuzhaninov

On 05/20/15 15:44, Vladislav V. Prodan wrote:

Хочется задать с 10-к или больше разных IP и вести архив трасс, потерь, 
задержек.

Смотрю в сторону mtr.
Есть ли надстройки для парсинга mtr --raw  ?
Как хранить датаграммы трасс? rrdtools, вроде, не подходит для хранения массива
значений.
Пока вижу хранение в RCS или sqlite...


Для мониторинга задержек и потерь я использовал smokeping
http://oss.oetiker.ch/smokeping/
и остался доволен этим инструментом, но он требует времени на вдумчивое чтение 
документации и написание конфига...


Про трассы он ничего не знает.
Для того чтобы отслеживать изменении маршрута я бы написал небольшой скрипт (на 
perl/ruby/python), который работает по схеме


traceroute -> нормализация/сортировка результата -> сохранение в текстовый файл 
-> hg/git commit


Нормализация нужна, потому что из за балансировки по параллельным каналам каждый 
запуск traceroute будет выдавать ip-адреса в разном порядке.


Вот например traceroute до одного и того же хоста в hetzner запущенный два раза 
подряд:


 6  core21.hetzner.de (213.239.245.217)  42.270 ms  42.416 ms  42.502 ms
 7  juniper3.rz10.hetzner.de (213.239.245.102)  42.894 ms
juniper3.rz12.hetzner.de (213.239.245.142)  42.830 ms
juniper3.rz10.hetzner.de (213.239.245.102)  42.818 ms
 8  hos-tr1.ms-ex3k1.rz16.hetzner.de (213.239.226.194)  46.671 ms  53.109 ms
hos-tr4.ms-ex3k1.rz16.hetzner.de (213.239.226.242)  45.035 ms

 6  core22.hetzner.de (213.239.245.178)  42.537 ms  42.538 ms
core21.hetzner.de (213.239.245.217)  42.291 ms
 7  juniper3.rz10.hetzner.de (213.239.245.102)  42.455 ms  42.568 ms  42.600 ms
 8  hos-tr2.ms-ex3k1.rz16.hetzner.de (213.239.226.210)  44.479 ms
hos-tr1.ms-ex3k1.rz16.hetzner.de (213.239.226.194)  46.654 ms
hos-tr4.ms-ex3k1.rz16.hetzner.de (213.239.226.242)  45.785 ms


Re: [freebsd] 32-битные версии пакетов для amd64

2015-04-17 Пенетрантность Anton Yuzhaninov

On 04/17/15 13:37, Konstantin Stefanov wrote:

А кстати, что и куда надо сказать, чтобы uname внутри jail говорил, что
тут 32 бита? Где-то при запуске UNAME_p выставить?



Можно написать в /etc/make.conf

UNAME_ENV+= UNAME_r=9.3-STABLE
UNAME_ENV+= UNAME_s=FreeBSD
UNAME_ENV+= UNAME_v="${UNAME_s} ${UNAME_r}" # нужно если версии jail и 
mainhost отличаются

UNAME_ENV+= UNAME_p=i386

.MAKEFLAGS: ${UNAME_ENV}
MAKE_ENV+=  ${UNAME_ENV}
CONFIGURE_ENV+= ${UNAME_ENV}
SCRIPTS_ENV+=   ${UNAME_ENV}

Хотя poudriere пишет в make.conf

ARCH=i386
MACHINE=i386
MACHINE_ARCH=i386

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


Re: [freebsd] 32-битные версии пакетов для amd64

2015-04-17 Пенетрантность Anton Yuzhaninov

On 04/17/15 09:40, Konstantin Stefanov wrote:

А есть ли для FreeBSD 32-битные версии пакетов для 64-битной системы?

У меня есть 32-битный бинарник, который я хочу запустить на 64-битной
системе, и которому нужны библиотеки типа pcre, iconv и еще что-то в том
духе.


Возможно проще будет создать 32-х битный jail и в нём уже ставить обычным 
способом, через pkg или порты.


Re: [freebsd] Write failed

2015-04-03 Пенетрантность Anton Yuzhaninov

On 04/03/15 12:35, Taras Heychenko wrote:

Apr  2 15:08:48 academ sshd[50821]: fatal: Write failed: Permission denied 
[preauth]


Ошибка Permission denied на системный вызов write(2) выдаётся, когда пакеты 
заблокированны локальным файрволом.


Re: [freebsd] Скорость ZFS на гостевой ОС под vmware

2015-02-11 Пенетрантность Anton Yuzhaninov

On 02/11/15 18:30, Golub Mikhail wrote:

5 минут и тестовая машинка готова.
Захожу на не по ssh, выполняю команду:
dd if=/dev/zero of=/test.iso bs=1m count=3000

Т.е. в корень пишу файл размером 3 Гб.
Время записи 2.712556 secs (может колебаться на доли секунд).

Подключаю на вирт. машину еще один жесткий диск.
Выполняю:
dd if=/dev/zero of=/dev/da1 bs=1m count=3000

Время записи - 18.470716 secs


Рекомендую во время обоих этих тестов смотреть gstat. Надеюсь будет понятнее, 
что происходит.


Re: [freebsd] full duplex

2014-12-23 Пенетрантность Anton Yuzhaninov

On 12/23/14 14:44, Eugene Grosbein wrote:

Вместе с watchdog timeout похоже на баги в драйвере. Версия какая?


Или железе. Что в случае re вполне вероятно.


Re: [freebsd] full duplex

2014-12-23 Пенетрантность Anton Yuzhaninov

On 12/23/14 14:40, Vasiliy P. Melnik wrote:

Страшно - мне до сервера 500 км :)  и он от киева за 25 км. Кроме меня его
починить не то чтобы не кому, но напряжно


Если это сервер, то я бы по возможности заменил re на что то более серверное 
(em/igb/bge). Хотя сейчас почти все мамки имеют набортные сетевухи, поэтому 
купить сетевую в виде отдельной карты сложно (но можно).


Re: [freebsd] full duplex

2014-12-23 Пенетрантность Anton Yuzhaninov

On 12/23/14 14:27, Vasiliy P. Melnik wrote:


Надо сотку, потому что на гигабите сетевуха валится
re0 watchdog timeout


Я бы попробовал покрутить
hw.re.msi_disable
hw.re.msix_disable


Re: [freebsd] full duplex

2014-12-23 Пенетрантность Anton Yuzhaninov

On 12/23/14 14:06, Vasiliy P. Melnik wrote:

media: Ethernet 100baseTX  (100baseTX )
status: active


Насколько понимаю 1-е это то что задано в настройках, второе - до чего сетевуха 
договорилась со свитчём.


re это умеет 1Gbit, зачем нужно 100 Mbit?


Re: [freebsd] HP Blade c7000 + FreeBSD 7.2 + HP 6125G/XG Blade Switch

2014-12-16 Пенетрантность Anton Yuzhaninov

On 12/15/14 16:38, Alexandr Khomenko wrote:

Но вот для FreeBSD случился коллапс по сетевой подсистеме.
   Сервер ProLiant BL260c G5, сетевая - HP NC326i Dual Port PCI-E Gigabit
Adapter (драйвер bge). ifconfig bge0 - no carrier.
На порту коммутатора interface down. Если перезагрузить сервак и мониторить логи
коммутатора, то видно, что после перезагрузки интерфейс поднимается. По мере
подгрузки драйверов, наверное при загрузке сетевого, порт свича переходит в 
down.
   Пробовал загрузить FreeBSD 10.1 - картина не изменилась.  Версия микрокода
для драйвера - последняя (старая), серваку больше 5 лет.
Пробовал насильно указать media type, но:
ifconfig -m bge0
 supported media:
 media autoselect
 media 1000baseSX mediaopt full-duplex

Подскажите, куда капнуть.


Я попробовал:

1. загрузить конкретно на этом лезвии Linux чтобы исключить вариант с 
неработающим железом.


2. поделать ifconfig bge0 down / ifconfig bge0 up на загруженном сервере. 
Паралельно смотреть логи коммутатора.


3. попробовал бы покрутить hw.bge.allow_asf и dev.bge.%d.msi




Re: [freebsd] HP Blade c7000 + FreeBSD 7.2 + HP 6125G/XG Blade Switch

2014-12-15 Пенетрантность Anton Yuzhaninov

On 12/15/14 16:38, Alexandr Khomenko wrote:


ifconfig -m bge0
 supported media:
 media autoselect
 media 1000baseSX mediaopt full-duplex

Подскажите, куда капнуть.


А патчкорды при замене коммутатора не менялись?
Может банально перепутны RX и TX волокна?


Re: [freebsd] squid: kern.maxfilesperproc

2014-12-03 Пенетрантность Anton Yuzhaninov

On 12/03/14 15:51, Golub Mikhail wrote:

Добавление в стартовый срипт помогло:
eval `/usr/bin/limits -e -C daemon` 2>/dev/null



IMHO стоит написать об этом мейнтенеру порта squid.

Более радикальное решение проблемы - добавить это в /etc/rc



Re: [freebsd] squid: kern.maxfilesperproc

2014-12-03 Пенетрантность Anton Yuzhaninov

On 12/03/14 15:11, Golub Mikhail wrote:

При загрузке системы имеем  "limits -a":
openfiles   28737

А после загрузки от рута "limits -a":
openfiles  10

В /etc/login.conf классы default и daemon не менял.


https://www.freebsd.org/doc/handbook/security-resourcelimits.html
"Processes started at system startup by /etc/rc are assigned to the daemon login 
class."


Возможно handbook ошибается.
Или где то есть баг и лимиты от daemon login class не применяются (или 
применяются до /etc/rc.d/sysctl).


Можно попробовать как в стартовом скрипте апача в precmd сделать

eval `/usr/bin/limits -e -C daemon`


Re: [freebsd] squid: kern.maxfilesperproc

2014-12-03 Пенетрантность Anton Yuzhaninov

On 12/03/14 13:40, Lystopad Aleksandr wrote:

В /etc/sysctl.conf указано:
kern.maxfilesperproc=10


Попробуйте это указать в /boot/loader.conf -- возможно это решение.


kern.maxfilesperproc это именно sysctl, а не loader tunable. Из loader.conf не 
должно читаться совсем.


Re: [freebsd] squid: kern.maxfilesperproc

2014-12-03 Пенетрантность Anton Yuzhaninov

On 12/03/14 13:26, Golub Mikhail wrote:

Через rcorder показывает, что /etc/rc.d/sysctl стартует в самом начале.
/usr/local/etc/rc.d/squid гораздо позже.


Я бы для отладки добавил в /usr/local/etc/rc.d/squid (в precmd если она там 
есть)

set -x
limits -a
sysctl kern.maxfilesperproc
set +x


Re: [freebsd] squid: kern.maxfilesperproc

2014-12-03 Пенетрантность Anton Yuzhaninov

On 12/03/14 13:26, Golub Mikhail wrote:

Доброго времени суток.

Еще один вопрос, который решаю перезапуском сквида. Но это не правильно :)

Мне мало дескрипторов, с которыми сквид запускается при старте системы
(именно после перезагрузки сервера).

В /etc/sysctl.conf указано:
kern.maxfilesperproc=10


Этот sysctl задает значение по умолчанию для RLIMIT_NOFILE (man setrlimit).

На уже запущенные процессы это не влияет.

Текущий лимит можно посмотреть через
ulimit -n

Когда из шелла запускается squid - он наследует лимит, который был в запускающем 
шелле.


Именно по этому в конфиге nginx есть такая опция:

http://nginx.org/r/worker_rlimit_nofile

Если у squid такой опции нет, то можно попробовать выйти с сервера и залогинится 
по новой. Возможно лимит применится новый - проверить через ulimit -n / ulimit -a

Если лимит поменялся - можно перезапускать squid.


Re: [freebsd] Re: [freebsd] Re: [freebsd] Перевод времени в MSK зоне

2014-10-29 Пенетрантность Anton Yuzhaninov

On 10/29/14 13:48, Anton Sayetsky wrote:

Да, кстати, zoneinfo при установке говорит, что tzsetup надо запускать. Нет бы
симлинк сделать вместо копирования файла...


Копирование делается на тот случай если / и /usr живут на разных файловых 
системах и когда смотирован / а /usr ещё нет, правильно время уже нужно.


Re: [freebsd] Перевод времени в MSK зоне

2014-10-29 Пенетрантность Anton Yuzhaninov

On 10/29/14 13:33, greenh wrote:


Хотя на самом деле в России в msk на час меньше, т.е. он просто игнорирует 
перевод.


А файлы tzdata обновлены?
http://ru-freebsd.livejournal.com/239548.html

а лучше обновить FreeBSD любым доступным методом (freebsd-update или 
buildworld).


Re: [freebsd] порты

2014-10-10 Пенетрантность Anton Yuzhaninov

On 10/10/14 20:25, A. D. M. wrote:


Unknown modifier 't'

Unknown modifier 't'


Скорее всего:
https://svnweb.freebsd.org/ports?view=revision&revision=352986

Можно обновить make отдельно, но лучше обновить FreeBSD целиком.
pkg_install больше не подддерживается, надо переходить на pkg, а он на старых 
(не поддерживаемых) системах может и не собираться.


Re: [freebsd] Яндекс-диск через webdav.yandex.ru

2014-09-30 Пенетрантность Anton Yuzhaninov

On 09/30/14 13:46, Владимир Друзенко wrote:



Начиная с 10.0 fuse в базовой системе, но нет в GENERIC - достаточно kldload
fuse и /dev/fuse появляется.


Но в 10-ке версия fuse более старая, чем в портах и у меня webdav.yandex.ru 
заработал только в 8-ке с fuse из портов. В 10-ке не заработало :(


Re: [freebsd] Вопрос по стартовым скриптам в 10.0 (apache24)

2014-09-29 Пенетрантность Anton Yuzhaninov

On 09/29/14 17:12, uphol...@mail.ru wrote:

3. Не останавливается:
root@SERVER02:/usr/local/etc/apache24 # sh /usr/local/etc/rc.d/apache24 stop
apache24 not running? (check .pid).


Проверь, что в конфиге апача и стартовом скрипте (etc/rc.d/apache24) путь к 
pid-файлу одинаковый.


Re: [freebsd] Изменения в devd ?

2014-09-12 Пенетрантность Anton Yuzhaninov

On 09/12/14 01:40, Vladislav V. Prodan wrote:

Обновил систему на одном из тазиков -
FreeBSD 10.1-PRERELEASE #0: Thu Sep 11 15:27:07 EEST 2014

в лагах стало сыпаться:
...
Sep 12 00:36:41 mary-teresa devd: Processing notify event
Sep 12 00:36:41 mary-teresa devd: Popping table
Sep 12 00:36:43 mary-teresa devd: Processing event '!system=DEVFS subsystem=CDEV
type=MEDIACHANGE cdev=ada1p3'


В какой файл /var/log/messages или /var/log/debug.log ?


Как понизить уровень активности devd?


Посмотреть /etc/syslog.conf
С дефолтным syslog.conf от 10-ки такое не наблюдается, но если не сделать 
mergemaster или сделать но что то не так смержить, то подобный эффект возможен.


Re: [freebsd] sshd и setfib

2014-08-22 Пенетрантность Anton Yuzhaninov

On 08/20/14 19:03, kry...@ukr.net wrote:

cd /usr/sbin
ln -s sshd sshd_fib1


Это лишнее. Бинарник можно использовать один. Только скрипты нужны разные.

Конфиг тоже можно один. А pid файл задать через опцию командной строки

sshd_fib1_flags=" -o PidFile=/var/run/sshd2.pid"


Re: [freebsd] hadoop и cloudera manager

2014-07-08 Пенетрантность Anton Yuzhaninov

On 07/08/14 18:41, greenh wrote:

Господа, а кто нить приручал cloudera manager под FreeBSD и возможно ли это? или
придется ставить и настраивать hadoop врукопашную?


C hadoop на FreeBSD всё достаточно грустно...

Сейчас в нашей конторе пока еще используется Hadoop 0.20.2 CDH3 под FreeBSD (но 
есть планы по миграции на Linux). Поставлен из самописного порта, без cloudera 
manager.


Работает он только с java/jdk16 который из портов уже давно удалили (мы таскаем 
патченый /usr/ports с этим портом).


С openjdk и 1.6 и 1.7 работает только HDFS, а MapReduce под нагрузкой плодит 
зависшие процессы из за чего довольно быстро превращается в тыкву.


Проблема внутри одной из используемых библиотек - вроде бы Jetty но точно не 
помню (могу поискать если интересно). В Hadoop используется очень старая версия 
этой библиотеки (с кучей известных багов, исправленных в более свежих версиях). 
Смотрел свежие версии Hadoop - там такая же старая версия этой библиотеки. 
Видимо под Linux все эти баги проявляются достаточно редко и разработчики Hadoop 
уже несколько лет игнорируют тикет в Hadoop JIRA по обновлению этой самой 
библиотеки. Заменить эту библиотеку на свежую версию сходу не получится - за 
прошедшие N лет у неё успел измениться API.


Пробовал на FreeBSD запускать более свежие версии Hadoop - та же проблема в том 
же месте.


Re: [freebsd] В чем хранить статистику

2014-05-22 Пенетрантность Anton Yuzhaninov

On 05/22/14 16:01, greenh wrote:

Народ, вот подскажите, а в чем естьсмысл хранить статистику, при условии что
дневной прирост составляет 30-100 лямов записей
Желательно иметь возможность пусть и медленно, но огромным массивам, типа "за
последний месяц"
То есть, грубо говоря, нужен способ хранения примерно 500гиг-1тб базы,  при этом
с возможностью быстрой вставки данных, вменяемой устойчивостью к отказам и
рассыпанию. Есть что нить вменяемое для таких задач? SQL/noSQL - не имеет 
значения


Сильно зависит о того, какие операции потом с этой статистикой выполняются.

Можно и просто текстовые логи писать, если почти любая выборка данные требует 
full scan.


Re: [freebsd] обновление системы до 8.4 или выше

2014-05-12 Пенетрантность Anton Yuzhaninov

On 05/12/14 19:26, Mstyslav Dubchak wrote:

имеется система - 8.2-RELEASE, кастом ядро.
в связи с известной ситуацией со сборкой и установкой портов, решил наконец
обновить. минимум до 8.4, максимум - 9.2 или 10. правда подозреваю, возможно
сразу до 10 не выйдет...


IMHO для начала до 8.4, а потом можно и сразу до 10.
с 8.4 до 10-ки обновлял, а с более ранними 8-ками были проблемы при попытке 
обновить.



исходники стянуть по cvsup не могу (возможно уже не работает этот метод?)


cvsup больше нет.


установить svn из портов не могу, т.к. не собираются порты.


можно сделать svn export на другой машине, и потом скопировать исходники через 
scp на обновляемую.


[freebsd] FreeBSD 10 and nss_ldap

2014-04-28 Пенетрантность Anton Yuzhaninov

Кто нибудь использует nss_ldap под FreeBSD 10?

У меня не работает, причем не везде, а в некоторых местах.
Например не работает в crontab:
:~> crontab -l
crontab: your UID isn't in the passwd file, bailing out

svn:~> sudo crontab -l -u svn
crontab: user `svn' unknown
svn:~> pw user show svn
svn:*:1003:1003::0:0:svn pseudo-user:/home/svn:/bin/tcsh


Re: [freebsd] mysql на linux таки быстрее или я не умею что то готовить?

2014-03-14 Пенетрантность Anton Yuzhaninov

On 03/14/14 02:25, greenh wrote:

Пытаюсь все это перенести на freebsd сервер с 2 по CPU E5-2420 (24 ядра) и тех
же 16 гиг (то есть машинка существенно более мощная)


Какой CPU был на старой машине не указано, и не факт что E5-2420 быстрее.
Кинь ссылку на ark.inetl.com для старого CPU.
Кроме CPU еще и память может работать на другой частоте или иметь другие 
задержки.


базу кладу на софтварный raid-0
nginx+php_fpm через unix socket

Для теста включаю проксирование через старый сервер на новый и получаю
1. первые 2-3 минут база отъедает до 1500% cpu, затем РЕЗКО падает до 70-100
2. LA в районе 2
нагрузка на винты (судя по gstat) около нуля
Сайты отдаются существенно медленее (ожидание до открытия до 7-9 секунд против
2-3 на старом).
3. Среднее потребление user cpu > 20-30% (в основном php) и куча долгих запросов
к базе  (по 1-2 секунды) чего на старом сервере нет.


А почему ты думаешь, что тормозит именно mysql а не что то ещё?

Например разница может быть из за отсутствия persisten connections на одном из 
серверов. Или кэширование данных в memcached (если есть) забыли включить на 
новом сервере.


Если процессор загружен на 30% а диски совсем не загружены и при этом сервер 
отвечает очень медленно, то что наверняка настроено не правильно.


Что касается mysql то:
1. нужно строить в мониторинге графики разных параметров mysql, включая index 
cache hit rate. Я когда использовал mysql строил rrd-графики с помощью mysqlstat 
(но проект похоже не сдох - www.mysqlstat.org не работает). Наверняка есть 1001 
софтина помимо mysqlstat, чтобы строить подобные графики.


И потом нужно сравнить графики на двух серверах.

2. Можно поставить логгирование запросов дольше 1 секунды и потом посравнить 
slow log через pt-query-digest из percona-toolkit


Re: [freebsd] Проблема со static arp (довольно давняя, судя по всему)

2014-03-05 Пенетрантность Anton Yuzhaninov

On 03/05/14 10:55, Alexey Markov wrote:

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


172.16.96.0/22 это 172.16.96.0 -
172.16.99.255

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


А такой сети быть не может. Наверно 172.16.97.0/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

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


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


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

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


Некоторое время назад ARP и L3 routing неможко расплели, но не до конца, так что 
скорей всего и в 10-ке будут такие же грабли :( Я в свое время это место в коде 
смотрел - там нагромождение грязных хаков, думаю его просто боятся трогать, 
чтобы не сломать то что сейчас работает.


Re: [freebsd] конфигурация gmirror

2014-03-05 Пенетрантность Anton Yuzhaninov

On 03/05/14 12:45, Yuriy B. Borysov wrote:

Подскажите, а в каком виде и где gmirror хранит информацию о hdd, из
которых он состоит.


Блок метаданных в конце провайдера (диска, раздела или другого geom).


Использует ли он названия устройств, adN/adaN или
какие-то свои метки?


Зависит от того, как gmirror создавался.
man gmirror
/ardcode


Собственно, есть система 8.4-RELEASE-p7 на gmirror, необходимо оба hdd
перенести на другой hardware. Номера устройств, скорей всего,
изменятся. Нужно ли как-то рассказать gmirror про новые названия? Если
да, то как?


Если при gmirror label ключик -h не добавлялся, то ничего рассказывать не нужно.
Если добавлялся, то нужно сделать
gmirror configure -d youmirrorname


Re: [freebsd] Хочу подгрузить cc_htcp.ko в 9.1

2014-02-14 Пенетрантность Anton Yuzhaninov

On 02/14/14 18:22, Vladislav V. Prodan wrote:


# kldload -v cc_htcp.ko
kldload: cc_htcp.ko will be loaded from /boot/kernel, not the current directory
kldload: can't load cc_htcp.ko: Exec format error


А в make.conf нет случаем MODULES_WITH_WORLD ?
Похоже на рассинхронизация модулей и ядра или модулей и world.




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

2014-02-14 Пенетрантность Anton Yuzhaninov

On 02/14/14 15:59, Alexey Markov wrote:


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


Насколько понимаю многие SSD все равно не работают быстрее 3 Gb/s.

С TRIM тоже проблем быть не должно (в худшем случае придется обновить 
BIOS/firmware).


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

2014-02-06 Пенетрантность Anton Yuzhaninov

On 02/06/14 16:47, Sergey Rudenko wrote:


Это может быть связано с spanning-tree на свиче и порт не успевает подняться
после ребута, помагает
spanning-tree portfast на порту


Даже если на порту стоит spanning-tree portfast если использовать один и тот же 
сетевой интерфейс для IPMI и OS, то во время перезагрузки связь с IPMI на время 
пропадает.
Это лечится использованием выделенного сетевого интерфейса на плате BMC (такие 
есть как минимум на Супермикрах), но в чужом ДЦ не всегда возможно задействовать 
два порта на коммутаторе.


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

2014-02-06 Пенетрантность Anton Yuzhaninov

On 02/06/14 11:23, Alexey Markov wrote:

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


Для нагруженного PostgreSQL лучше WAL выносить на отдельный HDD.
Или можно fsync для WAL отключить, но это чревато потерей последних коммитов при 
потери питания или hard reset.



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


1. возможно обычный nice снижает приоритет процесса в том числе для i/o но точно 
не знаю, надо смотреть исходники. Отдельного ionice как в Линухе у нас нет.


2. есть geom sched, но из реализованных шедулеров только round robin, без 
приоритетов:

http://www.bsdcan.org/2009/schedule/attachments/100_gsched.pdf



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

2014-02-06 Пенетрантность Anton Yuzhaninov

On 02/06/14 13:46, Volodymyr Kostyrko wrote:

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


Можно поробовать настроить доступ к IPMI через ipmitools. Там есть bmc-config с
помощью которого можно поковырять настройки IPMI не перегружаясь.


Я думаю проблема в другом - через IPMI SOL можно получить доступ к консоли 
FreeBSD, но BIOS setup работает не всегда, зависит от конкретной реализации 
IPMI. Впрочем если не обновлять сам BIOS то заходить в BIOS Setup вряд ли 
потребуется.


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

2014-02-05 Пенетрантность Anton Yuzhaninov

On 02/05/14 14:30, Alexey Markov wrote:

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


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


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


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


Re: [freebsd] Много файлов, тормоза ФС

2014-02-03 Пенетрантность Anton Yuzhaninov

On 03.02.2014 19:12, Slawa Olhovchenkov wrote:

>Смысл sendfile в уменьшении оверхеда на ненужные переключения контекста 
во-первых,
>и на копирование данных из kernel space в user-space и обратно во-вторых,
>и на mmap в третьих. Выигрыш вполне заметен, я замерял.

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


И как данные из адресного пространства пользователя без копирования 
попадают в адресное пространство ядра?


Overhead на syscall относительно небольшой, а на копирование есть. 
Особенно если данных много.


Re: [freebsd] Много файлов, тормоза ФС

2014-02-03 Пенетрантность Anton Yuzhaninov

On 02/03/14 14:21, Slawa Olhovchenkov wrote:

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


Разница в то, что память занятая кэшем на уровне VM отдается приложениям, при 
необходимости (active/inactive/cache queue). А память которую однажды скушал ZFS 
никому кроме ZFS уже не достанется (wired memory).


Re: [freebsd] Много файлов, тормоза ФС

2014-02-03 Пенетрантность Anton Yuzhaninov

On 02/03/14 13:52, Eugene Grosbein wrote:

On 03.02.2014 16:34, Anton Yuzhaninov wrote:


Что же касается крэша в процессе fsck, то с таким не сталкивался больше чем за
10 лет использования UFS. Возможно мне повезло.


Креши в fsck бывают либо в background-режиме, либо в ранних версиях,
где в single user mode был низкий лимит на память для процессов
и на крупных файловых системах fsck не хватало памяти.



background режим всегда отключаю. Кроме крешей с background хорошо проявляется 
другой недостаток UFS - относительно дорогое создание снапшотов (особенно хорошо 
заметно на больших FS - 1Tb и больше). Ну и пока работает background сервер, 
который активно работает с диском, всё равно не будет работать достаточно быстро.




Re: [freebsd] Много файлов, тормоза ФС

2014-02-03 Пенетрантность Anton Yuzhaninov

On 02/03/14 10:44, Vladimir Sharun wrote:


fsck может длиться бесконечно долго на ufs и в итоге можно получить в
процессе fsck (хорошо еще если не в процессе repair'а) еще один крэш и
потерять еще стопицот часов на downtime, копируя файлы со смонтированной RO
FS.


fsck длится бесконечно долго либо на FS с очень большим количеством очень мелких 
файлов. Либо если взять N дисков и сделать из них одну большую FS на десятки 
террабайт.

Такие задачи конечно бывают, но далеко не у всех.

У нас на большинстве серверов средний размер файлов около 10Мб, а размер одной 
FS в пределах 1 Tb или 2 Tb - fsck конечно длится какое то время, но не 
настолько долго, чтобы это напрягало (поэтому время и не засекал).


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


Что же касается крэша в процессе fsck, то с таким не сталкивался больше чем за 
10 лет использования UFS. Возможно мне повезло.


Re: [freebsd] Много файлов, тормоза ФС

2014-02-02 Пенетрантность Anton Yuzhaninov

On 01.02.2014 02:47, Pavel Astakhov wrote:

диски SATA3 Seagate Constellation


А на старом сервере модель дисков точно такая же?

Когда несколько лет назад работал в Рамблер-почте, мы несколько раз 
пытались использовать SATA диски Seagate для хранения почты - на 
синтетических тестах диски вели себя хорошо, а на той нагрузке, что была 
в продакшене - работали раза в 2 медленнее, чем Hitachi (при сходных 
характеристиках самих дисков - одинаковом размере кэша и т. д.).


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


Кстати, не написал ли кто geom-класс, пропускающий через себя все 
запросы к диску, чтобы составить статистику по запросам, и потом на 
основе этой статистики делать бенчмарки дисков?


Re: [freebsd] Много файлов, тормоза ФС

2014-02-02 Пенетрантность Anton Yuzhaninov

On 01.02.2014 02:34, Pavel Astakhov wrote:

Господа, а кто держит большие файлохранилища на фре? Досталось тут одно
хозяйство, веб-хайлоад, более 1.2Т картинок (>4М файлов), порядка 80qps
(все нормально разнесено по каталогам <1000 файлов), пробую перевести
сервер статики под топик - безбожные тормоза, gstat показывает задержки
порядка 40-60мс, на линупсе неправославном все работает нормально при
сравнимых дисках и их конфигурации. Что посоветуете покрутить?


В дополнение к тому, что написал Eugene Grosbein можно:

1. Собрать ядро с увеличенным MAXPHYS, например:
options MAXPHYS=(512*1024)

2. Увеличить vfs.read_max
sysctl vfs.read_max=256

3. А настройки аппаратного RAID такие же как были, NCQ он использует при 
общении с дисками? Хотя для зеркала (RAID1) лучше вообще без аппаратного 
рейда.


[freebsd] ищется OMAPI с человеческим лицом

2014-01-22 Пенетрантность Anton Yuzhaninov

Подскажите, есть ли какая то удобная утилита, для управления ISC DHCPD через 
OMAPI?

Чтобы одной командой можно было почистить lease например, что типа

cmd_remove 192.168.30.40
а сервер, порт и ключик читались бы из dot-файла.

Судя по описанию net/omcmd это примерно то, что нужно, но он написан для dhcp 
4.1.* и с 4.2.* не собирается.


Re: [freebsd] [freebsd] Отдача больших файлов по HTTP

2014-01-20 Пенетрантность Anton Yuzhaninov

On 01/20/14 14:55, Slawa Olhovchenkov wrote:

On Mon, Jan 20, 2014 at 02:51:06PM +0400, Anton Yuzhaninov wrote:


On 01/20/14 13:55, Slawa Olhovchenkov wrote:

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


А можно на этом месте подробней?


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



В задаче раздачи контента с дисков всё обычно упирается в диски, а не другие 
ресурсы сервера или сетевой интерфейс (мало гигабита - можно сделать два 
гигабита в ether channel), так что дальше - про диски.


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


Если один большой файл раскидывается по N дискам, то все еще хуже.

У современных HDD достаточно большая пропускная способность, но при этом 
относительно больше время seek time. Когда мы читаем большой кусок данных с 
одного диска - seek происходит только на одном диске, а если он рассыпан по 
N-дискам, то seek-и делают N-дисков. Общее число seek-ов в системе растёт, а 
значит и в пересчёте на один диск тоже будет больше seek-ов.


Да, это N дисков будут загружены очень равномерно, но при этом в среднем они 
будут загружены сильнее.


Распределение данных по N дисков может быть полезно в случае мелких файлов 
(размер файла меньше размера stripe size или его аналога), но исходная задача 
была про большие файлы.


Что же касается закона больших чисел, то он как раз работает за разбиение. На 4 
Tb диск нормально поместится 350 - 3500 файлов. При достаточно случайном 
распределении файлов по серверам/дискам, они скорее всего будут загружены 
равномерно.


Re: [freebsd] [freebsd] Отдача больших файлов по HTTP

2014-01-20 Пенетрантность Anton Yuzhaninov

On 01/20/14 13:55, Slawa Olhovchenkov wrote:

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


А можно на этом месте подробней?


Re: [freebsd] [freebsd] Отдача больших файлов по HTTP

2014-01-20 Пенетрантность Anton Yuzhaninov

On 01/19/14 01:09, Anton Sayetsky wrote:

Размер хранилища - 100+ ТиБ, средний размер файлов - от 1 до 10 ГиБ,
трафик - 4-5 Гбит/с, ~400 сессий, до 3-х коннектов на каждую.
Требуемый протокол отдачи - HTTP.
В плане софта выбор пал на FreeBSD 9.2-RELEASE amd64, ZFS, nginx. В
связи с вышеизложенным возникли некоторые вопросы:
1. Правильно ли я понимаю, что для данных параметров о UFS можно
забыть? (Боюсь даже представить, сколько времени на устройстве такого
размера может выполняться fsck, например.)


В данной постановке задачи - хранить 100+ ТиБ в _одной_ файловой системе ZFS 
пожалуй подойдет лучше.


Но если задача ставится более обще - хранить и быстро раздавать 100+ Tb файлов, 
я бы вместо одного хранилища сделал много маленьких.


Например поставил бы несколько серверов по 12 HDD по 4 Tb в каждом. С учётом 
зеркалирования (повышает и скорость отдачи и надёжность) это будет 5 серверов. 
Если 100+Тиб это не сейчас а в перспективе то сервера можно добавлять по одному.


Внутри одного сервера так же делать не одну большую файловую систему, а 
несколько независимых.


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


Да и UFS можно будет использовать даже без SUJ - когда все диски проверяются 
параллельно времени на это уходит заметно меньше, чем в случае одной большой FS 
из всех дисков.


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

2014-01-13 Пенетрантность Anton Yuzhaninov

On 01/12/14 05:29, Eugene Grosbein wrote:

Питон никогда не может появиться в базе, из-за лицензии.


Проблема не только в лицензии.
Python приходится относительно часто обновлять, а обновлять base system так 
часто было бы не удобно.
Собственно это одна из причин, почему perl в свое время убрали из base - 
портовый perl обновлять проще и быстрее.


Re: [freebsd] Яндекс-диск через webdav.yandex.ru

2013-12-24 Пенетрантность Anton Yuzhaninov

On 12/24/13 19:01, George L. Yermulnik wrote:

>А как на вашей 8-ке выглядит vfs.fuse целиком?

Вообще никак не выглядит - вообще нету oid'ов, начинающихся на vfs.fuse %-\


Возможно версия исходников в /usr/src не совпадает с версией ядра...

И не было ли ошибок в dmesg при загрузке модуля fuse?


Re: [freebsd] Яндекс-диск через webdav.yandex.ru

2013-12-24 Пенетрантность Anton Yuzhaninov

On 12/24/13 18:20, George L. Yermulnik wrote:

>sysctl oid-ы в 8.3 и 10-ке разные.

Вы просто про 8.4 писали:
--- cut ---
На FreeBSD 8.4-STABLE работает.

fusefs-kmod-0.3.9.p1.20080208_11
fusefs-libs-2.9.3_1
fusefs-wdfs-1.4.2_4

vfs.fuse.fuse4bsd_version: 0.3.9-pre1
--- cut ---



В 8-ке с fuse из портов у меня есть sysctl vfs.fuse.fuse4bsd_version
В 10-ке есть sysctl vfs.fuse.version

А как на вашей 8-ке выглядит vfs.fuse целиком?


Re: [freebsd] Яндекс-диск через webdav.yandex.ru

2013-12-24 Пенетрантность Anton Yuzhaninov

On 12/24/13 17:58, George L. Yermulnik wrote:

Хм-м, у меня на 8.3 такого oid'а нет %-\


sysctl oid-ы в 8.3 и 10-ке разные.


Может, мне чего-то в конфиге кернела не хватает?


Для 8.3 должно хватить GENERIC плюс /usr/ports/sysutils/fusefs-kmod/ - чтобы не 
прописывать руками проще поставить опцию AUTOSETUP


Re: [freebsd] Яндекс-диск через webdav.yandex.ru

2013-12-24 Пенетрантность Anton Yuzhaninov

On 12/23/13 17:04, Anton Yuzhaninov wrote:


В таком варианте
wdfs https://webdav.yandex.ru /mnt/ -o
accept_sslcert,username=...@yandex.ru,password=... -o
allow_other,uid=МОЙ_UID

и читается и пишетсят. FreeBSD 9.1


Попрообовал от root с -o allow_other,uid=МОЙ_UID (если запускать wdfs от себя,
эти опции не нужны) - ничего не изменилось.

У меня FreeBSD 10.0-PRERELEASE #10 r259719
vfs.fuse.version: 0.4.4

fusefs-libs-2.9.3_1
fusefs-wdfs-1.4.2_4

Возможно что то сломали...


На FreeBSD 8.4-STABLE работает.

fusefs-kmod-0.3.9.p1.20080208_11
fusefs-libs-2.9.3_1
fusefs-wdfs-1.4.2_4

vfs.fuse.fuse4bsd_version: 0.3.9-pre1


Re: [freebsd] Яндекс-диск через webdav.yandex.ru

2013-12-24 Пенетрантность Anton Yuzhaninov

On 12/24/13 00:12, George L. Yermulnik wrote:

>Видимо такого:
>  > ls -l /dev/fuse
>crw-rw  1 root  operator  0x34 Dec 23 13:34 /dev/fuse

А откуда его берут? %-\
ls: /dev/fuse: Нет такого файла или каталога



В 8-ке это работает по другому чем в 10-к.

/dev/fuse нет, а динамически создается /dev/fuseN

:~> ls -l /dev/fuse0
crw-rw  1 root  operator0, 140 Dec 24 13:29 /dev/fuse0

Чтобы его создавать надо быть в группе operator (или монтировать под рутом).

Но в любом случае ошибка странная, если не хватает прав, должно быть:
fuse: failed to open fuse device: Permission denied


Re: [freebsd] Чтение файлов без прав, рутом

2013-12-24 Пенетрантность Anton Yuzhaninov

On 12/24/13 14:59, Alexander Yerenkow wrote:

То есть, руту даётся возможность прочитать файл без прав. Тест показал что
поведение одинаковое на zfs и ufs.*
*
Кто-то может подсказать хотя бы где это описано, и можно ли это поведение как-то
контролировать?


Где это написано сходу не нашел, но насколько знаю так сложилось исторически во 
времена старых UNIX-систем, и все современные UNIX-like OS это поведение сохраняют.


А вообще тесты лучше запускать не от рута.


Re: [freebsd] Яндекс-диск через webdav.yandex.ru

2013-12-23 Пенетрантность Anton Yuzhaninov

On 23.12.2013 21:14, George L. Yermulnik wrote:

fuse: failed to open fuse device: No such file or directory

Какого ему девайса не хватает?


Видимо такого:
> ls -l /dev/fuse
crw-rw  1 root  operator  0x34 Dec 23 13:34 /dev/fuse

Чтобы использовать fuse не из под root нужно либо добавить пользователя 
в группу operator, либо поменять группу у /dev/fuse


Re: [freebsd] Яндекс-диск через webdav.yandex.ru

2013-12-23 Пенетрантность Anton Yuzhaninov

On 12/23/13 16:39, Andrey Blochintsev wrote:

Кому нибудь удалось примонтировать Yandex-диск через WebDAV под FreeBSD?

http://help.yandex.ru/disk/webdav/webdav-linux.xml

В портах для монтирования webdav нашёл только sysutils/fusefs-wdfs

Примонтировал:
wdfs https://webdav.yandex.ru /mnt/yandex_disk/ -o username=m...@yandex.ru -o
umask=0022


В таком варианте
wdfs https://webdav.yandex.ru /mnt/ -o 
accept_sslcert,username=...@yandex.ru,password=... -o 
allow_other,uid=МОЙ_UID

и читается и пишетсят. FreeBSD 9.1


Попрообовал от root с -o allow_other,uid=МОЙ_UID (если запускать wdfs от себя, 
эти опции не нужны) - ничего не изменилось.


У меня FreeBSD 10.0-PRERELEASE #10 r259719
vfs.fuse.version: 0.4.4

fusefs-libs-2.9.3_1
fusefs-wdfs-1.4.2_4

Возможно что то сломали...


[freebsd] Яндекс-диск через webdav.yandex.ru

2013-12-23 Пенетрантность Anton Yuzhaninov

Кому нибудь удалось примонтировать Yandex-диск через WebDAV под FreeBSD?

http://help.yandex.ru/disk/webdav/webdav-linux.xml

В портах для монтирования webdav нашёл только sysutils/fusefs-wdfs

Примонтировал:
wdfs https://webdav.yandex.ru /mnt/yandex_disk/ -o username=m...@yandex.ru -o 
umask=0022


Читать файлы из примонтированной папки получается, а писать туда - нет.
$ cp ttt /mnt/yandex_disk/
cp: /mnt/yandex_disk/ttt: Invalid argument

Если запустить с wdfs дебагом, то пишет:

unique: 378, opcode: LOOKUP (1), nodeid: 1, insize: 44, pid: 90574
LOOKUP /ttt
getattr /ttt
>> wdfs_getattr(/ttt)
**  cache hit for '/ttt'
## PROPFIND error in wdfs_getattr(): 404 Object Not Found
   unique: 378, error: -2 (No such file or directory), outsize: 16
unique: 379, opcode: LOOKUP (1), nodeid: 1, insize: 44, pid: 90574
LOOKUP /ttt
getattr /ttt
>> wdfs_getattr(/ttt)
**  cache hit for '/ttt'
## PROPFIND error in wdfs_getattr(): 404 Object Not Found
   unique: 379, error: -2 (No such file or directory), outsize: 16

И дальше непонятно - то ли это это баг где то в fuse/wdfs толи webdav у них не 
настоящий, хотя PROPFIND должен поддерживаться:

http://api.yandex.ru/disk/doc/dg/reference/propfind.xml
и 404 тут насколько понимаю потому что такого файла еще нет в Яндекс-диске.

Посмотреть что именно передается по сети сложно, т. к. используется HTTPS (и 
wdfs не умеет передавать debug flags в neon).


Re: [freebsd] Кто-нибудь идёт в субботу на ruBSD 2013?

2013-12-20 Пенетрантность Anton Yuzhaninov

On 12.12.2013 17:20, Alexey Markov wrote:


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


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


Re: [freebsd] NO_STAGE=yes

2013-12-20 Пенетрантность Anton Yuzhaninov

On 12/20/13 13:40, Volodymyr Kostyrko wrote:



В порты добавили новомодную хрень - пакет собирается в $WRKDIRPREFIX,
потом ставится. До этого было - пакет не собирается, а сразу ставится
в систему.


Я протестую, никакая это не новомодная хрень. pkgsrc уже больше десяти лет так
работает и если не ошибаюсь MacPorts тоже, хотя не так долго.


И те не менее до сих пор у кучи софта, у которого make install (а иногда даже и 
make) работают только от root.


Типичная ошибка - сделать файл с правами 444 а потом попытаться его изменить.
Обычному пользователю выдается EPERM. А руту даёт записать нормально (и видимо 
девелоперы девелопят под рутом).


Только вчера столкнулся с тем, что /usr/ports/shells/bash-completion не ставится 
если собирать не от root (sudo в SU_CMD для установки).


Сначала подумал, что у линксодиов так принято - писать read-only файл и делать 
вид что так надо, но там это тоже не работает:


:~> touch xxx
:~> chmod 444 xxx
:~> echo 1 > xxx
xxx: Permission denied.
:~> uname -rs
Linux 3.2.0-57-generic


Re: [freebsd] PostgreSQL >= 9.3 and shared buffers

2013-12-19 Пенетрантность Anton Yuzhaninov

On 12/19/13 18:05, Vasiliy P. Melnik wrote:

Немного оффтопик, но как-то года 3 тому назад поднимали вопрос о
производительности oracle и постгреса на фре - в итоге все ушло к
тому, что на сильно нагруженных базах лучше использовать линукс или
солярку


Ну в данном случае вопрос не о том, как ускорить, чтобы догнать и перегнать 
[offtopic] а как сделать, что бы не было regsession по сравнению с тем, что было 
раньше.


[freebsd] PostgreSQL >= 9.3 and shared buffers

2013-12-19 Пенетрантность Anton Yuzhaninov
Пишут, что начиная с 9.3 для shared buffers вместо shared memory начал 
использоваться mmap (и ручек для отключения в конфиге не видно):

http://www.postgresql.org/docs/9.3/static/release-9-3.html

Для пользователей freebsd это насколько понимаю приведет к заметному падению 
производительности. Вот сообщение про коллег из Dragonfly, но они пишут что под 
FreeBSD то же самое:

http://lists.dragonflybsd.org/pipermail/kernel/2012-September/04.html

Раньше можно было написать в sysctl.conf
kern.ipc.shm_use_phys=1
и это позволяло оптимизировать работу с этой памятью за счет того, что
1. она никогда не свопится. если повезло и произошел superpage promotion, то 
demotion уже не случился (а долгоживущие буфера, которые можно свопить рано или 
поздно фрагментируются, и никаких superpages там не будет).
2. если N процессов, используют один shared memory segment, то на каждую 
страницу памяти будет N PV entry в случае shm_use_phys=0 и одна PV entry в 
случае shm_use_phys=1 (там почти все и делают для PostgreSQL).


В случае mmap насколько понимаю все будет так же плохо, как с shared memory + 
shm_use_phys=0
а именно на каждую страницу буфера будет много PV entry (по числу процессов), 
что увеличивает расход памяти (и вымывание кешей CPU).


достаточно, чтобы память под shared buffer хотя бы один раз и частично попала в 
сфоп, и в физической памяти она будет фрагментирована, и superpages 
использоваться уже не будут.


Отсюда такой вопросы:

1. Если в master-е сделать mmap + mlock будет ли такой же эффект как 
shm_use_phys=0 ?


2. Нет ли желающих послать разработчикам postgresql патчи с добавлением mlock ?


Re: [freebsd] zpool trouble

2013-12-12 Пенетрантность Anton Yuzhaninov

On 12/12/13 18:39, Anton Sayetsky wrote:

А зачем она тогда вообще нужна? :) НЯП когда анонсировали санки её, то
как раз и говорили, что ФС рассчитана для работы поверх ненадёжных
носителей.


Если пишутся правильные данные, а читаются данные в которых несколько бит 
поменялось, то ZFS это обнаружит это по контрольным суммам и выдаст ошибку.


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


Re: [freebsd] dns amplification attack

2013-12-10 Пенетрантность Anton Yuzhaninov

On 12/10/13 14:17, greenh wrote:


У меня свои зоны. По идее рекурсию можно отключать и это решит вопросы?


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


Но authoritative DNS тоже могут использоваться для подобных аттак, хоть и менее 
эффективно. И тут поможет Response Rate Limiting, который есть в NSD и bind10


Re: [freebsd] dns amplification attack

2013-12-10 Пенетрантность Anton Yuzhaninov

On 12/10/13 14:05, greenh wrote:

Господа, подскажите плз, как с этой дрянью бороться
мне тут хостер намекнул, что мои ДНС сервера для этого используют, и tcpdump
намекает, что они похоже правы

Как с этим можно бороться? Гугление что то не дало вменяемых результатов.

# tcpdump -i em1 port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on em1, link-type EN10MB (Ethernet), capture size 65535 bytes
14:01:10.112093 IP n11212086169.netvigator.com.41033 > 92.241.171.233.domain:
37722+ [1au] A? a.packetdevil.com . (46)


У вас открта рекурсия для всех? Откройте только для localhost и сетей в которых 
живут другие ваши сервера (если такие есть).


Если у вас bind, то что то вроде

acl "mynet" {
127.0.0.0/8;
10.0.0.0/8;
};

options {
   ...
   allow-recursion { mynet; };
   ...
}

Если своих зон на этом сервере нет, то и
allow-query { mynet; };

Если же есть свои зоны, то лучше перенести их на nsd (и настроить там rate 
limit).


Re: [freebsd] Boot device name

2013-11-28 Пенетрантность Anton Yuzhaninov

On 11/28/13 15:09, Anton Sayetsky wrote:

>секторами и надо бы выравнивать разделы под 4K...

И не просто gpart, а GPT, ибо:http://www.freebsd.org/cgi/query-pr.cgi?pr=169542


Это ограничение не gpart, а MBR, где для совместимости разделы выравнивают по 
границе цилиндров (которые к физическим цилиндрам на диске уже давно не имеют 
отношения).


http://lists.freebsd.org/pipermail/freebsd-geom/2013-May/005596.html


Re: [freebsd] Boot device name

2013-11-28 Пенетрантность Anton Yuzhaninov

On 11/28/13 14:04, Anton Sayetsky wrote:

В каком месте переполнению взяться?
MBR позволяет адресовать 2^32*512=2 ТиБ (Тебибайта, основание - 1024).
Объём диска - 2 ТБ (Терабайта, основание - 1000).


До недавнего времени fdisk умел работать с разделами до 1 Tb:

http://svnweb.freebsd.org/changeset/base/258686


Re: [freebsd] RE: freebsd 9.2 проверить файловую систему

2013-11-28 Пенетрантность Anton Yuzhaninov

On 11/28/13 12:12, alexander.druz...@raz.ru wrote:

Ну хорошо, а как народ относится к fsck_y_enable="YES" в rc.conf?


Я ставлю. Из каких соображений на вопрос fsck можно ответить no я не знаю 
(номера inode всех файлов на память я все равно не помню, а кроме inode fsck 
ничего не пишет), поэтому лучше использовать fsck -y и не отвечать кучу раз yes



И заодно, что насчёт background_fsck="NO"?
Пишут, что "YES", который по умолчанию, может приводить к нежелательным 
последствиям.


Правильно пишут. background fsck плох хотя бы тем что создает снапшот. А UFS 
снапшоты на больших разделах работают плохо:

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


Ну и после того, как снапшот будет создан, background fsck нагружает диск, мешая 
нормально работе приложений (если им тоже нужен диск).


Re: [freebsd] OT: HDD Failover tests

2013-11-18 Пенетрантность Anton Yuzhaninov

On 11/18/13 18:27, Alexander Yerenkow wrote:


Знает ли кто-либо, какую-либо методологию тестирования ситуаций фейла HDD?

В идеале это какой-то специальный HDD с кнопками "ОК / Уменьшить скорость /
Имитировать отказ на запись / Фейлить чексуммы ". Можно даже с софтовыми 
кнопками.


Часть из этого умеет gnop (geom nop).


Re: [freebsd] Как узнать размер папки

2013-11-14 Пенетрантность Anton Yuzhaninov

On 11/14/13 18:14, greenh wrote:

  # ls -lhS
total 24945824
-rw-rw  1 mysql  mysql   7.8G Nov 11 01:00 statistic_download_20131110.ibd
-rw-rw  1 mysql  mysql   7.5G Nov 13 01:00 statistic_download_20131112.ibd
-rw-rw  1 mysql  mysql   7.1G Nov 10 00:56 statistic_download_20131109.ibd
-rw-rw  1 mysql  mysql 7G Nov 12 01:00 statistic_download_2013.ibd
-rw-rw  1 mysql  mysql   6.9G Nov 14 01:01 statistic_download_20131113.ibd
-rw-rw  1 mysql  mysql   6.8G Nov  9 00:59 statistic_download_20131108.ibd
-rw-rw  1 mysql  mysql   6.8G Nov  6 01:03 statistic_download_20131105.ibd
-rw-rw  1 mysql  mysql   6.8G Nov  8 00:59 statistic_download_20131107.ibd
-rw-rw  1 mysql  mysql   6.4G Nov  7 01:00 statistic_download_20131106.ibd
-rw-rw  1 mysql  mysql   4.1G Nov 14 18:11 statistic_download_20131114.ibd
-rw-rw  1 mysql  mysql   1.6G Nov 14 18:11 total_download.ibd

но при этом в ней же
  # du -h
  23G.


ls показывает размер файла, du - реально используемое место.

hint1 - файлы могут быть с дырками (sparse)
hint2 - на ZFS еще бывает компрессия на уровне файловой системы



Re: [freebsd] Новый матюк в dmesg

2013-10-17 Пенетрантность Anton Yuzhaninov

On 10/17/13 13:28, Sergey V. Dyatko wrote:

ну как раз в случае с несколькими ngx (статику раздают, к примеру)
клиент (браузер) не полезет же снова запрашивать файл, получив
connection refused. тут, мне кажется, уж лучше пускай он подождет эту
секунду, чем увидит сайт без css, например.
разве нет?


В случае если клиент браузер, то да, лучше поставить большой listen queue и 
пусть ждет.


В случае если у нас есть несколько MX-ов, то MTA-отправителя по refused должен 
сразу же попробовать подключиться к другому MX-у.


Или если есть несколько серверов с clamav и письма проверяются через MTA/модуль 
к MTA умеющий несколько серверов, например rmilter - тоже на clamav лучше 
поставить небольшое значение listen queue (clamav имеет свойство задумываться на 
некоторых письмах на минуту и больше, потоков там несколько, но все они работают 
медленно и могут задуматься одновременно).


Re: [freebsd] Новый матюк в dmesg

2013-10-17 Пенетрантность Anton Yuzhaninov

On 10/17/13 12:55, Sergey V. Dyatko wrote:

а почему не 32к, например?


Слишком большое значение тоже плохо - это увеличивает возможные задержки.

Например у нас есть веб-сервер (nginx с одним воркером). На него приходит 2 тыс 
запросов в секунду. Все хорошо пока процесс ни на чем не блокируется.
Допустим он заснул на 1 секунду (например заблокировался на чтении 
перегруженного HDD), если listen queue больше 2000, то новые коннекты будут 
ждать эту секунду, если меньше - то часть из них получит connect refused.


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


Re: [freebsd] Небольшой скрипт для управления файрволом

2013-10-17 Пенетрантность Anton Yuzhaninov

On 10/17/13 10:32, Alexey Markov wrote:

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


А /usr/share/examples/ipfw/change_rules.sh не пробовал использовать?


Re: [freebsd] Новый матюк в dmesg

2013-10-17 Пенетрантность Anton Yuzhaninov

On 10/16/13 20:29, greenh wrote:

Господа, подскажите плз, что это может быть за матюк: sonewconn: pcb
0xfe0404548690: Listen queue overflow: 151 already in queue awaiting 
acceptance


А что показыват netstat -Lan под нагрузкой и какая длинная очереди?
На современных серверах kern.ipc.somaxconn имеет смысл увеличивать до 4096


Перенес проект с довольно большой нагрузкой на новый сервак с 9.2 и увидел такое
в dmesg. При этом мускул ругается на too many connectiion. Настройки sysctl
скопированы 1 в 1


И настройки mysql тоже?
А график с числом активных подключений к mysql в мониторинге рисуется? На нем 
нет сильных изменений?


Re: [freebsd] Сжатия ядра и модулей

2013-08-01 Пенетрантность Anton Yuzhaninov

On 08/01/13 13:32, skeletor wrote:

Почитал про kgzip, но с ним много проблем (как пишут в инете), а так же нашёл
поддержки amd64.


Ядро с которого у нас грузятся машинки по сети (PXE. tftp, NFS root) сжато 
обычным gzip -9n. Используем amd64 и вполне работает. Ядро на диске не пробовал 
сжимать, но думаю тоже будет работать.


Re: [freebsd] socks5

2013-07-29 Пенетрантность Anton Yuzhaninov

On 07/29/13 20:18, Alexander wrote:

   А что - сабж у нас в портах уже не поддерживается? :(


/usr/ports/net/3proxy/ судя по описанию на сайте умеет socks5


Re: [freebsd] postgresql 9.2.4 memory usage

2013-07-26 Пенетрантность Anton Yuzhaninov

On 07/26/13 19:26, Владимир Друзенко wrote:

А с UTF все плохо - во FreeBSD поддержки толком нет,

Склонен не согласиться с этим утверждением.
Сам живу с локалью ru_RU.UTF-8 начиная где-то с 8-и.
1 напильник конечно пришлось применить:
добавил в /etc/login.conf логин-класс
russian_utf8|Russian Users Accounts UTF-8:\
 :charset=UTF-8:\
 :lang=ru_RU.UTF-8:\
 :tc=default:


Как минимум сортировка не правильная:
citrin:~> env LC_ALL=ru_RU.UTF-8 sort ttt1
Ё
А
Б
В
Г
Д
Е
Ж
З
И
Й
К
а
б
в
г
д
е
ж
з
и
й
к
ё

И про планы это чинить я не слышал.


Re: [freebsd] postgresql 9.2.4 memory usage

2013-07-26 Пенетрантность Anton Yuzhaninov

On 07/16/13 22:15, Anton Yuzhaninov wrote:

Столкнулся с такой ситуацией - процессы postgresql 9.2.4 при длительных
подключениях непрерывно кушают память.

Заканчивается это тем, что ядро в конечно итоге убивает одного из них:
pid 10725 (postgres), uid 70, was killed: out of swap space
и мастер начинает перезапускать все остальные процессы


Пересобрал без ICU - течь перестало...
Благо конкретно в этой базе UTF не нужен.

А с UTF все плохо - во FreeBSD поддержки толком нет, ICU для Постгреса прикручен 
сторонними патчами и разработчиками Постгреса это не поддерживается...


Re: [freebsd] nmbclusters и автотюннинг

2013-07-19 Пенетрантность Anton Yuzhaninov

On 07/19/13 15:41, greenh wrote:

Дамы и господа, подскажите плз
До меня дошли слухи, что  nmbclusters уже нет нужды настраивать, т.к. его
допилили до автотюнинга. Насколько это правда?


В current есть автотюнинг - на основе объема RAM.

Но по моему опыту пользы от лимита nmbclusters к сожалению мало.

Если в nmbclusters поставить маленькое значение, то когда кластера закончится с 
большой вероятностьсю получится зависшая система (с процессами висящими в 
состоянии zoneli*). Некоторые разработчики утверждают что система зависать в 
такой ситуации не должно, но на практике - зависает.


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


Так что если выбирать из двух зол меньшее, лучше выбрать панику... Для этого в 
nmbclusters нужно указать очень большое значение. Автотюнинг, который есть в 
current как раз это и делает - указывает в nmbclusters очень большое значение 
(хоть и пропорционально объему физической памяти).


Если MFC в 9-ку еще не сделали - просто напишите в loader.conf что то вида
kern.ipc.nmbclusters=2097152

Причем надежды, что когда то такое поведение изменится практически нет.

Если немножко углубиться в детали - в ядре память может аллоцироваться либо с 
флагом M_NOWAIT либо M_WAITOK


M_NOWAIT означает, что malloc совсем не должен блокироваться и если память с 
первой попытки не удалось аллоцировать - возвращает NULL. Применяется в 
обработчиках прерываний и других местах, где нельзя блокироваться. Может иногда 
возвращать NULL, даже если свободная память еще есть.


M_WAITOK - никогда не возвращает NULL - если памяти нет, то просто блокируется - 
надолго (пока не появится свободная память), иногда на вечно (пока не нажмут 
конпку reset).


В сетевом стеке в большинстве мест как раз используется M_WAITOK со всеми 
вытекающими последствиями.


В идеале для сетевого стека нужен работающий M_TRYWAIT - можно блокироваться, но 
не на вечно, а на некоторое ограниченное время. Но сейчас такого нет (#define 
M_TRYWAIT M_WAITOK).


Основной аргумент разработчиков против реализации M_TRYWAIT - если его 
реализовать так, что он будет блокировать на ограниченное время, тогда malloc(9) 
и все что вокруг него (UMA) все таки будет в некоторых случаях возвращать NULL. 
Тогда syscall в котором это произошло, например write(2) или read(2) должно 
будет вернуть ошибку ENOBUFS, а в мире очень много софта, который никак не 
обрабатывает ошибки возвращаемые syscall-ами. И лучше иногда виснуть, чем ломать 
работу криво написанных приложений (которые пока работают).


Ну и когда не нужно проверять, что malloc вернул NULL это удобно (для 
программиста), поэтому M_WAITOK используют везде, где его можно использовать.


  1   2   3   >