При использовании APC и его обновлении в логах могут появиться строки вида
[apc-warning] Potential cache slam averted for key
http://pecl.php.net/bugs/bug.php?id=16814
может возникать, когда пишется ключ который уже существует. Пока лекарства нет. Отключить можно так: в php.ini
apc.slam_defense = 0
пятница, 20 декабря 2013 г.
среда, 18 декабря 2013 г.
UniFi контроллер на debian
У точек unifi есть софт-контроллер, который можно поставить в том числе на линукс. Для дебиана 6 надо подключить репы mongodb + unifi, для 7 достаточно только unifi.
вторник, 17 декабря 2013 г.
debian: php 5.3 в версии от DotDeb
В debian 7 есть возможность поставить 5.3 из backports
Но в этой версии есть достаточно неприятный баг для недоцмс типа битрикса, заключающийся в том что max_input_vars не меняется в конфигах и всегда равен 1000. В этом случае имеет смысл перейти на более свежую сборку, например от dotdeb
RHEL6 Performance Tuning Guide
Red Hat Enterprise Linux 6
Performance Tuning Guide
Optimizing subsystem throughput in Red Hat Enterprise Linux 6
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/
Performance Tuning Guide
Optimizing subsystem throughput in Red Hat Enterprise Linux 6
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/
вторник, 3 декабря 2013 г.
мегасайт по aix
http://docs.gz.ro/aix-misc-commands.html
4 часа копания офсайта дали ровно 4 команды, а тут за 5 минут было найдено всё нужное. В частности, в aix 7.1 нету
lsrsrc "IBM.ManagementServer", вместо него IBM.MCP. И только тут было
To dispay the HMC information (hmc ip is on HostName field of "resource N" stanza):
gz@aix# lsrsrc "IBM.ManagementServer"
or
gz@aix# lsrsrc IBM.MCP
Sometimes you may get error on the above command, like:
gz@aix# /usr/sbin/rsct/bin/lsrsrc-api: 2612-010 Resource class IBM.ManagementServer is not defined.
In this case, you can search for the hostname or ip of hmc on the file:
/var/ct/cfg/ctrmc.acls
И еще, по включению RMC
под старую версию
https://www.ibm.com/developerworks/community/blogs/cgaix/entry/february_24_2011_6_51_pm79?lang=en
https://www.ibm.com/developerworks/community/blogs/cgaix/entry/dlpar_and_aix_5_32?lang=en
http://unixhood.com/main/2013/07/14/check-and-reset-the-lpar-rmc-connection-with-hmc/
было найдено сильно позднее, что-то типа листа дагностики
http://www-01.ibm.com/support/docview.wss?uid=isg3T1012915
4 часа копания офсайта дали ровно 4 команды, а тут за 5 минут было найдено всё нужное. В частности, в aix 7.1 нету
lsrsrc "IBM.ManagementServer", вместо него IBM.MCP. И только тут было
To dispay the HMC information (hmc ip is on HostName field of "resource N" stanza):
gz@aix# lsrsrc "IBM.ManagementServer"
or
gz@aix# lsrsrc IBM.MCP
Sometimes you may get error on the above command, like:
gz@aix# /usr/sbin/rsct/bin/lsrsrc-api: 2612-010 Resource class IBM.ManagementServer is not defined.
In this case, you can search for the hostname or ip of hmc on the file:
/var/ct/cfg/ctrmc.acls
И еще, по включению RMC
под старую версию
https://www.ibm.com/developerworks/community/blogs/cgaix/entry/february_24_2011_6_51_pm79?lang=en
https://www.ibm.com/developerworks/community/blogs/cgaix/entry/dlpar_and_aix_5_32?lang=en
http://unixhood.com/main/2013/07/14/check-and-reset-the-lpar-rmc-connection-with-hmc/
было найдено сильно позднее, что-то типа листа дагностики
http://www-01.ibm.com/support/docview.wss?uid=isg3T1012915
воскресенье, 24 ноября 2013 г.
Linux: Ускоряем дисковую систему: bcache, btier, flashcache
Ускоряем базу данных. Bcache
Сравнение bcache и btier
Flashcache, или I/O на стероидах
http://www.accelcloud.com/2012/04/18/linux-flashcache-and-bcache-performance-testing/
Также ещё есть
https://github.com/stec-inc/EnhanceIO
https://github.com/mingzhao/dm-cache
Что bcache, что btier пока в нестабильных версиях ядра, пока на данный момент использовать с осторожностью.
Сравнение bcache и btier
Flashcache, или I/O на стероидах
http://www.accelcloud.com/2012/04/18/linux-flashcache-and-bcache-performance-testing/
Также ещё есть
https://github.com/stec-inc/EnhanceIO
https://github.com/mingzhao/dm-cache
Что bcache, что btier пока в нестабильных версиях ядра, пока на данный момент использовать с осторожностью.
четверг, 21 ноября 2013 г.
Перезапуск сервисов в разных ОС на примере sshd
http://www.starnet.com/xwin32kb/restart_sshd
для 10 соляриса на самом деле методов несколько:
1) svcadm disable ssh; svcadm enable ssh
2) svcadm restart ssh
3) svcadm restart svc:/network/ssh:default
4) /lib/svc/method/sshd restart
5) kill -HUP `cat /var/run/sshd.pid`
С 10 солярисом есть особенность: если конфиг-файл был ошибочен, всякими svcadm restart ssh сервис не поднимается и порт не слушается, хоть уже установленные соединения и не рвутся. Система переходит в maintenance, проверять так:
svcs -xv ssh
(точного вывода нет, поэтому примерно)
State: maintenance since Thu Mar 24 19:26:28 2011
Reason: Start method exited with ...
See: /var/svc/log/network-ssh:default.log
Impact: This service is not running.
Смотрим этот самый лог на предмет ошибок
tail /var/svc/log/network-ssh\:default.log
исправляем, выводим из maintenance, запускаем, проверяем
# svcadm clear ssh
# svcadm restart ssh
State: online since 20 пҐп+я¦п¦я-я¦ 2013 пЁ. 11:39:44 MSK
See: man -M /usr/share/man -s 1M sshd
See: /var/svc/log/network-ssh:default.log
Impact: None.
И на всякий случай netstat -an|grep 22 |grep LISTEN
SMF — управление сервисами в Solaris
для 10 соляриса на самом деле методов несколько:
1) svcadm disable ssh; svcadm enable ssh
2) svcadm restart ssh
3) svcadm restart svc:/network/ssh:default
4) /lib/svc/method/sshd restart
5) kill -HUP `cat /var/run/sshd.pid`
С 10 солярисом есть особенность: если конфиг-файл был ошибочен, всякими svcadm restart ssh сервис не поднимается и порт не слушается, хоть уже установленные соединения и не рвутся. Система переходит в maintenance, проверять так:
svcs -xv ssh
(точного вывода нет, поэтому примерно)
State: maintenance since Thu Mar 24 19:26:28 2011
Reason: Start method exited with ...
See: /var/svc/log/network-ssh:default.log
Impact: This service is not running.
Смотрим этот самый лог на предмет ошибок
tail /var/svc/log/network-ssh\:default.log
исправляем, выводим из maintenance, запускаем, проверяем
# svcadm clear ssh
# svcadm restart ssh
# svcs -xv ssh
svc:/network/ssh:default (SSH server)State: online since 20 пҐп+я¦п¦я-я¦ 2013 пЁ. 11:39:44 MSK
See: man -M /usr/share/man -s 1M sshd
See: /var/svc/log/network-ssh:default.log
Impact: None.
И на всякий случай netstat -an|grep 22 |grep LISTEN
SMF — управление сервисами в Solaris
суббота, 16 ноября 2013 г.
debian: socket() failed (24: Too many open files)
Настройки дебиана для сервера далеко не оптимальны, в частности лимит на количество открытых файлов. Это затрагивает много серверного софта, например mysql, apache, nginx...
В частности, следвие для nginx - в логе
socket() failed (24: Too many open files)
среда, 13 ноября 2013 г.
jira: java.lang.OutOfMemoryError: Java heap space
Когда джире мало памяти, могут быть ошибки вида
com.atlassian.core.AtlassianCoreException: Error in action: <a href='mailto:com.atlassian.jira.action.admin.DataExport@7c523802'>com.atlassian.jira.action.admin.DataExport@7c523802</a>, result: error<br/> Ошибка при экспорте данных: java.lang.OutOfMemoryError: Java heap space
Кончилась память, которая выставляется через -Xmx. Но для начала теория, что там бывают за виды ошибок с памятью
Теперь увеличиваем память. Смотрим, где лежит bin-каталог
# cat /etc/init.d/jira|grep BIN
BIN='/opt/jira/JIRA 4.2/bin'
переходим туда (если в пути есть пробелы, не забываем их экранировать или брать путь в кавычки) и правим setenv.sh, нужна строка
JVM_MAXIMUM_MEMORY="512m"
увеличиваем до 1024 например.
чуть об отладке
четверг, 7 ноября 2013 г.
Семь уязвимостей в IPMI-прошивках Supermicro
http://www.opennet.ru/opennews/art.shtml?num=38362
Разработчики проекта Metasploit раскрыли данные о семи уязвимостях в IPMI-прошивках серверных продуктов Supermicro и опубликовали прототипы эксплоитов. Проблемы остаются неисправленными, несмотря на то, что приватное уведомление об их наличии было отправлено сотрудникам Supermicro три месяца назад.
Но надо понимать, что косяки такого рода есть у всех
Из подверженных проблемам серверных систем отмечены серверы на базе контроллеров HP Integrated Lights Out (iLO), Dell DRAC и IBM Remote Supervisor Adapter.
http://www.opennet.ru/opennews/art.shtml?num=37554
Разработчики проекта Metasploit раскрыли данные о семи уязвимостях в IPMI-прошивках серверных продуктов Supermicro и опубликовали прототипы эксплоитов. Проблемы остаются неисправленными, несмотря на то, что приватное уведомление об их наличии было отправлено сотрудникам Supermicro три месяца назад.
Но надо понимать, что косяки такого рода есть у всех
Из подверженных проблемам серверных систем отмечены серверы на базе контроллеров HP Integrated Lights Out (iLO), Dell DRAC и IBM Remote Supervisor Adapter.
http://www.opennet.ru/opennews/art.shtml?num=37554
среда, 6 ноября 2013 г.
HP UPS Network Module
У ИБП HP (конкретно в модели R5000) есть модуль управления, который называется HP UPS Network Module, и на нём 2 порта: левый LAN, правый служебный, rs232 консоль с 8p8c (rj45) разъёмом.
среда, 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 ставить лучше оф, если нет особой нужды именно в последних версиях - штатная конечно будет устаревшей, но относительно проверенной "миллионами хомячков".
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
в /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. Но я могу ошибаться.
И на всякий случай из ЖЖ блок кода с примерами автонастройки фаервола и статики.
И еще сайт,
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
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/
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»?
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
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/
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/
вторник, 22 октября 2013 г.
воскресенье, 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, в архиве должно быть.
Для 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
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
Наиболее простой метод - через 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
вторник, 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
О начальном конфигурировании: 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
Несколько однобоко, но не просто слоова и теория, а неплохая основа для переработки под свои нужды.
Основной документ, хорошая основа, но не идеален.
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
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
суббота, 5 октября 2013 г.
понедельник, 23 сентября 2013 г.
solaris: включаем систему статистики sar
Есть такая простенькая система для сбора данных по нагрузке, до систем типа того же zabbix
конечно далеко, но иногда помогает понять, когда и с чем на сервере перегруз.
конечно далеко, но иногда помогает понять, когда и с чем на сервере перегруз.
среда, 18 сентября 2013 г.
Debian 7: downgrade php to 5.3
В дебиане штатный пых версии 5.4, но иногда требуется 5.3, как в 6 версии. Нужная нам плюшка называется oldstable, ставится так: в /etc/apt/sources.list дописываем
deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
apt-get update
Теперь 2 варианта: выставляем приоритеты пакетам
в /etc/apt/preferences.d/preferences (надо файл создать)
Package: php5*
Pin: release a=oldstable
Pin-Priority: 700
Package: libapache2-mod-php5
Pin: release a=oldstable
Pin-Priority: 700
Package: php-pear
Pin: release a=oldstable
Pin-Priority: 700
Package: php-apc
Pin: release a=oldstable
Pin-Priority: 700
Package: *
Pin: release a=stable
Pin-Priority: 600
ну и обновляем то, что уже стоит
PHP=$(dpkg -l|grep php|grep 5.4.4|awk '{print $2}')
apt-get install --reinstall $PHP
или просто ставим нужные версии руками через
apt-get install php5=5.3.3-7+squeeze14
версию вынесем в переменную
VERSION="5.3.3-7+squeeze14"
и чтобы не было конфликтов, ставим базу отдельно
1) apt-get install php5=$VERSION
2) apt-get install php5-common=$VERSION
3) apt-get install php5-cli=$VERSION
после этого доставляем нужные модули, зависимости уже подтянет само. Но это уже изврат, имхо. Да, и не забываем зафиксировать версии, чтобы не обновило на 5.4 (для 1 варианта неактуально!)
aptitude hold php5 php5-cli php5-common
линки
http://blog.wpkg.org/2013/06/20/downgrading-to-php-5-3-on-debian-wheezy-7-0/
http://rusadmin.biz/ustanovka-php-5-3-na-debian-7.html
http://forums.debian.net/viewtopic.php?f=17&t=104075
deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
apt-get update
Теперь 2 варианта: выставляем приоритеты пакетам
в /etc/apt/preferences.d/preferences (надо файл создать)
Package: php5*
Pin: release a=oldstable
Pin-Priority: 700
Package: libapache2-mod-php5
Pin: release a=oldstable
Pin-Priority: 700
Package: php-pear
Pin: release a=oldstable
Pin-Priority: 700
Package: php-apc
Pin: release a=oldstable
Pin-Priority: 700
Package: *
Pin: release a=stable
Pin-Priority: 600
ну и обновляем то, что уже стоит
PHP=$(dpkg -l|grep php|grep 5.4.4|awk '{print $2}')
apt-get install --reinstall $PHP
или просто ставим нужные версии руками через
apt-get install php5=5.3.3-7+squeeze14
версию вынесем в переменную
VERSION="5.3.3-7+squeeze14"
и чтобы не было конфликтов, ставим базу отдельно
1) apt-get install php5=$VERSION
2) apt-get install php5-common=$VERSION
3) apt-get install php5-cli=$VERSION
после этого доставляем нужные модули, зависимости уже подтянет само. Но это уже изврат, имхо. Да, и не забываем зафиксировать версии, чтобы не обновило на 5.4 (для 1 варианта неактуально!)
aptitude hold php5 php5-cli php5-common
линки
http://blog.wpkg.org/2013/06/20/downgrading-to-php-5-3-on-debian-wheezy-7-0/
http://rusadmin.biz/ustanovka-php-5-3-na-debian-7.html
http://forums.debian.net/viewtopic.php?f=17&t=104075
.htaccess и php_value mbstring.func_overload
Боян конечно, но мы только недавно столкнулись: в htaccess больше нельзя прописать php_value типа mbstring.func_overload (http://bugs.php.net/bug.php?id=47187&edit=1)
Достаточно простое решение без всяких fastcgi:
<IfModule mod_php5.c>
php_value default_charset UTF-8
php_admin_value mbstring.func_overload 2
php_value mbstring.internal_encoding UTF-8
php_admin_value realpath_cache_size "4096k"
</IfModule>
Достаточно простое решение без всяких fastcgi:
<IfModule mod_php5.c>
php_value default_charset UTF-8
php_admin_value mbstring.func_overload 2
php_value mbstring.internal_encoding UTF-8
php_admin_value realpath_cache_size "4096k"
</IfModule>
понедельник, 16 сентября 2013 г.
Инструкция по выживанию для штатного системного администратора
Инструкция по выживанию для штатного системного администратора - 1, 2
Некоторые вещи спорны, но в целом - очень полезные статьи.
Бонус: Построение карьеры в большой организации. Tips&tricks
Некоторые вещи спорны, но в целом - очень полезные статьи.
Бонус: Построение карьеры в большой организации. Tips&tricks
четверг, 12 сентября 2013 г.
Сварка оптических волокон
Очень интересное описание процесса работы с оптикой
http://habrahabr.ru/post/193146/
Сварка оптических волокон. Часть 1: кабели и их разделка, оптический инструмент, муфты и кроссы, коннекторы и адаптеры
http://habrahabr.ru/post/193146/
Сварка оптических волокон. Часть 1: кабели и их разделка, оптический инструмент, муфты и кроссы, коннекторы и адаптеры
Отличия свичей L2 и L2+
L2+ "обычно" называют коммутатор уровня 2, но с расширенной функциональностью, чаще всего имея ввиду именно поддержку VLAN-ов 802.1q
Часть операций он может выполнять и на уровне Layer3-4 (например на портах выставлять QoS с приоритезацией по UDP/TCP портам, но при этом маршрутизировать не может).
понедельник, 9 сентября 2013 г.
Ускоряем работу umi.cms
Есть такая CMS от UMI, отличается даже большей тормознутостью чем битрикс и в целом несколько сложной разработкой.
Есть сервер, на базе core i7, не загруженный, но со временем открытия страниц порядка 7с. Попробуем несколько ускорить.
Есть сервер, на базе core i7, не загруженный, но со временем открытия страниц порядка 7с. Попробуем несколько ускорить.
четверг, 5 сентября 2013 г.
среда, 4 сентября 2013 г.
solaris: аналоги netstat -npl, -tulpn
Варианты не 1-в-1, но можно сформировать список и форматировать уже как надо, главное понять принцип.
Через lsof (ставится отдельно)
lsof -i TCP|fgrep LISTEN
получение списка без lsof
pfexec pfiles `ls /proc` 2>/dev/null | egrep '^[0-9]|port:' | grep -v "AF_INET6" | sed -e 's/sockname: AF_INET//' -e 's/ *port: /:/'
вариант 2, фильтрованный
pfiles /proc/* 2>&- |
nawk 'END {
if (f) print p
}
/^[0-9]/ {
if (f) print p, RS
p = $0
f = 0
}
/INET / {
sub(/.*INET/,"")
p = p ? p RS $0 : $0
f = 1
}'
Вариант для 1 порта через lsof
lsof -i:port
без lsof надо открывать proc(ls /proc) и парсить, пример есть тут
линки
https://blogs.oracle.com/taz/entry/get_application_pid_listening_on
http://onlineappsdba.com/index.php/2008/06/10/how-to-find-pid-listening-particular-port-on-linuxsolaris-10/
http://stackoverflow.com/questions/91169/what-process-is-listening-on-a-certain-port-on-solaris
http://www.unix.com/solaris/87330-list-tcp-ports-process.html
http://chihungchan.blogspot.ru/2007/03/which-process-listens-to-this-port-in.html
Через lsof (ставится отдельно)
lsof -i TCP|fgrep LISTEN
получение списка без lsof
pfexec pfiles `ls /proc` 2>/dev/null | egrep '^[0-9]|port:' | grep -v "AF_INET6" | sed -e 's/sockname: AF_INET//' -e 's/ *port: /:/'
вариант 2, фильтрованный
pfiles /proc/* 2>&- |
nawk 'END {
if (f) print p
}
/^[0-9]/ {
if (f) print p, RS
p = $0
f = 0
}
/INET / {
sub(/.*INET/,"")
p = p ? p RS $0 : $0
f = 1
}'
Вариант для 1 порта через lsof
lsof -i:port
без lsof надо открывать proc(ls /proc) и парсить, пример есть тут
линки
https://blogs.oracle.com/taz/entry/get_application_pid_listening_on
http://onlineappsdba.com/index.php/2008/06/10/how-to-find-pid-listening-particular-port-on-linuxsolaris-10/
http://stackoverflow.com/questions/91169/what-process-is-listening-on-a-certain-port-on-solaris
http://www.unix.com/solaris/87330-list-tcp-ports-process.html
http://chihungchan.blogspot.ru/2007/03/which-process-listens-to-this-port-in.html
пятница, 30 августа 2013 г.
четверг, 29 августа 2013 г.
debian 7: куда сохранять правила для iptables?
Ищем загрузку правил:
grep -rl iptables /etc/
/etc/network/if-up.d/iptables
grep -rl iptables /etc/
/etc/network/if-up.d/iptables
cat /etc/network/if-up.d/iptables
#!/bin/sh
/sbin/iptables-restore < /var/lib/iptables/rules
Значит, искомый путь в /var/lib/iptables/rules
ЗЫ
Если стоит ispmanager, он этот файл заполняет, но иногда почему-то при запуске оно игнорируется. Проверить наличие правил:
iptables -L -v
Если пусто - можно загрузить руками, /sbin/iptables-restore < /var/lib/iptables/rules
среда, 28 августа 2013 г.
opsview: еще система мониторинга
http://www.opsview.com/
Это несколько улучшенный и переточенный nagios, с добавленными графиками и прочим.
http://www.linuxhome.ru/tag/opsview/
Это несколько улучшенный и переточенный nagios, с добавленными графиками и прочим.
http://www.linuxhome.ru/tag/opsview/
Есть в бесплатном и платных вариантах.
Opsview is a software company specializing in enterprise systems monitoring software for physical, virtual, and cloud-based IT infrastructures.[1] Its headquarters is in Reading, England, with a US office in Woburn, Massachusetts. The product aims to provide a single, unified view of IT operations. The company claims that more than 30,000[2] businesses and service providers use Opsview to manage their network devices, physical and virtual servers, storage and cloud systems.
Opsview sponsors a free, open-source software version - Opsview Core. It sells Opsview Pro to SMBs and Opsview Enterprise to larger organisations under a proprietary license.[1]
redmine: Internal error на /settings и /users/1/edit
Ошибка обычно возникает после обновления редмайна, при обращении в /settings и добавлении/правке юзеров, при том что остальное работает нормально.
пятница, 23 августа 2013 г.
solaris 5.10 и нормальный список софта
Поскольку без подписки ничего толком не поставить, надо подключить доп репу, да и не факт что для 5.10 что-то есть уже (январь 2005 года дистр), раньше это была ...wave, вместо которой теперь OpenCSW
Подготовка к работе:
http://www.opencsw.org/manual/for-administrators/getting-started.html
Какой выбрать вариант пакетов:
http://mirror.opencsw.org/opencsw/
Ставим пакет, например vim
pkgutil -i vim
Если что, конфиг в /opt/csw/etc/pkgutil.conf
Подготовка к работе:
http://www.opencsw.org/manual/for-administrators/getting-started.html
Какой выбрать вариант пакетов:
http://mirror.opencsw.org/opencsw/
DIRECTORIES: "unstable" gets a high volume of freshly built updates "testing" is a symlink to the current testing release "stable" has been deprecated "dublin" (a named release) does not get updates "kiel" (a named release) is periodically synchronized from "unstable" "current" has been removed "legacy" is a dead branch with a 2008 snapshot "allpkgs" contains all packages that can be found in the archive It is available on http://mirror.opencsw.org/opencsw/allpkgs and sites mirroring rsync://mirror.opencsw.org/opencsw-full "releases" contains symlinks to previously released catalogs
Вообще странно видеть строку ""stable" has been deprecated". Мы для себя выбрали kiel
Пример просмотра пакетов для 5.10 в kielhttp://mirror.opencsw.org/opencsw/kiel/sparc/5.10/
Ставим пакет, например vim
pkgutil -i vim
Если что, конфиг в /opt/csw/etc/pkgutil.conf
вторник, 20 августа 2013 г.
Выпускаем debian через прокси в мир
Довелось настраивать сервер в клиентской сети, где всё нужно пускать через прокси.
Простой вариант:
export http_proxy="http://proxy-name-or-ip:port"
С авторизацией:
export http_proxy="http://user:pass@proxy-name-or-ip:port"
таким же образом могут быть прописаны https_proxy, rsync_proxy, ftp_proxy
линки
https://wiki.archlinux.org/index.php/Proxy_settings
Простой вариант:
export http_proxy="http://proxy-name-or-ip:port"
С авторизацией:
export http_proxy="http://user:pass@proxy-name-or-ip:port"
таким же образом могут быть прописаны https_proxy, rsync_proxy, ftp_proxy
линки
https://wiki.archlinux.org/index.php/Proxy_settings
понедельник, 19 августа 2013 г.
postgresql: psql: FATAL: Peer authentication failed for user "postgres"
При простом
psql -U postgres
можно получить
psql: FATAL: Peer authentication failed for user "postgres"
Решений несколько:
1) sudo -u postgres psql (при записи peer в конфиге даже без запроса пароля)
2) psql -U postgres -h localhost (с запросом пароля)
3) задать PGHOST=localhost
линки
postgresql: "postgres" ?? ?????? ???????? ??????????? (?? ??????)
Обнаружилось на одном сервере при перезапуске porstgresql такое:
# cat /etc/debian_version
7.1
# /etc/init.d/postgresql restart
[....] Restarting PostgreSQL 9.1 database server: mainpsql
failed!
[....] The PostgreSQL server failed to start. Please check the log output: 2013-08-19 11:21:00 MSK ???????: ??????? ?? ???? ?????????: 2013-08-19 11:20:58 MSK 2013-08-19 11:21:00 MSK ???????: ??????? ?? ?????? ????????? ??????????? 2013-08-19 11:21:00 MSK ???????: ??????? ??????? ??????????? ?????? 2013-08-19 11:21:00 MSK ???????: ???????? ????????? ????? 2013-08-19 11:21:00 MSK ?????: ???????????? "postgres" ?? ?????? ???????? ??????????? (?? ??????) 2013-08-19 11:21:01 MSK ?????: ???????????? "postgres" ?? ?????? ???????? ??????????? (?? ??????) 2013-08-19 11:21:01 MSK ?????: ???????????? "postgres" ?? ?????? ???????? ??????????? (?? ??????) 2013-08-19 11:21:02 MSK ?????: ???????????? "postgres" ?? ?????? ???????? ??????????? (?? ??????) 2013-08-19 11:21:03 MSK ?????: ???????????? "postgres" ?? ?????? ???????? ??????????? (?? ??????) 2013-08-19 11:21:03 MSK ?????: ???????????? "postgres" ?? ?????? ???????? ??????????? (?? ??????) 2013-08-19 11:21:04 MSK ?????: ???????????? "postgres" ?? ?????? ???????? ??????????? (?? ??????) 2013-08-19 11:21:04 MSK ?????: ???????????? "postgres" ?? ?????? ???????? ??????????? (?? ??????) 2013-08-19 11:21:05 MSK ?????: ???????????? "postgres" ?? ?????? ???????? ??????????? (?? ??????) 2013-08-19 11:21:05 MSK ?????: ???????????? "postgres" ?? ?????? ???????? ??????????? (?? ??????) 2013-08-19 11:21:06 MSK ?????: ???????????? "postgres" ?? ?????? ???????[FAIL???????? (?? ??????) ... failed!
failed!
# cat /etc/debian_version
7.1
Очень похоже на глюки в перекодировке, потому что в putty что в режиме utf-8, что cp1251 - показывает только вопросы, что характерно (с).
#cat /etc/postgresql/9.1/main/postgresql.conf|grep -i utf
lc_messages = 'ru_RU.UTF-8' # locale for system error message
lc_monetary = 'ru_RU.UTF-8' # locale for monetary formatting
lc_numeric = 'ru_RU.UTF-8' # locale for number formatting
lc_time = 'ru_RU.UTF-8' # locale for time formatting
Вот и виновники. Вот какой идиот на СЕРВЕРЕ включает сообщения на русском? Это же не рабочая станция, вдобавок парсить логи потом будет той ещё проблемой.
Поправим этот дебилизам:
sed -i '' -e 's#ru_RU#en_US#g' /etc/postgresql/9.1/main/postgresql.conf
После этого в логе может появиться ругань
FATAL: invalid value for parameter "lc_messages": "en_US.UTF-8"
(у нас появилось на машине с постгресом 9.1 + дебилян 7.1, тогда как 8.4 + 6 деб - ругани нет)
В этом случае самое простое -- закомментировать lc_* и всё заработает.
"правильный" фикс быстро найти не удалось, с комментированием и так вывод становится нормальным.
четверг, 15 августа 2013 г.
среда, 14 августа 2013 г.
Обновляем debian с 6 на 7
Есть офдока, ниже краткая выжимка + Что нужно знать о wheezy
Сначала надо обновить систему до последней версии
apt-get update
apt-get upgrade -y
Теперь прописываем новую версию в apt
# sed -i'' -e "s#squeeze#wheezy#g" /etc/apt/sources.list
sed -i'' -e "s#squeeze#wheezy#g" /etc/apt/sources.list.d/*
И обновляем.
Сначала надо обновить систему до последней версии
apt-get update
apt-get upgrade -y
Теперь прописываем новую версию в apt
# sed -i'' -e "s#squeeze#wheezy#g" /etc/apt/sources.list
sed -i'' -e "s#squeeze#wheezy#g" /etc/apt/sources.list.d/*
И обновляем.
apt-get update
apt-get upgrade
В связи с переходом на udev доставим пакетик...
apt-get install udev
желающим использовать ядро 2.6:
apt-get install linux-image-2.6-amd64
обновить загрузчик (но работать будет и так)
update-grub
apt-get install udev
желающим использовать ядро 2.6:
apt-get install linux-image-2.6-amd64
обновить загрузчик (но работать будет и так)
update-grub
и обновляемся на 7.
apt-get dist-upgrade
Если в mount мешают записи типа
/dev/disk/by-uuid/
то в /etc/default/grub раскомментировать
GRUB_DISABLE_LINUX_UUID=true
и обновить загрузчик
update-grub
Если в mount мешают записи типа
/dev/disk/by-uuid/
то в /etc/default/grub раскомментировать
GRUB_DISABLE_LINUX_UUID=true
и обновить загрузчик
update-grub
понедельник, 12 августа 2013 г.
Получаем информацию об оборудовании
Потребовалось посмотреть начинку для solaris 10.0 под sparc, гугление долго ничего не показывало. И вдруг обнаружилась крайне интересная статейка
32 vs 64: Как определить битность операционной системы и процессора
Начало бесполезно, а вот дальше шли основные диагностические команды, по которым стало понятно всё о начинке, в частности isainfo -kv, psrinfo -v, prtdiag
Плюсом про HP-UX, AIX есть.
Ниже копипаста, мало ли исчезнет оригинал.
32 vs 64: Как определить битность операционной системы и процессора
Начало бесполезно, а вот дальше шли основные диагностические команды, по которым стало понятно всё о начинке, в частности isainfo -kv, psrinfo -v, prtdiag
Плюсом про HP-UX, AIX есть.
Ниже копипаста, мало ли исчезнет оригинал.
пятница, 9 августа 2013 г.
KVM для sparc
http://www.oracle.com/technetwork/server-storage/solaris/overview/aten-technology--inc--140976.html
Это продукция ATEN. Что забавно - простой поиск по сайту самого aten ничего не дает.
Это продукция ATEN. Что забавно - простой поиск по сайту самого aten ничего не дает.
вторник, 6 августа 2013 г.
linux: mysql binlog + logrotate = создание тысяч файлов
При включении систем ротации логов нужно проверять, что бинлоги не попадают в ротацию, иначе при активной работе с базой появляется куча файлов вида
mysql-bin.000001.1.gz.2.gz.1.1
.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1
...
mysql-bin.000001.1.gz.2.gz.1.1
.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1
Правильнее делать самой базой
expire_logs_days = 10
max_binlog_size = 128M
и они сами будут создаваться, удаляться. А вот для всяких slow_log можно оставить.
mysql-bin.000001.1.gz.2.gz.1.1
.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1
...
mysql-bin.000001.1.gz.2.gz.1.1
.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1
Правильнее делать самой базой
expire_logs_days = 10
max_binlog_size = 128M
и они сами будут создаваться, удаляться. А вот для всяких slow_log можно оставить.
среда, 24 июля 2013 г.
linux: немного про управление upstart
Постепенно все переходят на систему upstart, и по неопытности приходится видеть сообщения вида
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql status
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the status(8) utility, e.g. status mysql
Теперь всё управление запуском идёт через скрипты в /etc/init/
Больше никаких update-rc.d...
Управлять сервисами можно через service, типа
service mysql status
можно просто
start mysql; restart mysql; status mysql; stop mysql
только не перепутайте restart и reboot :)
proxmox: create vm : error cluster not ready - no quorum ??
Бывает, если не хватает нод (например есть система из 2 нод, 1 отпала, больше машины не создаются)
Быстрый фикс: в консоли живой ноды
pvecm e 1
но вообще лучше устранить проблему, чтобы кворум был.
Проверить настройки
pvecm status |grep Quorum
Таким же методом можно удалить ноду из системы, где их было всего 2.
proxmox: запуск ubuntu в vz-контейнере
Как обычно, сначала выкачиваем шаблон (templates), create CT, вводим что и где.
Теперь об интересном: о настройке.
Теперь об интересном: о настройке.
понедельник, 22 июля 2013 г.
FreeBSD: freebsd-update и Fetching public key from updateX.FreeBSD.org... failed.
freebsd-update fetch
Looking up update.FreeBSD.org mirrors... 4 mirrors found.
Fetching public key from update5.FreeBSD.org... failed.
Fetching public key from update3.FreeBSD.org... failed.
Fetching public key from update4.FreeBSD.org... failed.
Fetching public key from update2.FreeBSD.org... failed.
No mirrors remaining, giving up.
Looking up update.FreeBSD.org mirrors... 4 mirrors found.
Fetching public key from update5.FreeBSD.org... failed.
Fetching public key from update3.FreeBSD.org... failed.
Fetching public key from update4.FreeBSD.org... failed.
Fetching public key from update2.FreeBSD.org... failed.
No mirrors remaining, giving up.
суббота, 20 июля 2013 г.
FreeBSD: пример опций для установленных пакетов
После установки пакетов создаётся файл конфигурации, например /var/db/ports/www_redmine/options
пятница, 19 июля 2013 г.
FreeBSD: некоторые замечания по настройке redmine+nginx+passenger
Во freebsd редмайн ставится просто - make -C /usr/ports/www/redmine install clean
вторник, 16 июля 2013 г.
resize2fs: Couldn't find valid filesystem superblock.
Например:
# resize2fs /dev/vg-www/www
resize2fs 1.41.12 (17-May-2010)
resize2fs: Device or resource busy while trying to open /dev/vg-www/www
Couldn't find valid filesystem superblock.
Для нас было актуально, когда надо было ресайзить /var/www без перезагрузки системы и желательно даже без отмонтирования раздела, благо облако selectel такое позволяет, и даже LVM уже умеет на лету увеличиваться. Проблема оказалась чисто в изменении размера раздела.
UP: как оказалось, эта ошибка в_том_числе значит, что нужно было сделать fsck (на отмонтированном разделе опять же). Вот такая тут магия.
# resize2fs /dev/vg-www/www
resize2fs 1.41.12 (17-May-2010)
resize2fs: Device or resource busy while trying to open /dev/vg-www/www
Couldn't find valid filesystem superblock.
Для нас было актуально, когда надо было ресайзить /var/www без перезагрузки системы и желательно даже без отмонтирования раздела, благо облако selectel такое позволяет, и даже LVM уже умеет на лету увеличиваться. Проблема оказалась чисто в изменении размера раздела.
UP: как оказалось, эта ошибка в_том_числе значит, что нужно было сделать fsck (на отмонтированном разделе опять же). Вот такая тут магия.
vmfs - ФС у esx(i)
Плюшки:
VMFS — кластерная файловая система, разработанная VMware для хранения образов виртуальных машин. Некоторые особенности VMFS:
Максимальный размер файлв - до 2 ТБ
Высокая производительность - доступ к vmdk файлу по скорости лишь немного уступает скорости прямого чтения с диска
Поддержка кластерности - возможность множественных обращений с различных хостов к VMFS раздел (но не более 64 ESX-серверов[1])
Файловая система является проприетарной, но существует свободная реализация, которая позволяет получить доступ к файловой системе в режиме только для чтения.
http://xgu.ru/wiki/VMFS
Дальше минусы. В линуксе можно монтировать её в режиме read-only, поставив vmfs-tools (который судя по всему уже 4 года не развивается вообще и фактически рип), вдобавок оно fuse, то есть будет дико медленным.
Заявлялась поддержка freebsd 7.2, а дальше видимо никто не проверял.
Линки
http://glandium.org/projects/vmfs-tools/
http://en.wikipedia.org/wiki/VMware_VMFS
http://www.stableit.ru/2011/04/vmfs-vmware-esxi-ubuntu-1010-vmfs-tools.html
VMFS — кластерная файловая система, разработанная VMware для хранения образов виртуальных машин. Некоторые особенности VMFS:
Максимальный размер файлв - до 2 ТБ
Высокая производительность - доступ к vmdk файлу по скорости лишь немного уступает скорости прямого чтения с диска
Поддержка кластерности - возможность множественных обращений с различных хостов к VMFS раздел (но не более 64 ESX-серверов[1])
Файловая система является проприетарной, но существует свободная реализация, которая позволяет получить доступ к файловой системе в режиме только для чтения.
http://xgu.ru/wiki/VMFS
Дальше минусы. В линуксе можно монтировать её в режиме read-only, поставив vmfs-tools (который судя по всему уже 4 года не развивается вообще и фактически рип), вдобавок оно fuse, то есть будет дико медленным.
Заявлялась поддержка freebsd 7.2, а дальше видимо никто не проверял.
Линки
http://glandium.org/projects/vmfs-tools/
http://en.wikipedia.org/wiki/VMware_VMFS
http://www.stableit.ru/2011/04/vmfs-vmware-esxi-ubuntu-1010-vmfs-tools.html
понедельник, 15 июля 2013 г.
linux: mount --bind
mount via console:
mount --bind /var/www/source/123 /home/123
mount via /etc/fstab:
/var/www/source/123 /home/123 bind defaults,bind 0 0
mount --bind /var/www/source/123 /home/123
mount via /etc/fstab:
/var/www/source/123 /home/123 bind defaults,bind 0 0
четверг, 11 июля 2013 г.
proxmox: Поднимаем centos 6 в ovz-контейнере
Как оказалось, настроить centos в ovz сложнее, чем полноценную KVM виртуалку.
Итак, имеем proxmox-ve-2.6.32 (3.0-100) и хотим поставить centos 6.
0. Некоторые замечания
Что где искать?
шаблоны, которые загружаются в local (место создано по умолчанию, локально)
/var/lib/vz/template/cache/
для созданных нами точек:
/mnt/pve/(название)/template/cache
глобальные настройки openvz
/etc/vz/vz.conf
Итак, имеем proxmox-ve-2.6.32 (3.0-100) и хотим поставить centos 6.
0. Некоторые замечания
Что где искать?
шаблоны, которые загружаются в local (место создано по умолчанию, локально)
/var/lib/vz/template/cache/
для созданных нами точек:
/mnt/pve/(название)/template/cache
глобальные настройки openvz
/etc/vz/vz.conf
Также можно заглянуть в
понедельник, 8 июля 2013 г.
FreeBSD: обновляем perl с 5.10 до 5.16
В связи с тем, что 5.10 выпилен, лучше обновлять сразу на максимально свежую версию. И есть там ряд нюансов.
ruby: ERROR: While generating documentation for nokogiri-1.5.0 MESSAGE: "\xE2" from ASCII-8BIT to UTF-8
Если глюкодром под названием руби в очередной раз порадовал ошибкой, в этот раз
пятница, 5 июля 2013 г.
Subversion 1.8.0
Чуть запоздало:
Увидела свет система управления версиями Subversion 1.8.0
Из основных отличий - переход с NEON на SERF, который должен быть быстрее (фряшникам неактуально, серф опцией еще в 1.6 был).. Чуть улучшили мержи, FSFS. В общем, можно перейти, но я не вижу вау-фишек как в 1.7 централизация .svn
Теперь во freebsd порт devel/subversion указывает на 1.8, и если нужно сохранить 1.7 -- переходим на devel/subversion17
http://www.opennet.ru/opennews/art.shtml?num=37207
Увидела свет система управления версиями Subversion 1.8.0
Из основных отличий - переход с NEON на SERF, который должен быть быстрее (фряшникам неактуально, серф опцией еще в 1.6 был).. Чуть улучшили мержи, FSFS. В общем, можно перейти, но я не вижу вау-фишек как в 1.7 централизация .svn
Теперь во freebsd порт devel/subversion указывает на 1.8, и если нужно сохранить 1.7 -- переходим на devel/subversion17
http://www.opennet.ru/opennews/art.shtml?num=37207
четверг, 4 июля 2013 г.
получаем ssh fingerprint для хоста
При первом подключении к серверу запрашивается
The authenticity of host 'nnn.nnn.nnn.nnn' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? no
А как этот самый принт получить? (например, для автоматического добавления)
# ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
2048 1a:b9:2c:dc:99:a6:57:14:5e:b4:b0:f4:62:a4:1a:3d root@ubuntu (RSA)
The authenticity of host 'nnn.nnn.nnn.nnn' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? no
А как этот самый принт получить? (например, для автоматического добавления)
# ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
2048 1a:b9:2c:dc:99:a6:57:14:5e:b4:b0:f4:62:a4:1a:3d root@ubuntu (RSA)
понедельник, 1 июля 2013 г.
parking-slidebar: осторожно, проблемы!
Итак, по результату их годового использования было принято решение уйти с них. О причинах ниже.
понедельник, 24 июня 2013 г.
FreeBSD: fail2ban - базовая настройка
fail2ban это универсальная система для защиты от атак перебором, в том числе на ssh, телефонию, ftp итд.
Более простая система - denyhosts, но она следит только за ssh, тогда как возможности fail2ban гораздо шире.
четверг, 20 июня 2013 г.
vsftpd в opensuse 12.3
В сусе 12.3 есть (был?) косяк с vsftp
2013-03-14T19:00:52.496856+06:00 suse123 vsftpd: PAM audit_log_acct_message() failed: Operation not permitted
2013-03-14T19:00:52.496856+06:00 suse123 vsftpd: PAM audit_log_acct_message() failed: Operation not permitted
среда, 19 июня 2013 г.
Компания Oracle молча перевела man-руководства MySQL на проприетарную лицензию
http://www.opennet.ru/opennews/art.shtml?num=37215
"За исключением случаев, прямо предусмотренных в лицензионном соглашении или разрешенных законом, пользователь теперь ограничен в использовании, копировании, воссоздании, переводе, вещании, изменении, лицензировании, передаче, распространении, демонстрации, публикации и отображении любых частей руководств в любой форме и c любыми целями. Запрещён также обратный инжиниринг, дизасемблирование и декомпиляция, за исключением случаев предусмотренных законом."
Король мёртв... Да здравствует король! В общем, пора переходить на марию/перкону. И привет ламерам с sql.ru, у которых "у тебя версия не сана/оракла? Ставь официальный и возвращайся". Оракл аккуртно душит продукт, и дальше будет только хуже, привет закрытые модули и зажатые исходники. Но полностью его не закроют, не просто так же заплатили 1ккк долларов в том числе за мускуль.
Мне кажется, что будет повторена судьба опенсоляриса: если раньше опен был тестовой площадкой перед внедрением плюшек в соляру, сейчас это весьма урезанная версия, отстающая от соляры на год-другой, и без ряда некоторых интересных вещей. Тут тоже бесплатная версия относительно энтерпрайз будет остающей на пару лет, всё наиболее интересное будет в закрытых платных модулях, дыры будут закрываться по году, никаких официальных форумов по бесплатной версии не будет...
"За исключением случаев, прямо предусмотренных в лицензионном соглашении или разрешенных законом, пользователь теперь ограничен в использовании, копировании, воссоздании, переводе, вещании, изменении, лицензировании, передаче, распространении, демонстрации, публикации и отображении любых частей руководств в любой форме и c любыми целями. Запрещён также обратный инжиниринг, дизасемблирование и декомпиляция, за исключением случаев предусмотренных законом."
Король мёртв... Да здравствует король! В общем, пора переходить на марию/перкону. И привет ламерам с sql.ru, у которых "у тебя версия не сана/оракла? Ставь официальный и возвращайся". Оракл аккуртно душит продукт, и дальше будет только хуже, привет закрытые модули и зажатые исходники. Но полностью его не закроют, не просто так же заплатили 1ккк долларов в том числе за мускуль.
Мне кажется, что будет повторена судьба опенсоляриса: если раньше опен был тестовой площадкой перед внедрением плюшек в соляру, сейчас это весьма урезанная версия, отстающая от соляры на год-другой, и без ряда некоторых интересных вещей. Тут тоже бесплатная версия относительно энтерпрайз будет остающей на пару лет, всё наиболее интересное будет в закрытых платных модулях, дыры будут закрываться по году, никаких официальных форумов по бесплатной версии не будет...
понедельник, 10 июня 2013 г.
DNAME бесполезен?
DNS: DNAME Is Useless
DNAME understanding
wiki: CNAME record
A DNAME record or Delegation Name record is defined by RFC 6672
A DNAME record creates an alias for an entire subtree of the domain name tree. In contrast, the CNAME record creates an alias for a single name and not its subdomains. Like the CNAME record, the DNS lookup will continue by retrying the lookup with the new name.
Для чего это могло бы пригодиться? Например, сделать редирект с одного домена на другой, целиком. Но увы, не получится: основной домен всё-равно редиректить не будет и нужна А запись. То есть, для домена запись
@ IN DNAME new.com.
@ IN A 1.2.3.4
примерно превращается в
@ IN A 1.2.3.4
* IN CNAME new.com.
Отличие только при попытке обратиться к поддоменам вида a.b.c.d.domain, что бывает нужно редко. При этом если в BIND 9.6 прописать * CNAME new.com. - работать будет в том числе для поддоменов не-единичной вложенности, что было проверено на практике.
Вдобавок бывают конструкции вида *.* у некоторых днс-серверов, где можно управлять глубиной.
А что делать, если надо сделать полный редирект для всего домена? Прописать А записи в ту же зону .com никто не даст, поэтому нужен сервер, который будет делать этот самый редирект. Плюс CNAME при необходимости.
DNAME understanding
wiki: CNAME record
A DNAME record or Delegation Name record is defined by RFC 6672
A DNAME record creates an alias for an entire subtree of the domain name tree. In contrast, the CNAME record creates an alias for a single name and not its subdomains. Like the CNAME record, the DNS lookup will continue by retrying the lookup with the new name.
Для чего это могло бы пригодиться? Например, сделать редирект с одного домена на другой, целиком. Но увы, не получится: основной домен всё-равно редиректить не будет и нужна А запись. То есть, для домена запись
@ IN DNAME new.com.
@ IN A 1.2.3.4
примерно превращается в
@ IN A 1.2.3.4
* IN CNAME new.com.
Отличие только при попытке обратиться к поддоменам вида a.b.c.d.domain, что бывает нужно редко. При этом если в BIND 9.6 прописать * CNAME new.com. - работать будет в том числе для поддоменов не-единичной вложенности, что было проверено на практике.
Вдобавок бывают конструкции вида *.* у некоторых днс-серверов, где можно управлять глубиной.
А что делать, если надо сделать полный редирект для всего домена? Прописать А записи в ту же зону .com никто не даст, поэтому нужен сервер, который будет делать этот самый редирект. Плюс CNAME при необходимости.
понедельник, 3 июня 2013 г.
Настройка IPv6 на Debian/Ubuntu/Owncloud (из памятки селектела)
Настройка сервера в режим работы на чистом IPv6
среда, 15 мая 2013 г.
FreeBSD: Error in apache22-itk-mpm
Иногда при сборке apache22-itk-mpm вылезает ошибка
> configure: error: the selected mpm -- itk -- is not supported
> configure: error: the selected mpm -- itk -- is not supported
FreeBSD: configure: error: Subversion requires SQLite
При попытке установить svn может вылезти
configure: WARNING: no suitable sqlite found in /usr/local
среда, 1 мая 2013 г.
Dell: Sliding Rail installation guidline
Cable Routing Procedures for Dell™ PowerEdge™ R320 & R420 Systems
http://i.dell.com/sites/content/shared-content/data-sheets/en/Documents/R320_R420_Cabling_White_Paper.pdf
Красиво, в цвете и картинках
Dell Sliding Rail installation guidline
http://www.youtube.com/watch?v=g8gTTFiOh84
Видео, как ставится cable management arm, снимает ряд вопросов.
Rack Installation Guide
http://www.noesisinc.com/links/DellDocs/PowerEdge2650/RackMounting/7W226A00.pdf
Более полная и подробная инструкция, больше первой раза в 2. Но не такая красивая.
И немного от себя.
В комплекте к sliding rails есть проводок status indicator cable, он дублирует показания "системного цвета" (например, при норм работе сзади и на LCD экране подсветка голубая, при отказе диска всё становится оранжевым). Подключается около светящегося сзади огонька. Прицепляется на сам "хобот"-органайзер, который двигается. Около места выхода кабелей сверху есть впадинка под индикатор. Как оно туда цепляется, мы понять не сумели, приложение умеренной силы результата не дало.
Также в комплекте есть 2 небольшие железки, они обозначены Side A & Side B и прицепляются на рельсы около выступов с такими же надписями, чуть глубже (ближе к переднему краю), на пару см. Есть размещение с закреплением концов органайзера справа и слева, нормальное размещение для R420 слева - замки на органайзере будут сверху. Можно разместить справа, но тогда будет сложность с заменой БП - надо будет снимать этот органайзер.
суббота, 27 апреля 2013 г.
postfix: очистка почты
Оказалось, что с почтой в exim и postfix надо работать по разному. Про exim уже была неплохая подборка, теперь на очереди postfix.
Где лежат исходящие письма (линь):
/var/spool/postfix/deferred/ - сами сообщения
/var/spool/postfix/defer/ - сообщения о процессе доставки (например, почему отложено)
Где лежат исходящие письма (линь):
/var/spool/postfix/deferred/ - сами сообщения
/var/spool/postfix/defer/ - сообщения о процессе доставки (например, почему отложено)
пятница, 26 апреля 2013 г.
idle3-tools
http://idle3-tools.sourceforge.net/
Idle3-tools provides a linux/unix utility that can disable, get and set the value of the infamous idle3 timer found on recent Western Digital Hard Disk Drives.
It can be used as an alternative to the official wdidle3.exe proprietary utility, without the need to reboot in a DOS environement.
A power off/on cycle of the drive will still be mandatory for new settings to be taken into account.
Для centos эта утилита есть в репе CentALT.
Idle3-tools provides a linux/unix utility that can disable, get and set the value of the infamous idle3 timer found on recent Western Digital Hard Disk Drives.
It can be used as an alternative to the official wdidle3.exe proprietary utility, without the need to reboot in a DOS environement.
A power off/on cycle of the drive will still be mandatory for new settings to be taken into account.
Для centos эта утилита есть в репе CentALT.
пятница, 19 апреля 2013 г.
понедельник, 15 апреля 2013 г.
пятница, 12 апреля 2013 г.
dell и supermicro
Ко многим серверам dell можно подобрать аналоги у супермикры, например для R420:
2.5"
http://www.supermicro.nl/products/system/1U/1027/SYS-1027B-URF.cfm
или версия с 1 БП
http://www.supermicro.nl/products/system/1U/1027/SYS-1027B-MTF.cfm
3.5"
http://www.supermicro.nl/products/system/1U/6017/SYS-6017B-URF.cfm
http://www.supermicro.nl/products/system/1U/6017/SYS-6017B-MTRF.cfm
Плюс SAS контроллер.
Под R620 вариантов больше, но тут уже надо сравнивать параметры, например там половина моделей заточена под установку GPU, и сложнее с выбором мощности БП.
У dell основные преимущества это pro support, в том числе исправление неполадок за 4 часа на месте.
2.5"
http://www.supermicro.nl/products/system/1U/1027/SYS-1027B-URF.cfm
или версия с 1 БП
http://www.supermicro.nl/products/system/1U/1027/SYS-1027B-MTF.cfm
3.5"
http://www.supermicro.nl/products/system/1U/6017/SYS-6017B-URF.cfm
http://www.supermicro.nl/products/system/1U/6017/SYS-6017B-MTRF.cfm
Плюс SAS контроллер.
Под R620 вариантов больше, но тут уже надо сравнивать параметры, например там половина моделей заточена под установку GPU, и сложнее с выбором мощности БП.
У dell основные преимущества это pro support, в том числе исправление неполадок за 4 часа на месте.
среда, 10 апреля 2013 г.
Everyday Git Aliases
http://code.joejag.com/2013/everyday-git-aliases/
Только непонятно, шутка это или просто неудачно выбранное число - 1 апреля.
Только непонятно, шутка это или просто неудачно выбранное число - 1 апреля.
вторник, 9 апреля 2013 г.
Apache Thrift
Универсальный коннектор между языками программирования, но может использоваться и в связке с некоторыми nosql-базами.
The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages.
http://thrift.apache.org/
The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages.
http://thrift.apache.org/
понедельник, 8 апреля 2013 г.
Dell PowerEdge 12G поколение и FreeBSD
По списку совместимости на 12 поколении dell (на базе Е5-2400, Е5-2600 например) работает FreeBSD 9.0+. Ниже по всей вероятности уже не заработает.
Основные узкие места:
Основные узкие места:
- RAID контроллеры H-серии (310, 710, 810) -- в основе LSi 2008 и 2208. 2008 работает и на 8 версии без проблем, 2208 пока проверить не доводилось. 2108 на 8 версии тоже работает, если что (вроде 700 серия была такая). Если что - есть системная утилита mfiutil, так как фирменная от LSi убога.
- Сеть. Тут Broadcom BCM5720, и иногда всплывают проблемы вроде такой. Можно решить установкой отдельной интел-сетевой или убрать iDRAC (?)
http://engineering.wayfair.com/freebsd-9-0-on-dell-poweredge-12g-servers/
Также с сетью может быть такое:
bge0: link state changed to DOWN
Также с сетью может быть такое:
bge0: link state changed to DOWN
bge0: link state changed to UP
bge0: link state changed to DOWN
bge0: link state changed to UP
десятки раз в секунду. Мне помогло в /boot/loader.conf
dev.bge.0.msi = 0
dev.bge.1.msi = 0
Кому-то может пригодиться ещё (при watchdog timeout - resetting)
hw.bge.allow_asf = 0
hw.pci.enable_msix = 0
Dell PERC (рейд-контроллеры) H310, H710, H710p
Dell PowerEdge Raid Controller - PERC
Особенности.
Эти серии -- под специальный разъём, состоят из 2 частей: SAS порты размещаются на материнской плате, и внешний заменяемый модуль, который подключается к этим портам.
H310 - HBA, в основе LSISAS 2008
H710, H710P - в основе LSISAS2208 dual-core PowerPC ROC (хотя тут указан чип LSI SAS 2108)
P-версия имеет поддержку CashCade (какой версии?) - SSD кэш, из отличий только памяти не 512Мб а 1Гб + лицензия на этот cachecade. 0 1 2 3 4
Есть 2 версии CacheCade - 1 умеет кэшировать только чтение, а 2.0 - ещё и запись. Ограничение - до 32 кэш-дисков на контроллер, макс 512Гб.
При желании/необходимости можно вшить прошивку от оригинального LSi (сравнивать с сериями 9260, 9280), сняв всякие локи на фирменные SSD, но смысл? Правильнее тогда -- поставить отдельный контроллер например от Adaptec.
User's Guide ru
http://www.servethehome.com/lsi-sas-2208-raid-controller-information-listing/
Особенности.
Эти серии -- под специальный разъём, состоят из 2 частей: SAS порты размещаются на материнской плате, и внешний заменяемый модуль, который подключается к этим портам.
H310 - HBA, в основе LSISAS 2008
H710, H710P - в основе LSISAS2208 dual-core PowerPC ROC (хотя тут указан чип LSI SAS 2108)
P-версия имеет поддержку CashCade (какой версии?) - SSD кэш, из отличий только памяти не 512Мб а 1Гб + лицензия на этот cachecade. 0 1 2 3 4
Есть 2 версии CacheCade - 1 умеет кэшировать только чтение, а 2.0 - ещё и запись. Ограничение - до 32 кэш-дисков на контроллер, макс 512Гб.
При желании/необходимости можно вшить прошивку от оригинального LSi (сравнивать с сериями 9260, 9280), сняв всякие локи на фирменные SSD, но смысл? Правильнее тогда -- поставить отдельный контроллер например от Adaptec.
User's Guide ru
http://www.servethehome.com/lsi-sas-2208-raid-controller-information-listing/
zfs: восстановление
Где-то у меня было, но найти не удалось. Дубль.
Rolling Back a ZFS Snapshot
http://docs.oracle.com/cd/E19253-01/819-5461/gbcxk/index.html
Восстановление ZFS-пула с помощью подручных средств
http://www.lissyara.su/articles/freebsd/file_system/zfs_recovery/
Восстановление корневого пула ZFS или снимков корневого пула
http://docs.oracle.com/cd/E19253-01/820-0836/ghzvz/index.html
Также был спецфлаг
zfs:zfs_recover=1
"ZFS maintains an internal cache of available pools and their configurations in /etc/zfs/zpool.cache. The location and contents of this file are private and are subject to change. If the system becomes unbootable, boot to the milestone none by using the -m milestone=none boot option. Once the system is up, remount your root file system as writable and then rename or move the /etc/zfs/zpool.cache file to another location. These actions cause ZFS to forget that any pools exist on the system, preventing it from trying to access the bad pool causing the problem. You can then proceed to a normal system state by issuing the svcadm milestone all command. You can use a similar process when booting from an alternate root to perform repairs."
"Determine which pool might have issues by using the fmdump -eV command to display the pools with reported fatal errors."
http://docs.oracle.com/cd/E19082-01/817-2271/6mhupg6qg/index.html
http://breden.org.uk/2009/08/30/home-fileserver-zfs-boot-pool-recovery/
Recovering the ZFS Root Pool or Root Pool Snapshots
Rolling Back a ZFS Snapshot
http://docs.oracle.com/cd/E19253-01/819-5461/gbcxk/index.html
Восстановление ZFS-пула с помощью подручных средств
http://www.lissyara.su/articles/freebsd/file_system/zfs_recovery/
Восстановление корневого пула ZFS или снимков корневого пула
http://docs.oracle.com/cd/E19253-01/820-0836/ghzvz/index.html
Также был спецфлаг
zfs:zfs_recover=1
"ZFS maintains an internal cache of available pools and their configurations in /etc/zfs/zpool.cache. The location and contents of this file are private and are subject to change. If the system becomes unbootable, boot to the milestone none by using the -m milestone=none boot option. Once the system is up, remount your root file system as writable and then rename or move the /etc/zfs/zpool.cache file to another location. These actions cause ZFS to forget that any pools exist on the system, preventing it from trying to access the bad pool causing the problem. You can then proceed to a normal system state by issuing the svcadm milestone all command. You can use a similar process when booting from an alternate root to perform repairs."
"Determine which pool might have issues by using the fmdump -eV command to display the pools with reported fatal errors."
http://docs.oracle.com/cd/E19082-01/817-2271/6mhupg6qg/index.html
http://breden.org.uk/2009/08/30/home-fileserver-zfs-boot-pool-recovery/
Recovering the ZFS Root Pool or Root Pool Snapshots
суббота, 30 марта 2013 г.
Балансировщик нагрузки для Amazon EC2 c автомасштабированием
пятница, 29 марта 2013 г.
perl+cpan
Если есть возможность, всегда надо ставить штатной системой пакетов. Но иногда всё-таки нужно ставить из цпана, делается это так
perl -MCPAN -e 'install DBD::mysql'
Могут быть ошибки разного рода, например
dbdimp.c:3215 error: 'imp_sth_t' has no member named 'warning_count'
В данном случае видно, что это ошибка сборки dbdimp.c, то есть проблема зависимостей библиотек. В линуксе обычно требуется сначала поставить mysql-devel + mysqlclient. В общем, тут нет автоматического решения зависимостей, и это ещё один минус такой ручной установки. Ну и сложнее потом сопровождать такую систему, поэтому если нужен 1-2 модуля, можно их просто скачать прямо в проект, доставив зависимости через систему.
Линки
http://twiki.org/cgi-bin/view/TWiki/HowToInstallCpanModules
http://www.dark.ca/2010/04/08/cpan-rpms-in-rhel-centos/
http://stackoverflow.com/questions/1440320/installation-of-perl-packages-is-failing-on-centos-5-64-bit
perl -MCPAN -e 'install DBD::mysql'
Могут быть ошибки разного рода, например
dbdimp.c:3215 error: 'imp_sth_t' has no member named 'warning_count'
В данном случае видно, что это ошибка сборки dbdimp.c, то есть проблема зависимостей библиотек. В линуксе обычно требуется сначала поставить mysql-devel + mysqlclient. В общем, тут нет автоматического решения зависимостей, и это ещё один минус такой ручной установки. Ну и сложнее потом сопровождать такую систему, поэтому если нужен 1-2 модуля, можно их просто скачать прямо в проект, доставив зависимости через систему.
Линки
http://twiki.org/cgi-bin/view/TWiki/HowToInstallCpanModules
http://www.dark.ca/2010/04/08/cpan-rpms-in-rhel-centos/
http://stackoverflow.com/questions/1440320/installation-of-perl-packages-is-failing-on-centos-5-64-bit
четверг, 28 марта 2013 г.
Приватные аналоги Dropbox
Наиболее известные аналоги:
LiquidFiles
ownCloud 1
seafile 1
alfresco w
Совсем простой вариант openfiler
Непонятный вариант
ajaxplorer
Выбор-то есть, но сравнений продуктов особо найдено не было. Хотя нужно ещё смотреть, что требуется от системы, поскольку они различаются плюшками.
Многие имеют версию enterprise, платную, и community-версию.
LiquidFiles
ownCloud 1
seafile 1
alfresco w
Совсем простой вариант openfiler
Непонятный вариант
ajaxplorer
Выбор-то есть, но сравнений продуктов особо найдено не было. Хотя нужно ещё смотреть, что требуется от системы, поскольку они различаются плюшками.
Многие имеют версию enterprise, платную, и community-версию.
среда, 27 марта 2013 г.
openswift
amarao,20 сентября 2012 в 02:34#
Каждый раз, когда кто-то говорит «разверните свой swift», этот человек забывает добавить «и напишите свой кешер».
Удачи тем, кто думает о ванильном свифте.
http://habrahabr.ru/post/151781/#comment_5153156
вторник, 26 марта 2013 г.
Порядок обработки фаз nginx
Из кода, порядок обработки фаз nginx
Выполняются в порядке перечисления.
typedef enum { NGX_HTTP_POST_READ_PHASE = 0, NGX_HTTP_SERVER_REWRITE_PHASE, NGX_HTTP_FIND_CONFIG_PHASE, NGX_HTTP_REWRITE_PHASE, NGX_HTTP_POST_REWRITE_PHASE, NGX_HTTP_PREACCESS_PHASE, NGX_HTTP_ACCESS_PHASE, NGX_HTTP_POST_ACCESS_PHASE, NGX_HTTP_TRY_FILES_PHASE, NGX_HTTP_CONTENT_PHASE, NGX_HTTP_LOG_PHASE } ngx_http_phases;
Выполняются в порядке перечисления.
Adaptec RAID 6805
Adaptec RAID 6805 и модификация Adaptec 6805Q with maxCache™ 2.0 с поддержкой ssd cache.
Достаточно интересный RAID контроллер, отличающийся поддержкой большого числа ОС:
Windows 7, Windows Vista, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003 x64, Windows 2003 Server, Ubuntu Linux 10.4, Debian Linux 5, Fedora Core 12, RedHat Enterprise Linux 6, SuSE Linux Enterprise Server 11, FreeBSD 8, Sun Solaris 10, VMware ESXi 5.0, VMware ESXi 4, VMware ESX 4.1 Classic
Порты: 2x SFF-8087, поддерживается SAF-TE и SES2/SGPIO.
Одно из главных преимуществ - нет батарейки, вместо неё используется zero maintenance cache с ионисторами, модуль AFM-600.
Adaptec RAID 6805 ASR-6805 KIT PCI-E x8, 8-port SAS / SATA, RAID 0 / 1 / 1E / 10 / 5 / 5EE / 6 / 50 / 60 / JBOD, Cache 512Mb (660 уе)
+
Flash Module Adaptec AFM-600 модуль резервного сохранения данных из кэша на flash память (210 уе)
Модуль резервного сохранения данных из кэша RAID контроллера. При отключении питания все данные из кэша переписываются во flash память модуля. В процессе перезаписи питание осуществляется от входящего в комплект суперконденсатора.
Аналоги:
LSI 9265-8i, LSI 9750-8i
Сравнения:
LSI 9265-8I MEGARAID CARD VS ADAPTEC 6805 RAID CARD – THE ULTIMATE 6GB/S RAID SHOWDOWN
Но стоит учесть негативный опыт amarao с LSi: https://github.com/amarao/lsi-sata-fuckup
Также помнить, что штатная утилита у LSi - тот ещё выкидыш (приводящий иногда к полному зависанию системы), поэтому во фре использовать mfiutil. В лине хз.
Достаточно интересный RAID контроллер, отличающийся поддержкой большого числа ОС:
Windows 7, Windows Vista, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003 x64, Windows 2003 Server, Ubuntu Linux 10.4, Debian Linux 5, Fedora Core 12, RedHat Enterprise Linux 6, SuSE Linux Enterprise Server 11, FreeBSD 8, Sun Solaris 10, VMware ESXi 5.0, VMware ESXi 4, VMware ESX 4.1 Classic
Порты: 2x SFF-8087, поддерживается SAF-TE и SES2/SGPIO.
Одно из главных преимуществ - нет батарейки, вместо неё используется zero maintenance cache с ионисторами, модуль AFM-600.
Adaptec RAID 6805 ASR-6805 KIT PCI-E x8, 8-port SAS / SATA, RAID 0 / 1 / 1E / 10 / 5 / 5EE / 6 / 50 / 60 / JBOD, Cache 512Mb (660 уе)
+
Flash Module Adaptec AFM-600 модуль резервного сохранения данных из кэша на flash память (210 уе)
Модуль резервного сохранения данных из кэша RAID контроллера. При отключении питания все данные из кэша переписываются во flash память модуля. В процессе перезаписи питание осуществляется от входящего в комплект суперконденсатора.
Аналоги:
LSI 9265-8i, LSI 9750-8i
Сравнения:
LSI 9265-8I MEGARAID CARD VS ADAPTEC 6805 RAID CARD – THE ULTIMATE 6GB/S RAID SHOWDOWN
Но стоит учесть негативный опыт amarao с LSi: https://github.com/amarao/lsi-sata-fuckup
Также помнить, что штатная утилита у LSi - тот ещё выкидыш (приводящий иногда к полному зависанию системы), поэтому во фре использовать mfiutil. В лине хз.
понедельник, 25 марта 2013 г.
FreeBSD 7: undefined reference to `sqrt'
При попытке обновить nginx обновляется dialog4ports, и тот выпадает с ошибкой
cc -O2 -fno-strict-aliasing -pipe -I/usr/ports/ports-mgmt/dialog4ports/work/dialog-1.1-20120706 -D_XOPEN_SOURCE_EXTENDED -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wno-pointer-sign -o dialog4ports dialog4ports.o mixedlist.o arrows.o buttons.o dlg_keys.o help.o inputstr.o mouse.o mousewget.o textbox.o rc.o trace.o ui_getc.o util.o version.o -lncursesw
util.o(.text+0x2ead): In function `dlg_auto_size':
: undefined reference to `sqrt'
*** Error code 1
1 error
*** Error code 1
Stop in /usr/ports/ports-mgmt/dialog4ports.
cc -O2 -fno-strict-aliasing -pipe -I/usr/ports/ports-mgmt/dialog4ports/work/dialog-1.1-20120706 -D_XOPEN_SOURCE_EXTENDED -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wno-pointer-sign -o dialog4ports dialog4ports.o mixedlist.o arrows.o buttons.o dlg_keys.o help.o inputstr.o mouse.o mousewget.o textbox.o rc.o trace.o ui_getc.o util.o version.o -lncursesw
util.o(.text+0x2ead): In function `dlg_auto_size':
: undefined reference to `sqrt'
*** Error code 1
1 error
*** Error code 1
Stop in /usr/ports/ports-mgmt/dialog4ports.
FreeBSD 7.4. Связано это с изменениями в системе портов, решение -- перейти на 8 версию или более не использовать portsnap и зафиксировать порты на тэге RELENG_7_EOL
"7.4 is EOL. If you want to continue using it you will need to use
RELEASE_7_EOL. head is not supported. "
Ну и собственно по линку подробности.
Если сильно надо, находим файл ports-supfile, копируем в другое место, прописываем *default host= и
*default release=cvs tag=RELENG_7_EOL
и после этого запускаем
csup ports-supfile
ZFS: С чего начать
Вообще, это нужно делать первой заметкой, но мне ещё до заведения блога приходилось общаться с zfs. А тут спросили "что почитать"...
Спрашивали в контексте nexenta, поэтому будет ещё 3 линк
1. Совсем введение, что это вообще такое
http://ru.wikipedia.org/wiki/ZFS
2. Основная дока
Oracle Solaris ZFS Administration Guide
(можно поискать в печатном виде)
3. ZFS for Dummies
4. http://docs.oracle.com/cd/E19253-01/820-0836/index.html (русская версия)
Спрашивали в контексте nexenta, поэтому будет ещё 3 линк
1. Совсем введение, что это вообще такое
http://ru.wikipedia.org/wiki/ZFS
2. Основная дока
Oracle Solaris ZFS Administration Guide
(можно поискать в печатном виде)
3. ZFS for Dummies
4. http://docs.oracle.com/cd/E19253-01/820-0836/index.html (русская версия)
четверг, 21 марта 2013 г.
proxmox: quick start
proxmox это система виртуализации, которая умеет как полную виртуализацию (HVM), так и контейнерную (openVZ). Увы, паравиртуалицазию (PV) оно не умеет, что частично компенсируется контейнерами. Для PV нужен xen. Впрочем, за счёт pv-ops для свежих версий линукса эта проблема не так актуальна.
Простая установка действительно простая: качаем ISO с офсайта (VE версия), и грузимся с него
Внимание! В системе должен быть только 1 диск, который будет целиком отдан под систему, никаких запросов о разбиении диска не будет!
Сама установка элементарна: вводим страну, выбираем таймзону, проверяем имя узла, настройки сети, задаём почту и пароль для рута... Вроде и всё.
После перезагрузки обращаемся браузером или через ssh на тот айпи, который был присвоен системе, это будет написано на экране даже без логина в систему, по http можно без указания порта, перекинет куда надо автоматом. Логин root, пароль тот, что вводили при установке.
Простая установка действительно простая: качаем ISO с офсайта (VE версия), и грузимся с него
Внимание! В системе должен быть только 1 диск, который будет целиком отдан под систему, никаких запросов о разбиении диска не будет!
Сама установка элементарна: вводим страну, выбираем таймзону, проверяем имя узла, настройки сети, задаём почту и пароль для рута... Вроде и всё.
После перезагрузки обращаемся браузером или через ssh на тот айпи, который был присвоен системе, это будет написано на экране даже без логина в систему, по http можно без указания порта, перекинет куда надо автоматом. Логин root, пароль тот, что вводили при установке.
четверг, 14 марта 2013 г.
ispmanager: зачем root задаётся через переменную
Обнаружилось на новом сервере, что в nginx панель пишет так:
"Используется для определения владельца домена. Пользователи начали ломать location'ы своими плагинами и менять root. Как результат, доменов в панели нет."
http://forum.ispsystem.com/ru/showthread.php?p=127025#post127025
При этом, на старом сервере формат записи всё тот же, root задаётся напрямую в location без всяких переменных.
server { ... set $root_path /var/www/... location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ { root $root_path; ... } }
"Используется для определения владельца домена. Пользователи начали ломать location'ы своими плагинами и менять root. Как результат, доменов в панели нет."
http://forum.ispsystem.com/ru/showthread.php?p=127025#post127025
При этом, на старом сервере формат записи всё тот же, root задаётся напрямую в location без всяких переменных.
среда, 13 марта 2013 г.
Bit rot
Есть такой эффект bit rot - самопроизвольное изменение данных, даже если с ними не работали.
"Bit rot, also known as bit decay, data rot, or data decay, is a colloquial computing term for the gradual decay of storage media or a (sometimes jocular) explanation for the degradation of a software program over time, even if ‘nothing has changed"
http://en.wikipedia.org/wiki/Bit_rot#Decay_of_storage_media
"Bit rot, also known as bit decay, data rot, or data decay, is a colloquial computing term for the gradual decay of storage media or a (sometimes jocular) explanation for the degradation of a software program over time, even if ‘nothing has changed"
http://en.wikipedia.org/wiki/Bit_rot#Decay_of_storage_media
RAID-5 write hole и ZFS
У Raid-5 есть достаточно серьёзная проблема, которая называется write hole - при записи данных и отключении питания может получиться, что на дисках данные отличаются.
"RAID-5 (and other data/parity schemes such as RAID-4, RAID-6, even-odd, and Row Diagonal Parity) never quite delivered on the RAID promise -- and can't -- due to a fatal flaw known as the RAID-5 write hole. Whenever you update the data in a RAID stripe you must also update the parity, so that all disks XOR to zero -- it's that equation that allows you to reconstruct data when a disk fails. The problem is that there's no way to update two or more disks atomically, so RAID stripes can become damaged during a crash or power outage."
https://blogs.oracle.com/bonwick/entry/raid_z
У zfs этой проблемы нет, поскольку там совсем другие принципы - Copy-on-Write и данные не перезаписываются, плюс встроенное версионирование. Да, иногда и у ZFS бывают проблемы, но они гораздо реже, а за счёт того, что все данные имеют чексумму, система автоматически может обнаружить и зачастую исправить сбой в данных. Это особенно актуально на бытовом железе.
И ещё немного про raid-z
https://blogs.oracle.com/ahl/entry/what_is_raid_z
http://www.stableit.ru/2010/08/raid-z.html
Основные недостатки ZFS -- требуется больше памяти и дикое падение производительности при заполнении пула более чем на 50-85%, смотря какой объём пула.
"RAID-5 (and other data/parity schemes such as RAID-4, RAID-6, even-odd, and Row Diagonal Parity) never quite delivered on the RAID promise -- and can't -- due to a fatal flaw known as the RAID-5 write hole. Whenever you update the data in a RAID stripe you must also update the parity, so that all disks XOR to zero -- it's that equation that allows you to reconstruct data when a disk fails. The problem is that there's no way to update two or more disks atomically, so RAID stripes can become damaged during a crash or power outage."
https://blogs.oracle.com/bonwick/entry/raid_z
У zfs этой проблемы нет, поскольку там совсем другие принципы - Copy-on-Write и данные не перезаписываются, плюс встроенное версионирование. Да, иногда и у ZFS бывают проблемы, но они гораздо реже, а за счёт того, что все данные имеют чексумму, система автоматически может обнаружить и зачастую исправить сбой в данных. Это особенно актуально на бытовом железе.
И ещё немного про raid-z
https://blogs.oracle.com/ahl/entry/what_is_raid_z
http://www.stableit.ru/2010/08/raid-z.html
Основные недостатки ZFS -- требуется больше памяти и дикое падение производительности при заполнении пула более чем на 50-85%, смотря какой объём пула.
nginx: Why Is High Concurrency Important?
Кого интересует устройство nginx, есть довольно подробное описание.
http://www.aosabook.org/en/nginx.html
http://www.aosabook.org/en/nginx.html
вторник, 12 марта 2013 г.
Определяем текущий shell
Универсальные варианты, работает и в bash и csh
# echo $SHELL
Показывает шелл, который установлен "по умолчанию". Вызов вложенного шелла эту переменную уже не меняет.
Можно менять, например setenv SHELL /dev/null (на примере csh), так хорошо разыгрывать друзей можно.
Более действенный метод
# ps aux|grep $$
# echo $SHELL
Показывает шелл, который установлен "по умолчанию". Вызов вложенного шелла эту переменную уже не меняет.
Можно менять, например setenv SHELL /dev/null (на примере csh), так хорошо разыгрывать друзей можно.
Более действенный метод
# ps aux|grep $$
тут уже "не скрыться".
пятница, 8 марта 2013 г.
HH: Cluster Proxmox, Live Migration с использованием iSCSI NAS
Cluster Proxmox, Live Migration с использованием iSCSI NAS
копия из песочницы, мало ли удалят
копия из песочницы, мало ли удалят
вторник, 5 марта 2013 г.
bitrix: мифическая "оценка производительности"
Многим (да и мне) долгое время было непонятно, что это за "оценка производительности", как она считается и на что влияет.
Оказывается, всё элементарно.
"Эта цифра - есть величина, обратная времени исполнения ядра продукта [среднему на 10 измерений].
Т.е. на основе приведенной картинки можно сказать, что публичная страница сайта с пустым шаблоном (например, версия для печати), с пустой рабочей областью будет создаваться за 1/40,32 или 0,0248 сек.
Обратите внимание, мы получили "Среднее время отклика".
Если говорить проще, то сервер сгенерирует 40 [пустых, но с подключением ядра] страниц в секунду.
А значит, она не вычисляется на основе "попугаев", приведенных ниже относительно файловой системы, работы базы, сессий и почты. Эти цифры нужны для того, чтобы помочь системному администратору найти узкое место (если такое есть). Оценка производительности всегда обратна величине среднего времени отклика. "
http://dev.1c-bitrix.ru/community/blogs/howto/2450.php
Оказывается, всё элементарно.
"Эта цифра - есть величина, обратная времени исполнения ядра продукта [среднему на 10 измерений].
Т.е. на основе приведенной картинки можно сказать, что публичная страница сайта с пустым шаблоном (например, версия для печати), с пустой рабочей областью будет создаваться за 1/40,32 или 0,0248 сек.
Обратите внимание, мы получили "Среднее время отклика".
Если говорить проще, то сервер сгенерирует 40 [пустых, но с подключением ядра] страниц в секунду.
А значит, она не вычисляется на основе "попугаев", приведенных ниже относительно файловой системы, работы базы, сессий и почты. Эти цифры нужны для того, чтобы помочь системному администратору найти узкое место (если такое есть). Оценка производительности всегда обратна величине среднего времени отклика. "
http://dev.1c-bitrix.ru/community/blogs/howto/2450.php
Снимаем статистику с php ускорителей
Снимаем статистику с php ускорителей
- APC
- XCache
- ZendOptimizer/Zend Guard Loader
А в принципе и всё.. Есть ещё eAccelerator, но "пациент скорее мёртв".
Mikrotik Metarouter
http://wiki.mikrotik.com/wiki/Metarouter
Виртуализация для микротика, можно на 1 роутере запустить несколько псевдо-роутеров или мини-линух OpenWRT.
Но куча подводных камней, начиная с того, что работает оно не на всех моделях + есть давно известные баги, по всей вероятности аппаратные.
MetaRouter is a new feature in RouterOS 4.0 beta 1 and RouterOS v3.21
Currently MetaRouter can be used on
RB400, RB700 series, RB900 series, RB2011 boards
Listed PPC boards: RB1000, RB1100, RB1100AH and RB800.
При этом
Issues and possible workarounds for MetaROUTER feature on RouterBOARDs with MIPS-BE architecture
Random freezing
Only listed routers are affected by this issue: RB450G, RB750G, RB435G, RB493G
...
PPC
Issues and possible workarounds for MetaROUTER feature on RouterBOARDs with PPC architecture
Not enough resources
Only listed routers are affected: RB1100AH
Плюс в pc-based версиях есть xen (до версии 4.4) и kvm
http://wiki.mikrotik.com/wiki/Manual:Virtualization
Виртуализация для микротика, можно на 1 роутере запустить несколько псевдо-роутеров или мини-линух OpenWRT.
Но куча подводных камней, начиная с того, что работает оно не на всех моделях + есть давно известные баги, по всей вероятности аппаратные.
MetaRouter is a new feature in RouterOS 4.0 beta 1 and RouterOS v3.21
Currently MetaRouter can be used on
RB400, RB700 series, RB900 series, RB2011 boards
Listed PPC boards: RB1000, RB1100, RB1100AH and RB800.
При этом
Issues and possible workarounds for MetaROUTER feature on RouterBOARDs with MIPS-BE architecture
Random freezing
Only listed routers are affected by this issue: RB450G, RB750G, RB435G, RB493G
...
PPC
Issues and possible workarounds for MetaROUTER feature on RouterBOARDs with PPC architecture
Not enough resources
Only listed routers are affected: RB1100AH
Плюс в pc-based версиях есть xen (до версии 4.4) и kvm
http://wiki.mikrotik.com/wiki/Manual:Virtualization
понедельник, 4 марта 2013 г.
nginx: [emerg] the size 10485760 of shared memory zone "perserver" conflicts with already declared size 0 in ...
[emerg] the size 10485760 of shared memory zone "perserver" conflicts with already declared size 0 in ...
Проблема может быть как с proxy_cache_path, так и многими другими вариантами, даже limit_zone.
Описание этих моментов должно быть до использования, в частности
http://www.yongbok.net/blog/?p=324
proxy_pass http://127.0.0.1:8000;
proxy_cache_path /tmp/cache levels=1:2 keys_zone=tmpcache:10m inactive=30m max_size=2g;
---
неправильно,
proxy_cache_path /tmp/cache levels=1:2 keys_zone=tmpcache:10m inactive=30m max_size=2g;
proxy_pass http://127.0.0.1:8000;
---
правильно.
Вариант еще: определение limit_zone после его использования.
Вообще, баги у nginx с подключением внешних файлов в conf.d и подобных вариантах, приводящие к некорректной работе, к сожалению не редкость. Что сильно усложняется тем, что нет вывода итоговой конфигурации.
nginx: ограничить количество подключений на сервер
Задача ограничить подключения с 1 айпи - тема весьма популярная, но иногда бывает нужно ограничить всем клиентам.
http://nginx.org/ru/docs/http/ngx_http_limit_conn_module.html#limit_conn
http://nginx.org/ru/docs/http/ngx_http_limit_conn_module.html#limit_conn
воскресенье, 3 марта 2013 г.
apache+nginx, появление внутреннего порта в адресе
Связка apache+nginx, появление внутреннего порта в адресе.
Проблема была замечена исключительно с debian: при обращении к странице вида site.ru/about и внутренним редиректом на site.ru/about/ (добавление слэша в конец) вдруг появляется внутренный порт, и адрес становится например site.ru:8080/about/
Есть предположения о причинах, но если проблема не в основных настройках системы (уже было описано тут: http://dragonflybsd.blogspot.ru/2011/08/apachenginx.html), то наиболее простой фикс: в nginx правим переменную $host
proxy_set_header Host $host:80;
при этом должен стоять mod_rpaf (без выставленного X-Forvarded-for), с правильным RPAFproxy_ips.
Также был замечен вариант с
proxy_set_header X-Server-Address $server_addr;
но мной не проверялось.
помним про proxy_redirect
Проблема была замечена исключительно с debian: при обращении к странице вида site.ru/about и внутренним редиректом на site.ru/about/ (добавление слэша в конец) вдруг появляется внутренный порт, и адрес становится например site.ru:8080/about/
Есть предположения о причинах, но если проблема не в основных настройках системы (уже было описано тут: http://dragonflybsd.blogspot.ru/2011/08/apachenginx.html), то наиболее простой фикс: в nginx правим переменную $host
proxy_set_header Host $host:80;
при этом должен стоять mod_rpaf (без выставленного X-Forvarded-for), с правильным RPAFproxy_ips.
Также был замечен вариант с
proxy_set_header X-Server-Address $server_addr;
но мной не проверялось.
помним про proxy_redirect
Invalid command 'RPAFheader', perhaps misspelled or defined by a module not included in the server configuration
Была обнаружена очередная бага дебиляна, связанная с древностью их софта.
Invalid command 'RPAFheader', perhaps misspelled or defined by a module not included in the server configuration
И это дебилян 6!
Дело в том, что опция появилась в rpaf версии 0.6, а это 2+ года уже прошло.
Если эта опция нужна -- есть несколько костылей вроде хитрого макроса (?)
http://www.rootdamnit.eu/2012/09/24/varnish-and-apache-rpaf-invalid-command-rpafheader/
http://serverfault.com/questions/340500/varnish-forward-client-ip-address-to-backend
или сборки свежего модуля
#apt-get install apache2-prefork-dev
а после этого собирать из исходников mod_rpaf для Apache2
http://blog.dd0s.ru/2012/10/02/debian-6-apache2-mod_rpaf-nginx-invalid-command-rpafheader.htm
Invalid command 'RPAFheader', perhaps misspelled or defined by a module not included in the server configuration
И это дебилян 6!
Дело в том, что опция появилась в rpaf версии 0.6, а это 2+ года уже прошло.
Если эта опция нужна -- есть несколько костылей вроде хитрого макроса (?)
http://www.rootdamnit.eu/2012/09/24/varnish-and-apache-rpaf-invalid-command-rpafheader/
http://serverfault.com/questions/340500/varnish-forward-client-ip-address-to-backend
или сборки свежего модуля
#apt-get install apache2-prefork-dev
а после этого собирать из исходников mod_rpaf для Apache2
http://blog.dd0s.ru/2012/10/02/debian-6-apache2-mod_rpaf-nginx-invalid-command-rpafheader.htm
пятница, 1 марта 2013 г.
proxmox: введение
Система виртуализации на базе KVM и OpenVZ.
Кластерное хранилище в Proxmox. Часть первая. Fencing
Кластерное хранилище в Proxmox. Часть вторая. Запуск
Настройка ipv6 в Proxmox и заметки о lvm
KVM & OpenVZ виртуализация и облачные вычисления с использованием Proxmox VE
wiki/Category:HOWTO
Proxmox ISCSI installation
четверг, 28 февраля 2013 г.
среда, 27 февраля 2013 г.
вторник, 26 февраля 2013 г.
memcached + unix socket
Для примера - debian 6, bitrix, memcached
PS для битрикса вписываем в конфиг bitrix/php_interface/dbconn.php
define("BX_MEMCACHE_HOST", "127.0.0.1");
define("BX_MEMCACHE_PORT", "11211");
=== или ===
define("BX_MEMCACHE_HOST", "unix:///path/to/memcached.sock");
define("BX_MEMCACHE_PORT", "0");
Для начала, apt-get install memcached php5-memcache
Теперь в /etc/memcached.conf
-s /var/run/memcached/memcached.sock
-a 0755
выставляем путь к сокету и права на него в 0755. Сам каталог /var/run/memcached/ надо создать и поставить владельцем nobody (задано в конфиге выше)
Запускаем.
/etc/init.d/memcached start
проверяем
netstat -an|grep sock
должен появиться наш сокет. При этом |grep 11211 уже ничего не покажет - похоже, мемкэш умеет или только сокеты, или только через порт.
Теперь диагностика. Можно проверить, что происходит, как через сокет, так и порт.
порт:
echo "flush_all" | nc 127.0.0.1 11211
echo "stats" | nc 127.0.0.1 11211
сокет:
echo 'stats' | nc -U /var/run/memcached/memcached.sock
Работает не везде, в дебиан 6 говорит, что не знает ключа -U
По линку ниже есть вариант через питон.
PS для битрикса вписываем в конфиг bitrix/php_interface/dbconn.php
define("BX_MEMCACHE_HOST", "127.0.0.1");
define("BX_MEMCACHE_PORT", "11211");
=== или ===
define("BX_MEMCACHE_HOST", "unix:///path/to/memcached.sock");
define("BX_MEMCACHE_PORT", "0");
линки
http://community.webfaction.com/questions/7275/how-to-communicate-with-memcached-socket-via-shell
Mercurial vs Git
Ещё раз о «Mercurial против Git» (с картинками)
Сходство и различие между Mercurial и Git
Проект Xen перешёл с Mercurial на Git
Ну и как всегда, 80% полезной инфы там в комментах.
Сходство и различие между Mercurial и Git
Проект Xen перешёл с Mercurial на Git
Ну и как всегда, 80% полезной инфы там в комментах.
Ставим redmine в debian 6
В очередной раз насилуем redmine (или он нас), ставим на 6 версию. И если с центось 5 это вообще труба, с дебиан 6 уже попроще.
Ставить мы будем "правильно", без ручных make install, поскольку это линукс.
Ставить мы будем "правильно", без ручных make install, поскольку это линукс.
четверг, 21 февраля 2013 г.
Файловые системы GridFS и MogileFS
GridFS
http://wiki.nginx.org/Nginx3rdPartyModules
Nginx module for serving files from MongoDB's GridFS. Брать тут:
https://github.com/mdirolf/nginx-gridfs
http://wiki.nginx.org/Nginx3rdPartyModules
Nginx module for serving files from MongoDB's GridFS. Брать тут:
https://github.com/mdirolf/nginx-gridfs
вторник, 19 февраля 2013 г.
mikrotik: Обзор MicroTik RB2011UAS-RM
Была куплена для теста довольно навороченная модель RB2011UAS-RM.
Снималось на телефон за неимением фотоаппарата под рукой. Много фото.
понедельник, 18 февраля 2013 г.
пятница, 15 февраля 2013 г.
watch во FreeBSD и linux
Во FreeBSD есть удобная утилита watch
watch -- snoop on another tty line linux
Позволяет подключиться к чужой консоли, чтобы смотреть, что там делается (бывает нужно для поддержки или наблюдения за новым/подозрительным сотрудником), в том числе вмешиваться в работу (watch -W pts/0). Работает в том числе для ssh подключений, но можно мониторить и serial порты. Использует ядерный модуль snp, но при необходимости программа загрузит его сама.
В линуксе watch делает несколько другую работу, запускает команду с заданной периодичностью.
Итак, аналоги в линуксе, вариант 1:
ttysnoop — snoop on a user's tty
Есть такое описание:
ttysnoop - allows you to spy on telnet+serial connections
Остаётся только вопрос с его запуском и подключением к сессиям.
watch -- snoop on another tty line linux
Позволяет подключиться к чужой консоли, чтобы смотреть, что там делается (бывает нужно для поддержки или наблюдения за новым/подозрительным сотрудником), в том числе вмешиваться в работу (watch -W pts/0). Работает в том числе для ssh подключений, но можно мониторить и serial порты. Использует ядерный модуль snp, но при необходимости программа загрузит его сама.
В линуксе watch делает несколько другую работу, запускает команду с заданной периодичностью.
Итак, аналоги в линуксе, вариант 1:
ttysnoop — snoop on a user's tty
Есть такое описание:
ttysnoop - allows you to spy on telnet+serial connections
Остаётся только вопрос с его запуском и подключением к сессиям.
Для подключений по ssh надо сделать UseLogin yes в конфиг + пересобрать sshd с
./configure --use-login=/bin/ttysnoops (или /usr/sbin/)
Также можно попробовать вписать вместо /bin/login
Вариант 2 -- screen. Или просим всех работать через него, или прописываем его пользователям как шелл.
Вариант 3 -- найти/сделать PAM модуль.
Есть conspy - virtual console spy tool, но оно только для tty.
Можно посмотреть snoop, но оно давно не обновлялось, и на свежих ядрах надо патчить.
По всей вероятности, самым правильным вариантом будет написать модуль, аналог snp, и протащить его в ядро, а сделать обёртку уже не так сложно будет.
А если во фре нужен аналог линуксового watch - ставим sysutils/cmdwatch
Если кто может чего добавить - пишите в комменты.
линки
http://nuerd.blogspot.ru/2012/07/how-to-install-ttysnoop-with-ssh.html
http://www.ljpoisk.ru/archive/8060040.html
Подписаться на:
Сообщения (Atom)