воскресенье, 27 февраля 2011 г.

CentOS и изменение лейбла разделу

Понадобилось изменить /home на /var.. Во фре - открываем fstab и правим. Но тут не так просто - строки вида
LABEL=/1 / ext3 defaults,grpquota,usrquota 1 1
LABEL=/home /home ext3 defaults 1 2

Просто заменить /home на /var - и потребуется топать к консоли - получим:
fsck.ext3:Unable to resolve "LABEL=/var"
An error occured during filesystem check
Dropping you to a shell, the system will reboot
when you leave shell

В данном случае надо еще поправить файл /etc/blkid/blkid.tab
Но даже этого оказывается мало! Надо это делать через e2label, но например в rescue-консоли дебиана этой утилиты нет (впрочем, это не показатель - там нет даже vi, чего уж говорить о менее известных утилитах). Так что - править fstab на нормальные пути типа /dev/sda2 или UUID.

Если надо поправить / - тут еще сложнее, сам лейбл прописан в том числе в /etc/grub.conf

пятница, 18 февраля 2011 г.

Amazon EC2 - делаем пробный запуск

Есть сейчас предложение для новых пользователей - инстанс t1.micro бесплатен при соблюдении ряда условий.

Идем на https://console.aws.amazon.com/ec2/home
Регистрируемся.
Теперь надо создать:
- key pair (пару ключей для авторизации)
- security group (набор правил для фаервола)
опционально - elastic IPs - внешний айпи адрес.
Впрочем, можно сразу начать создание машины, а всё это будет создано из мастера.
Для пробы я взял за основу ami-7fd4e10b

По умолчанию у нас нет внешнего айпи, поэтому надо получить адрес для подключения. Например так - переходим в instances, выделяем наш созданный инстанс, и там в свойствах есть строки
Public DNS: ec2-46-137-2-150.eu-west-1.compute.amazonaws.com
Private DNS: ip-10-227-167-170.eu-west-1.compute.internal
Нам нужен public.

Если используется putty - надо сконвертировать файл ключа из .pem в .ppk, штатный ключ putty не поймет. Для этого открываем puttygen, там load private key, на вопрос о конвертации соглашаемся. Потом save private key, без пароля, и уже как .ppk
Теперь подключаем этот ключ и логинимся. По умолчанию root, но некоторые инстансы хотят другие логины, например ec2-user

Много заметок про ЕС2 есть на хабре.

вторник, 15 февраля 2011 г.

неприятный баг с apache для SEO

Если используется штатный конфиг, во freebsd надо найти и убрать строки

#
# This should be changed to the ServerRoot/manual/. The alias provides
# the manual, even if you choose to move your DocumentRoot. You may comment
# this out if you do not care for the documentation.
#
#AliasMatch ^/manual(?:/(?:de|en|es|fr|ja|ko|ru))?(/.*)?$ "/usr/local/share/doc/apache2$1"

и дальше блок с directory, иначе при индексировании сайта оценка сайту будет падать и сеошники совсем не скажут спасибо. Предположительно, в centos этого бага в штатном конфиге нет.

К слову, ISPManager эту багу фиксит - он разбивает конфиг на подконфиги, в частности

# Local access to the Apache HTTP Server Manual
#Include etc/apache22/extra/httpd-manual.conf

И это по умолчанию закомментировано.

четверг, 10 февраля 2011 г.

ippon smart ups и centos

[черновик]
Подключил ippon smart через usb, в dmesg выдало

ohci_hcd 0000:00:12.0: wakeup
usb 3-2: new low speed USB device using ohci_hcd and address 3
usb 3-2: configuration #1 chosen from 1 choice
hiddev96: USB HID v1.11 Device [OMRON USB UPS] on usb-0000:00:12.0-2

hiddev - не сумело определить, что это.
Для начала - посмотрим, что скажет офсайт NUT
Видим, что для 2.6.0 драйвер blazer_ser и blazer_usb (experimental)
А теперь проверим статус в центоси

# yum info nut|grep Version
Version : 2.2.0

Увы.
Единственный вариант -- качать исходники, делать SPEC и собирать пакет.

Есть версия на базе megatec, есть на базе сабдрайвера phoenix

# lsusb |grep -v 0000
Bus 003 Device 003: ID 06da:0003 Phoenixtec Power Co., Ltd


http://forum.lissyara.su/viewtopic.php?f=3&t=8887
http://www.networkupstools.org/documentation.html

LVM+raid

Хотя lvm -- это менеджер томов, может встать вопрос, умеет ли он такие вещи как mirroring - зеркалирование. Практика показывает, что не умеет, поэтому будет связка mdadm+LVM+ext4 например. В этом плане с серьезными вещами типа ZFS даже сравнивать глупо.
Была более серьезная замена EVMS, почти мертвая на данный момент.

Достаточно информации тут:
http://xgu.ru/wiki/LVM
еще полезно
http://unthought.net/Software-RAID.HOWTO/Software-RAID.HOWTO-11.html
немного про multipath-tools
http://www.novell.com/coolsolutions/tip/19568.html
обслуживание
http://www.opennet.ru/base/sys/linux_lvm2.txt.html

среда, 9 февраля 2011 г.

немного про rsync

[черновик]
Про exclude
Если делать --exclude-from= и формат указывать например так: */tmp/* то при пути /site/tmp/... и запуске rsync -avz --exclude-from=exclude server:/site/ /site/ получаем несовпадение правил и tmp будет залит. Почему? Потому что в логе будет такое:

tmp/cache/a0
tmp/cache/a0/file...

То есть без первого слэша, который часть маски.

Вообще, имеет смысл использовать фильтр --filter
-f, --filter=RULE add a file-filtering RULE
-F same as --filter='dir-merge /.rsync-filter'
repeated: --filter='- .rsync-filter'

Тогда правила задаются в виде
+ site/
- site/tmp/

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

Непонятно, как задавать маски для файлов. - *.bin? А несколько наборов правил? Комбинирование с include и exclude?

Контрафактное ПО на предприятии: как прикрыть свою пятую точку?

http://www.xakep.ru/post/54619/
Хоть многие и не любят этот журнал, но может пригодиться.

пятница, 4 февраля 2011 г.

О том, как довелось собирать первый сервер с нормальным бюджетом

[черновик]
Потребовалось собрать сервер для одного проекта, 1-вершковый. Не первый - был уже intel sr1530sh, с бюджетом около 35к. Но в этот раз бюджет был раз в 5 выше. Может даже на совсем_бренд хватить.
Продукция фирмы intel была откинута сразу -- я не могу назвать их продукцию серьезным железом. Особенно учитывая их болезни вроде "эту память не возьму, с этим двд грузиться не буду и никакие прошивки не заставят меня дальше биоса пройти, для работы с таким процом надо прошивать биос, и не важно, что он уже как 2 года вышел..." Как конструкторы сверх-дешевого уровня оно неплохо, да, но поддержка таких вещей как KVM-over-IP только сторонними платами -- перебор.
Также интел славится вещами вплоть до умирания дисков от дребезга, создаваемого кулером. Есть у меня такой в закромах. Баг официально признан и есть на сайте.
[линк]

Dell
Говорят, проблемы с наличием, сроками поставки, гарантией. Но они, черт возьми, красивы! Причем передняя решетка не просто красива - она же является защитой от извлечения дисков посторонними. Так что похоже не в этот раз, но через несколько лет надо будет снова посмотреть на них...
Пример подходящего варианта:
http://www1.euro.dell.com/ru/ru/business/%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D1%8B/server-poweredge-r610/pd.aspx?refid=server-poweredge-r610&s=bsd&cs=rubsdc
R610
в 3D и подробно

Хотя даже в таком можно увидеть обычные конденсаторы (не твердотельные).

Обнаружил еще момент. На пустом месте такие статьи не рождаются. Начали тоже барыжить дисками?..
ветка на хоботе

IBM
Как попытался что-то узнать, с первых же минут начались проблемы. Сайт кривой, непонятно где что, тормозил исправно, вдобавок его перекосило.
Попытался позвонить на 8-800 -- звонки срывались, потом переводили долго на специалиста, опять начали срываться звонки.. В общем, телефонная система у них просто отвратительна! На другой день все-таки дозвонился, узнал что нужно, но желание с ними работать отпало напрочь, а сайт добавил негатива.
А еще -- они страшные. Пример строгого стиля -- супермикра. А у ibm стиля нет.
Могут быть проблемы с поставками -- хотели заказать их сервер под один проект, срок поставки был 3-6 месяцев. А если бы он сломался, замена ехала бы тоже 3-6 месяцев?

1.5 модели - почти как dell.
x3550 M2/x3550 M3
А вот с дешевыми моделями грустно - если надо сервер под бытовой проц типа i5 или банальный Q6600, и без дублирования БП - похоже, тут пусто.

Supermicro
Пожалуй, самая сбалансированная фирма. Есть модели на любой вкус - под 2.5" диски, под 3.5; с 1 БП или несколькими; под 1 проц или больше; разные форматы плат... Есть даже модели с 2 платами в 1 юните, 4 в 2.. И даже есть модели под GPU!
Комплектующие ставятся свои, что делает это решение еще лучше в плане цены. Хотя смотреть HCL все-таки крайне желательно.
С гарантией не так хорошо, но цена позволяет держать полный рабочий сервер в запасе и все-равно выйдет дешевле какого-нибудь HP+care pack.
Из большого выбора вытекает и проблемка: в моделях можно банально запутаться. А если учесть, что корпус и плату можно взять отдельно, а не как платформу... Тут нужен хороший конфигуратор, позволяющий учесть все тонкости и выбрать оптимальную конфигурацию, но на офсайте такого нет.

HP
В целом фирма неплохая, но некоторые вещи типа доставки riser-карт могут растянуться на месяцы. Очень не любят, когда ставят не фирменные компоненты, хотя явной залочки нет - память работает, дискам только найти салазки и тоже работают (не относится к таким вещам как СХД, там левые диски даже не увидит). Поскольку фирма давно на рынке, с гарантией и поставкой обычно проблем нет. Но увы, цены там тоже на уровне.
В данном случае бюджет был слишком мал для их решений.

Хотя с ними тоже надо держать ухо востро: Да, жадность HP не знает предела: не реализовать мигание диода на слабеньком контроллере. Для него даже софт-апгрейд есть: для хот плага и поддержки диодов. Класс!

---
http://www-03.ibm.com/systems/ru/x/hardware/rack/index.html
IBM Серверы IBM на базе процессоров Intel: серверы System x и xSeries для установки в стойку - в России и странах СНГ
http://www-03.ibm.com/systems/ru/x/hardware/rack/x3550m2/index.html
IBM System x3550 M2: Обзор - Россия
http://www-03.ibm.com/systems/ru/x/hardware/rack/x3550m3/index.html
IBM System x3550 M3 - в России и странах СНГ
http://www-03.ibm.com/systems/data/flash/systemx/hardware/rack/x3550m3/tour/index.html
IBM System x3550 M3
http://www-304.ibm.com/partnerworld/wps/pub/overview/B5X00
IBM PartnerWorld - System x
http://www.ibm.com/contact/ru/ru/
IBM Контактная информация - в России и странах СНГ
http://www1.euro.dell.com/ru/ru/business/%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D1%8B/rack_optimized/ct.aspx?refid=rack_optimized&s=bsd&cs=rubsdc
Серверы для установки в стойку PowerEdge | Dell Россия
http://www1.euro.dell.com/ru/ru/business/%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D1%8B/server-poweredge-r610/pd.aspx?refid=server-poweredge-r610&s=bsd&cs=rubsdc
Подробные сведения о сервере PowerEdge 11G R610 для установки в стойку | Dell Россия
http://www.dellups.com/default.asp?ResetCountryID=1
Dell UPS Selector
http://www1.euro.dell.com/ru/ru/business/%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D1%8B/server-poweredge-r410/pd.aspx?refid=server-poweredge-r410&s=bsd&cs=rubsdc
Подробные сведения о сервере PowerEdge 11G R410 для установки в стойку | Dell Россия
http://www-03.ibm.com/systems/data/flash/systemx/hardware/rack/x3550m2/tour/index.html
IBM System x3550 M2

четверг, 27 января 2011 г.

установка devprom

Сначала ставим mysql, php, apache, настраиваем.
Прописываем в апач хост

Затем
yum install php-gd php-zip php-curl php-openssl php-mysql
С репой c5-testing у меня тут возникла проблема - система захотела поставить php53-common, что конфликтовало с 5.2 версией. Так что я просто убрал c5-testing, поставил centalt и обновил систему. Оказалось, зря напрягался:
Package php-pecl-zip is obsoleted by php-common, trying to install php-common-5.2.17-1.el5.i386 instead

Теперь надо подготовить систему к работе.
Руководство администратора
FAQ

Запускаем инсталлер по адресу http://devprom.server/admin/install.php
Но там нет проверки установленных модулей, поэтому инсталлер может запуститься, но после нажатия "установить" просто показать красную полосу. У меня такое было, когда не доставил нужных модулей.

Добавляем пользователей, не забываем про админов, прописываем крон. В доке написано так:

# выполнение заданий по расписанию (в том числе отправка почтовых уведомлений)
/var/www/devprom/htdocs/core/processjobs.php *****

В таком виде оно нерабочее.
От рута crontab -l
и вписываем
* * * * * /usr/bin/php /var/www/devprom/htdocs/core/processjobs.php

О языках для web

http://nuclight.livejournal.com/107170.html
К вопросу об ублюдочности PHP

http://stanislaw.ru/rus/research/perl.htm
Критический анализ языка Perl

http://jacobian.org/writing/hate-python/
Five things I hate about Python

В вики
http://ru.wikipedia.org/wiki/Python#.D0.9D.D0.B5.D0.B4.D0.BE.D1.81.D1.82.D0.B0.D1.82.D0.BA.D0.B8

http://juixe.com/techknow/index.php/2007/09/21/java-ruby-and-even-python-sucks/
Java, Ruby, and even Python Sucks
Реально о руби и яве. О питоне - "кто все эти люди?"

>> бы не сказал, что динамическая типизая - недостаток. иногда это даже преимущество. =)
>Я сказал "_тотальная_ динамическая типизация". Плохо именно то, что от нее невозможно отказаться, нет никакой статической проверки, и тривиальные ошибки живут до момента, когда на них натыкается исполнение.
По словам очевидцев хорошее покрытие юнит-тестами спасает.
http://www.linux.org.ru/forum/talks/2446678

Еще про питон. Поскольку он интерпретируемый, это означает низкую скорость работы. Как и пхп. Но если для пхп есть всякие АРС да eaccelerator, то с питоном сильно хуже -- нет НИЧЕГО.
Есть встроенный компилер в байт-код, но это совсем не панацея.

"Глобальная блокировка интерпретатора (GIL)
GIL (Global Interpreter Lock) — проблема, присущая CPython, Stackless и PyPy, но отсутствующая в Jython и IronPython."
IronPython это с# с синтаксисом питона, там нет ни одного модуля питона, тока нетовские
jpython это компилятор питона-в-яву
не проще сразу на c# или яве писать?
А про GIL - для веба это не особо мешает - "клиенту по скрипту".

Расширенный анализ эффективности индексов в MySQL

Для детального анализа особенностей использования индексов в MySQL удобно использовать утилиту mk-index-usage, входящую в пакет Maatkit (написан на языке Perl). По умолчанию утилита выявляет неиспользуемые индексы и предлагает готовые конструкции ALTER для их удаления.

http://www.opennet.ru/tips/2491_mysql_log_analyze_monitoring_index.shtml

Установка:
freebsd: portinstall databases/maatkit
centos: yum install maatkit
(если что, есть в epel)

понедельник, 24 января 2011 г.

Class 'XMLWriter' not found in ...

#cat /etc/redhat-release
CentOS release 5.5 (Final)

По всей видимости, не стоит xmlwriter
Во фре это пакет php5-xmlwriter, в центоси php-xml

Решение взято отсюда

среда, 19 января 2011 г.

ISPManager - вынос apache доменов по отдельным файлам

1. в папке, где у вас лежит конфиг апачи делаем вложенную папку sites (папку, где лежит конфиг апача можно посмотреть в ispmgr.conf в строке "path httpd.conf". например, это /etc/apache2/)
2. прописываем в конфиг апачи строку
Код:
Include /etc/apache2/sites/*.inc
3. прописываем в ispmgr.conf строку
Код:
path httpd-include /etc/apache2/sites/
4. перегружаем апач и ispmanager
5. наслаждаемся

*.inc-файлы генерятся для каждого пользователя, в них прописываются виртуальные хосты, которые были добавлены после включения опции.

http://forum.ispsystem.com/ru/showpost.php?p=54140&postcount=8

Возможные баги:
добавляем эту опцию, когда в httpd.conf уже есть виртуалхост юзера
блокируем юзера
разблокируем юзера
сайты у него работать не будет пока руками из *.inc файла не удалишь секцию типа....
http://forum.ispsystem.com/ru/showthread.php?t=8758
Ошибка возникает, если у вас есть Directory для домашнего каталога пользователя как в основном конфиге, так и в конфиге пользователя.
Зафиксировано, обещают исправить

- при создании домена создается файл конфигурации в указанном каталоге и все работает;
- при удалении www домена файл удаляетcя, вебсервер перегружается и процесс ispmgr умирает, а пользователь во фрейме со списком доменов получает следующее:...
http://forum.ispsystem.com/ru/showthread.php?t=7277
Зафиксировано, обещают исправить

понедельник, 17 января 2011 г.

Аппаратные рейды с поддержкой SSD

Пока нашел только контроллеры Adaptec, серия MaxIQ

Офсайт
http://www.adaptec.com/ru-ru/_common/maxcache/?hpBan=secban-maxcache-RU

Тестирование
http://www.tomshardware.com/reviews/maxiq-ssd-cache,2511.html

Adaptec launches new RAID cards with SSD cache support
http://forums.storagereview.com/index.php/topic/28593-adaptec-launches-new-raid-cards-with-ssd-cache-support/
Adaptec has announced three new MaxIQ storage controllers which are highlighted by SSD cache support. Adaptec has also increased the number of SSDs their RAID cards support.
там есть подробнее.

Пока эти контроллеры завязаны на Intel X25-E со спец прошивкой "задорого", но обещали со временем поддержку не только собственных дисков.

Софт-аналог - ZFS, там есть штатная поддержка SSD cache

Комплекс - http://russia.emc.com/about/news/press/2009/20091208-01.htm
Технология EMC FAST открывает новую эру в хранении данных и управлении информацией

Punycode

http://www.rlnic.ru/technology/punycode.pl

Перекодировка в Punycode

Для перекодирования русского имени в Punycode можно воспользоваться, например, утилитой CCODE, выбрав в этой программе перекодирование имени из CP1251 в PUNYCODE.

Также можно воспользоваться нашим online-перекодировщиком.

Для программной перекодировки в Punycode / RACE можно воспользоваться следующими библиотеками: для Perl — IDNA::Punycode, Convert::RACE; для C/C++ — idnkit.

Библиотека функций для Perl для перекодировки в Punycode / RACE, разработанная и используемая в АНО "РЦИ" для собственных нужд: punylib.pm.

Перекодировка в Punicode в языке программирования Python осуществляется встроенными средствами языка (библиотеки unicode) начиная с Python версии 2.3. Имя кодека idna. Пример использования (в интерактивном интерпретаторе):

Python 2.3.2 (#1, Oct 4 2003, 00:31:16)
[GCC 3.2.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> ru = "ДОМЕНЫ.РУ"
>>> u = unicode(ru, "koi8-r") # Из koi8 в unicode...
>>> u.encode("idna") #... и перекодируем
'xn--d1acufc5f.xn--p1ag'

Библиотеки для перекодировки в Punycode из PHP:
http://pear.speedpartner.de/, http://fastserv.name.net/open_source/php/punycode/

Если в библиотеку socket передать unicode вместо ascii-строки, перекодировка в punicode/idna будет осуществляться автоматически.