Всё бы хорошо, но tomcat не понимает сигналs HUP, SIGUSR1 (при их получении он просто завершается). Как быть, если надо ротировать логи. Есть 2 варианта: через системный log-ротатор и через встроенные механизмы самого tomcat’a. Я рассмотрю первый вариант, так как в нём больше возможностей в плане ротации файлов. Но тут есть нюанс: ротировать будем с помощью метода copytruncate, то есть нужный нам лог сначала копируется, а потом урезается до нулевой длинны, тем самым не нарушая последующей записи в исходный лог.
Категорія: Linux
Тестовый стенд: 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
...
Как с ними бороться?
Появилась задача протестировать одну штуку через VirtualBox. Но вот не задача: нужное мне сообщение пишет ядро после того как перегружаю виртуалку. Я, конечно не успеваю его прочитать. Вот если бы можно было куда-то перенаправить вывод консоли виртуалки и оттуда уже прочитать.
Можно конечно воспользоваться ПО, которое пишет видео с экрана, но и тут меня ждала неудача: слишком быстро промелькнуло сообщение и на видео оно не видно.
Решение подсказали в рассылке FreeBSD. Суть следующая: будем дублировать вывод так же на com-порт, а в качестве com-порта пропишем путь к сокету, который создадим на хост-машине (та, собственно где запущен VirtualBox).
Тестовый стенд: FreeBSD 9.2, Debian Linux 6 (kernel 3.2), ipsec transport mode with preshared keys
Настройка IPSec состоит из 2-х частей: настройка IPSec’a и непосредственно настройка обмена ключами (ike).
Имеем самую обычную схему FreeBSD (10.5.5.98) <—> (10.5.5.78) Linux
В данной статье подразумевается настройка полностью с нуля.
Тестовый стенд: OpenBSD 5.4, Debian Linux 6 (kernel 3.2), ipsec transport mode with preshared keys
Настройка IPSec состоит из 2-х частей: настройка IPSec’a и непосредственно настройка обмена ключами (ike).
Имеем самую обычную схему OpenBSD (10.5.5.76) <—> (10.5.5.78) Linux
В данной статье подразумевается настройка полностью с нуля.
Тестовый стенд: Solaris 11.1, Debian Linux 6 (kernel 3.2), ipsec transport mode with preshared keys
Настройка IPSec состоит из 2-х частей: настройка IPSec’a и непосредственно настройка обмена ключами (ike).
Имеем самую обычную схему Solaris (10.5.5.219) <—> (10.5.5.78) Linux
В данной статье подразумевается настройка полностью с нуля.
Схема подключения:
Solaris (net 192.168.66.0/24) 1.1.1.1 <—(10.65.0.1 <—> 10.65.0.2)—> 2.2.2.2 (net 192.168.88.0/24) Linux
FreeBSD (net 192.168.77.0/24) 3.3.3.3 <—(10.77.0.1 <—> 10.77.0.2) —> 2.2.2.2 (net 192.168.88.0/24) Linux
Размеры очередей
FreeBSD
Переменная sysctl kern.ipc.somaxconn ограничивает размер очереди для приема новых TCP соединений. Значение по умолчанию 128 слишком мало для надежной обработки новых соединений для нагруженного web сервера. Для такого сервера рекомендуется увеличить это значение до 1024 или выше. Демон сервиса может сам ограничивать очередь приема новых соединений (например, sendmail(8), или Apache), но обычно в файле настройки демона есть директива для настройки длины очереди. Более длинная очередь также помогает избежать атак Denial of Service (DoS).
FreeBSD
# cpuset -C -c -l 0,2 -p 1701
OpenBSD
cpu affinity
Linux
# taskset 0x00000001 google-chrome
# dplace -c 2 date
Рекомендую так же прочесть этот обзор
Solaris
# pbind -b 2 204 223
Правим в файле /etc/udev/rules.d/70-persistent-net.rules строку, относящуюся к eth0:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:1f:xx:a1", ATTR{type}=="1", KERNEL=="eth*", NAME="netdev0"
Переименовываем файл /etc/sysconfig/network-scripts/ifcfg-eth0 в /etc/sysconfig/network-scripts/ifcfg-netdev0 и правим внутри строку DEVICE=”netdev0″