среда, 30 октября 2013 г.

php+debian: проблемы с max_input_vars

Очередная бага дебиляна:
http://stackoverflow.com/questions/19042734/is-there-a-limit-like-max-input-vars-in-versions-before-5-3-9
есть условный сервер с проектом на битриксе, к которому не покупалось поддержки и он не работает на 5.4, поэтому нужна версия именно 5.3. А в дебиляне это
PHP 5.3.3-7+squeeze17 with Suhosin-Patch (cli) (built: Aug 23 2013 15:06:16)
Все норм дистры позволяют обновиться до более поздних версий (5.4 не подходит), а тут - штатно без вариантов.

Суть бага: установка max_input_vars в  версиях ниже 5.3.9 не имеет значения, ограничение в 1000 прописано в коде, хотя даже по phpinfo всё выставлено верно.

Самый простой вариант - на dotdeb есть 5.3.9+ (5.3.25, 5.3.27...)
Установка php 5.3 на Debian 7 Wheezy
Не забываем ограничить "наглость" репы, иначе половину пакетов заменит, в том числе то что не нужно.

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

mpt-statusd: detected non-optimal RAID status

Есть у дебиана 7 (странный) глюк при развороте на vmware esxi:
в /var/log/messages пишет
mpt-statusd: detected non-optimal RAID status
при том, что никакого рейда там нет.

Фикс:
service mpt-statusd stop
 update-rc.d mpt-statusd disable

вторник, 29 октября 2013 г.

debian: allow-hotplug и auto, что это и чем отличаются

Суть в том, что в дебиане после установки зачастую в /etc/network/interfaces есть только строка allow-hotplug, но нет auto, поэтому есть проблемы с получением адреса по dhcp, сеть гарантированно не поднимается после service networking restart и нужно делать принудительно dhclient eth0

if eth0 is allow-hotplug but not auto it will be started at boot when the hardware is found, or when the hardware is attached (eg USB) but not when /etc/init.d/networking is run, which only calls ifup -a.
http://forums.debian.net/viewtopic.php?f=5&t=47649

allow-hotplug говорит о том что этот интерфейс запускается не через /etc/init.d/networking а через что-то другое. если Вы хотите управлять интерфейсами через скрипт /etc/init.d/networking - замените allow-hotplug на auto
http://ru-nix.livejournal.com/18890.html

Насколько я понимаю, allow-hotplug - применить настройки при обнаружении устройства (разово), а auto - при поднятии интерфейса. Поэтому настройка фаервола и статики лучше делается через allow-hotplug, а dhcp через auto. Но я могу ошибаться.

И на всякий случай из ЖЖ  блок кода с примерами автонастройки фаервола и статики.
Пример /etc/network/interfaces:
auto lo
iface lo inet loopback
pre-up /sbin/iptables-restore < /var/lib/iptables/rules

allow-hotplug eth1
iface eth1 inet static
address IP адресс провайдера
netmask 255.255.255.X
hwaddress ether 00:E0:4C:A2:C4:48
network Х.Х.Х.0
broadcast Х.Х.Х.255
gateway Х.Х.Х.Х 
dns-nameservers Х.Х.Х.X Х.Х.Х.Х
up route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.17.254 eth0
auto eth1

iface eth0 inet static
address 192.168.Х.Х
netmask 255.255.255.0
up route add -net 10.0.10.0 netmask 255.255.255.0 gw 10.0.0.1 dev $IFACE
up route add -net 10.0.20.0 netmask 255.255.255.0 gw 10.0.0.1 dev $IFACE
up echo Interface $IFACE going up | /usr/bin/logger -t ifup
down echo Interface $IFACE going down | /usr/bin/logger -t ifdown
auto eth0

И еще сайт,
http://xmodulo.com/2012/05/how-to-run-iptables-automatically-after.html

Ещё линки
http://www.debian.org/doc/manuals/debian-reference/ch05.en.html
https://wiki.debian.org/NetworkConfiguration
http://forums.debian.net/viewtopic.php?f=5&t=47649



воскресенье, 27 октября 2013 г.

MySQL+SSL репликация

Репликация у MySQL изначально без шифрования, что снижает нагрузку на систему, но при разнесении базы на несколько площадок возникает вопрос безопасной репликации. Это можно делать как через сторонние тоннели, так и штатными методами через SSL. Будем делать штатными методами.

четверг, 24 октября 2013 г.

Немного про zfs send

Команда zfs send создает потоковое представление снимка, передаваемое на стандартный вывод. По умолчанию генерируется полный поток. Выходные данные можно перенаправить в файл или в другую систему. Команда zfs receive создает снимок, содержимое которого помещается в поток, направляемый на стандартный ввод. При получении полного потока также создается новая файловая система. С помощью этих команд можно отправлять и получать данные снимков ZFS и файловых систем.
http://docs.oracle.com/cd/E19253-01/820-0836/gbchx/

О надёжности рейдов

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

http://blog.aboutnetapp.ru/archives/975

"RAID-5 на 7 дисках данных (7d+1p) почти в четыре тысяч раз менее надежен, чем RAID-6, на тех же 7 дисках данных (7d+2p)!"

Почему RAID-5 — «mustdie»?

Почему RAID5 — «must have»?
Но тут следует читать скорее как "почему raid-6 лучше чем raid-10", помня про оочень долгое время перестроения у raid-5 и существенное снижение производительности, в отличии от той же 10, где надо отзеркалировать только 1 диск, вообще без вычислений, и существенный рост нагрузки на оставшиеся диски, с шансом "добить" еще диск и гарантированно потерять весь массив.
Ну и про write hole помним.

публикация консольных "плюшек" с голосовалкой за лучшие

What's this?
commandlinefu.com is the place to record those command-line gems that you return to again and again.
Delete that bloated snippets file you've been using and share your personal repository with the world. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

http://www.commandlinefu.com/commands/browse

debian: ставим утилиты для raid-контроллеров

Штатно в дебиляне нет программ для управления raid-контроллерами, того же arcconf. Исправим это недоразумение.

Подключаем доп репу hwraid (на примере 7, для 6 заменяем wheezy на squeeze)
cat > /etc/apt/sources.list.d/hwraid.list <<EOF
deb http://hwraid.le-vert.net/debian wheezy main
EOF
(а вообще -- branch can be lenny, squeeze, wheezy and sid for debian, or hardy, intrepid, jaunty and lucid for ubuntu.)

GPG сигнатуры
wget -O - http://hwraid.le-vert.net/debian/hwraid.le-vert.net.gpg.key | sudo apt-key add -

обновим листы
apt-get update

Теперь доступны такие утилиты как aacraid-status, arcconf, cciss-vol-status, hpacucli, megactl итд.

Да, при попытке установить ASM выдаст, что не может найти jre5 или jre6, надо искать последнюю рабочую версию jre-6 на просторах интернета.

Линки

среда, 23 октября 2013 г.

File System Latency

Красивое и достаточно подробное описание дисковых операций, 1 и 2 часть - теория, применима не только к соляре. 3 и 4 - практика, солярис. 5 - что-то вроде итогов и утилиты, тоже можно посмотреть, те же strace и truss есть и в линуксе.

http://dtrace.org/blogs/brendan/2011/05/11/file-system-latency-part-1/
http://dtrace.org/blogs/brendan/2011/05/13/file-system-latency-part-2/

http://dtrace.org/blogs/brendan/2011/05/18/file-system-latency-part-3/
http://dtrace.org/blogs/brendan/2011/05/24/file-system-latency-part-4/
http://dtrace.org/blogs/brendan/2011/06/03/file-system-latency-part-5/

воскресенье, 20 октября 2013 г.

CentOS: subversion 1.7, 1.8 от WanDisco

centos 5:
Для 5 есть только 1.7, можно скачать пакетами, можно добавить репу wandisco.
Пакетами:
http://opensource.wandisco.com/centos/5/devel/RPMS/i386/
http://opensource.wandisco.com/centos/5/devel/RPMS/x86_64/

Через репу:
cat > /etc/yum.repos.d/wandisco.repo <<EOF
[wandisco]
name=subversion 1.7
baseurl=http://opensource.wandisco.com/centos/\$releasever/devel/RPMS/\$basearch/
enabled=1
gpgcheck=0
EOF

centos 6:
пакеты можно взять тут:
http://opensource.wandisco.com/centos/6/
выбираем 1.7 или 1.8

!!!При ручной установке пакетов предварительно удаляем старый svn!

Через репу - по аналогии как для 5, подставляем нужную версию, адрес получаем после посещения сайта.


Инструкция по настройке доступа через dav (http)
http://kianmeng.org/blog/2012/12/11/subversion-1-dot-7-x-installation-and-configuration-for-centos-5-dot-x/
Можно еще через inetd, в архиве должно быть.

среда, 16 октября 2013 г.

LTFS -- Linear Tape File System

Ленточная ФС, позволяющая работать с лентой как с диском. Существует как минимум 3 версии, и как минимум 5 версий ПО от разных вендоров (quantum, oracle, ibm, hp). Quantum-версия (qtmltfs) работает через fuse, так что будет весьма тормозной.

http://en.wikipedia.org/wiki/Linear_Tape_File_System
http://h71028.www7.hp.com/enterprise/us/en/solutions/storage-linear-tape-file-system.html
http://stream0.org/2011/08/04/setting-up-a-quantum-lto5-tape-drive-on-debian/
http://www.lto.org/About/faq.html

Перекачиваем файлы по сети

Наиболее простой метод -- используя sshfs или nfs, но иногда такой возможности нет, а нужно например закачать 3тб данных на ленту, при том что на дисках доступно менее 1тб.

Наиболее простой метод - через netcat
Вариант "залить на ленту"
на получателе:
nc -l -p 9876 | dd bs=1k of=/dev/st0

на источнике:
tar -cf - /dir | nc -c 1.1.1.1 9876

Можно на получателе делать не через dd а через простое перенаправление ">", но работает это несколько странно и тар при проверке говорит "неожиданный конец архива".

Вариант "залить на диск"
на источнике:
cd /path/to/directory
find|cpio -ov|nc -l -p 9999

на получателе:
cd /path/to/directory
nc адрес 9999|cpio -idmv
(тут слушатель не получатель а отправитель).
Есть вариант через tar, но "вместо cpio можно использовать tar, но в нём я столкнулся с проблемой - криво копируются симлинки, указывающие на абсолютный путь"
http://mydebianblog.blogspot.ru/2008/07/netcat.html

большая дока по
http://handynotes.ru/2010/01/unix-utility-netcat.html

pipe viewer

http://handynotes.ru/2010/01/unix-tool-pipe-viewer.html

вторник, 15 октября 2013 г.

Подключаем ленточную библиотеку на примере HP MSL2024+debian 7

Знакомимся с ленточными библиотеками на примере HP MSL2024, на 24 ленты, 2 RU, версия под LTO-5 c SAS выходом.
О начальном конфигурировании: Configuring the Tape Library

Библиотека достаточно капризная, например она не заводится со многими контроллерами, в частности с adaptec ServeRaid 8k не заработало. Точнее, увидело только читалку, но не робота (changer) и выдавало
[    1.869977] scsi 3:3:0:0: Sequential-Access HP       Ultrium 5-SCSI   Z58W PQ: 0 ANSI: 6
[    1.874392] scsi 3:3:0:0: Unexpected response from lun 1 while scanning, scan aborted

четверг, 10 октября 2013 г.

Создание плана резервного копирования

http://www.opennet.ru/base/sys/backup_plan.txt.html
Основной документ, хорошая основа, но не идеален.

http://www.certification.ru/library/articlesdir/big99.html?156

http://www.ibm.com/developerworks/ru/edu/au-restoreaix/section2.html

http://habrahabr.ru/company/veeam/blog/163405/
В основном рекламная чушь, но дельные мысли тоже есть, поэтому почитать стоит.

http://www.xakep.ru/magazine/xs/062/046/1.asp
главы "стратегия", "Пример из реальной жизни" (всё остальное там чепуха)

http://technet.microsoft.com/ru-ru/library/hh202195.aspx
http://technet.microsoft.com/ru-ru/library/hh202183.aspx
http://technet.microsoft.com/ru-RU/library/hh202194.aspx
http://technet.microsoft.com/ru-ru/library/hh202169.aspx
Несколько однобоко, но не просто слоова и теория, а неплохая основа для переработки под свои нужды.

вторник, 8 октября 2013 г.

bacula: делим конфиг файлы на части

в /etc/bacula/bacula-dir.conf вставляем

Director { ...}
Console { ... }

# Include split config files.
@/etc/bacula/conf.d/catalogs.conf
@/etc/bacula/conf.d/filesets.conf
@/etc/bacula/conf.d/jobdefs.conf
@/etc/bacula/conf.d/messages.conf
@/etc/bacula/conf.d/pools.conf
@/etc/bacula/conf.d/schedules.conf
@/etc/bacula/conf.d/storages.conf

# Read client directory for config files. Remember to bconsole "reload" after adding a client.
@|"sh -c 'cat /etc/bacula/conf.d/clients-enabled/*'"

По аналогии остальные конфиги правим.

https://gist.github.com/mashdot/2312522