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

Тюнинг mysql/postgresql on zfs/ext4

Ниже будет описан тюнинг самой mysql + OS-специфический. Тюнинг будет рассмотрен только для движка InnoDB.

mysql

Обязательно разнести базу и логи (innodb_log_group_home_dir) по разным датасетам (дискам). В идеале вынести на отдельный датасет и tmp_dir для mysql.

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

Фильтрация по MAC-адресу в различных файерволах

ipfw

add allow all from any to 192.168.2.0/24 via ${natd_interface} mac aa:bb:cc:dd:ee:ff any

pf

(только OpenBSD)

в консоли:

# ifconfig bridge0 rule pass in on fxp0 src 0:de:ad:be:ef:0 tag USER1

в pf.conf:

pass in on fxp0 tagged USER1

ipf

Нельзя сделать

iptables

/sbin/iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP

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

Меняем RPATH

Что такое RPATH? Wikipedia:

rpath is a term in programming which refers to a run-time search path hard-coded in an executable file or library, used during dynamic linking to find the libraries the executable or library requires.

Иными словами это жёстко зашито в заголовке бинарника. Можно попробовать поменять в момент запуска:

LD_LIBRARY_PATH=/var/other myprog &

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

Категорії
Linux

Sysdig: снифер системных событий для Linux

Sysdig — инструмент системного администрирования для Linux, который перехватывает события на уровне ядра (tracepoints) и сохраняет их для анализа в удобном виде, как tcpdump. В комплекте есть набор скриптов для анализа логов.

Разработчики из компании Draios говорят, что вынуждены были создать такой инструмент. Им надоело мучиться с анализом системных ошибок, особенно на удаленных серверах или виртуальной машине в облачном окружении. Поэтому они сделали нечто похожее на WinPCap и Wireshark, но только для диагностики событий на уровне ядра Linux.

Категорії
Linux PBX (telephony)

Прикручиваем USB модем Huawei e160 к Elastix

Тестовый стенд: CentOS 5.10 (kernel 3.2.55-1.el5.elrepo), Asterisk 11.7.0, 2 модема Huawei e160

# yum install libtool.x86_64 autoconf.noarch automake.noarch
# cd /usr/src/
# wget https://github.com/jstasiak/asterisk-chan-dongle/archive/asterisk11.zip

Можно попробовать зеркало http://кушеев.рф/wp-content/uploads/asterisk-chan-dongle-asterisk11.zip  (puny код для wget’a “http://xn--b1afas9b4a.xn--p1ai/wp-content/uploads/asterisk-chan-dongle-asterisk11.zip”)

# unzip asterisk-chan-dongle-asterisk11.zip && cd asterisk-chan-dongle-asterisk11
# aclocal && autoconf && automake -a

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

kGraft – обновление ядра Linux без перезагрузки

Компания SUSE объявила о доступности kGraft — своей технологии для обновления ядра Linux без необходимости в последующей перезагрузке системы.

По предназначению kGraft схожа с продуктом Ksplice, созданным в Массачусетском технологическом институте (MIT) и купленным Oracle для Oracle Linux (и затем RHEL), однако разработчики из SUSE утверждают, что «kGraft, в отличие от других технологий, не требует остановки ядра даже на короткие периоды времени, что упрощает процесс установки без простоя системы критически важных обновлений в безопасности и других патчей». Как и другие подобные проекты, kGraft предназначена только для критических обновлений (простых изменений в коде).

Категорії
Linux

Ограничиваем использование mem, cpu определённому приложению

Этот вопрос очень актуален, например, на десктопе: у меня opera время от времени начинает выедать всю доступную память и весь swap. Было принято решение ограничить её аппетиты.

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

Категорії
Linux

Лимиты в Linux

Каждый процесс имеет свои лимиты (потребление памяти, количество одновременно запущенных файлов и прочие).  При запуске процесс читает файл /etc/security/limits.conf на предмет ограничений (просматривается, пользователь/группа и ищется совпадение; если совпадений нет, то используются дефолтные параметры) и запускается с нужными лимитами.
Узнать лимиты у запущенного процесса можно так:

$ cat /proc/{PID}/limits

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

Правильная ротация логов java/tomcat’a

Всё бы хорошо, но tomcat не понимает сигналs HUPSIGUSR1 (при их получении он просто завершается). Как быть, если надо ротировать логи. Есть 2 варианта: через системный log-ротатор и через встроенные механизмы самого tomcat’a. Я рассмотрю первый вариант, так как в нём больше возможностей в плане ротации файлов. Но тут есть нюанс: ротировать будем с помощью метода copytruncate, то есть нужный нам лог сначала копируется, а потом урезается до нулевой длинны, тем самым не нарушая последующей записи в исходный лог.

Категорії
Linux Security

Защита от Syn Flood’a

Тестовый стенд: Centos 6.2 (kernel 2.6.32-220.4.2.el6.x86_64), apache+php+mysql

Имеем очень много соединений с состоянием SYN_RECV (syn flood):

$netstat -ntu
...
tcp 0 0 XX.XX.XX.XX:80 202.51.102.34:40700 SYN_RECV
tcp 0 0 XX.XX.XX.XX:80 190.225.143.29:40123 SYN_RECV
tcp 0 0 XX.XX.XX.XX:80 101.255.71.7:38725 SYN_RECV
tcp 0 0 XX.XX.XX.XX:80 122.226.122.201:48952 SYN_RECV
tcp 0 0 XX.XX.XX.XX:80 186.91.63.97:44343 SYN_RECV
tcp 0 0 XX.XX.XX.XX:80 109.230.156.97:56149 SYN_RECV
...

Как с ними бороться?

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