суббота, 30 марта 2013 г.

Балансировщик нагрузки для Amazon EC2 c автомасштабированием

http://habrahabr.ru/post/136827/

На базе ELB

+

gigimon,#
Помимо амазоновского сервиса автомасштабирования, есть (как минимум) 2 сервиса, которые позволяют это делать на амазоне сильно умнее (scalr.com, alestic.com). Умнее в том, что есть интеграция с ПО на инстансах (если это mysql, то будет подниматься репликация, если apache, то автоматически будет добавляться к фронтенду в список бэкендов)
0
anatolijd,#
вьі наверно имели ввиду ylastic.com?

пятница, 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

четверг, 28 марта 2013 г.

Приватные аналоги Dropbox

Наиболее известные аналоги:
LiquidFiles
ownCloud 1
seafile 1
alfresco w

Совсем простой вариант openfiler

Непонятный вариант
ajaxplorer

Выбор-то есть, но сравнений продуктов особо найдено не было. Хотя нужно ещё смотреть, что требуется от системы, поскольку они различаются плюшками.
Многие имеют версию enterprise, платную, и community-версию.

вторник, 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. В лине хз.

понедельник, 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.

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 (русская версия)

четверг, 21 марта 2013 г.

proxmox: quick start

proxmox это система виртуализации, которая умеет как полную виртуализацию (HVM), так и контейнерную (openVZ). Увы, паравиртуалицазию (PV) оно не умеет, что частично компенсируется контейнерами. Для PV нужен xen. Впрочем, за счёт pv-ops для свежих версий линукса эта проблема не так актуальна.

Простая установка действительно простая: качаем ISO с офсайта (VE версия), и грузимся с него
Внимание! В системе должен быть только 1 диск, который будет целиком отдан под систему, никаких запросов о разбиении диска не будет!
Сама установка элементарна: вводим страну, выбираем таймзону, проверяем имя узла, настройки сети, задаём почту и пароль для рута... Вроде и всё.
После перезагрузки обращаемся браузером или через ssh на тот айпи, который был присвоен системе, это будет написано на экране даже без логина в систему, по http можно без указания порта, перекинет куда надо автоматом. Логин root, пароль тот, что вводили при установке.

четверг, 14 марта 2013 г.

ispmanager: зачем root задаётся через переменную

Обнаружилось на новом сервере, что в nginx панель пишет так:
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 г.

sublime text 2

Пара интересных линков

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

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%, смотря какой объём пула.