вторник, 25 декабря 2012 г.

php+FreeBSD: Cannot find autoconf.


Иногда по непонятным причинам при установке модулей выдаёт

Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

Фикс (для csh):
setenv PHP_AUTOCONF `which autoconf`
setenv PHP_AUTOHEADER `which autoheader`
Разумеется, требуемые пакеты должны стоять. Обычно они ставятся в /usr/local/bin/{autoconf,autoheader}

UP
Иногда срабатывает с полными путями, иногда нет. Тогда делаем

setenv PHP_AUTOCONF autoconf-2.69
setenv PHP_AUTOHEADER autoheader-2.69
(версию ставим нужную)
после этого phpize отрабатывает.

воскресенье, 23 декабря 2012 г.

Начало развала GNU?

Лидеры проектов GnuTLS, grep и sed выходят из движения GNU в знак несогласия с политикой Фонда СПО


"Никос Маврогианнопулос (Nikos Mavrogiannopoulos), создатель, ключевой разработчик и лидер проекта GnuTLS, объявил о выводе GnuTLS из-под контроля Фонда СПО и движения GNU. Разработка GnuTLS перемещена из инфраструктуры GNU, при передаче кода проекту больше не требуется подписание соглашения о передаче имущественных прав Фонду СПО.

В качестве причины называется несогласие с системой принятия решений и действиями Фонда СПО, притом, что Никос по-прежнему остаётся сторонником идей, продвигаемых Фондом СПО. Указывается на то, что в движении GNU отсутствует возможность влияния на принятие решений, все решения единолично исходят от Столлмана, а не принимаются в ходе дискуссий, учитывающих различные мнения. Поэтому Никос устал от того, что его участие в проекте ограничивается только написанием кода, без возможности выражения и обсуждения различных точек зрения."

И далее несколько неадекватная позиция Столлмана, который держится за власть зубами.

Истинные причины неизвестны. То ли проблемы с финансированием, то ли невозможность отдавать код под двойной лицензией и зарабатывать на закрытой версии, то ли неадекватность Столлмана... Сложно судить. Тем не менее, если это будет первым шагом и другие так же начнут выходить из проекта - Столлману не поздоровится.
Только имеет смысл сразу создать другой фонд, чтобы собирать этих уходящих на других условиях... И потом, "Если это плохо реализовано в Unix, не стесняйтесь заменить это на что-то совершенно иное и более совершенное"...

Хотя лишнее дробление чревато сказкой про журавля, рака и щуку.

MySQL Master-Master

Основная дока этой заметки:
Опыт эксплуатации MySQL Master-Master — как пережить аварию датацентра

Плюс о репликации у меня есть
http://dragonflybsd.blogspot.ru/search/label/mysql

Находки программиста: Nginx+Redis: делаем асихронное web-приложение для больших нагрузок

Находки программиста: Nginx+Redis: делаем асихронное web-приложение для больших нагрузок

oDesk

Иностранный фриланс-портал oDesk

nginx: secure_link

http://nginx.org/ru/docs/http/ngx_http_secure_link_module.html
http://wiki.nginx.org/HttpSecureLinkModule

Недокументированные возможности secure_link
Ограничения в secure_link «реальном» мире

Защита от хотлинкинга с помощью настройки nginx

если отдаются файлы с левыми именами:
http://gogs.info/2010/03/set-filenames-with-nginx-secure-download-module/

Для работы нужны ngx_devel_kit, ngx_http_set_hash

суббота, 22 декабря 2012 г.

Облако от infobox

Вот и infobox включился в популярные нынче облака. Вот только их облако относительно честное типа селектела или это обычный VDS, который можно с натяжкой назвать облачным vds (но не честным облаком!)?
Сам сервис, на базе решения Parallels Automation for Cloud Infrastructure:
http://infobox.ru/cloud/servers/

Хотя судя по ценам, появляется надежда что это настоящее честное облако, где оплата именно по потреблению, а не за то, что выставляли предварительно.

Некоммерческое тестирование продлится до 1 февраля 2013 года.

Хотя надо относиться к услугам компании infobox с некоторой осторожностью: месяца 2 назад они полностью лежали по меньшей мере пол дня (мне помнится, что более суток), включая их днс, которые обязаны быть географически распределены. Так что мешает лечь их облаку при очередном DDoS?
Тем более у них НЕТ нормального дц, а тот что есть, тянет хорошо если на минимальный уровень. Дизеля нет, охлаждение уличным воздухом без фильтров, каналы довольно тощие, покупать честные МБиты канала довольно дорого, около 1.5к руб за 1мбит... Хотя есть надежда, что у них арендованы стойки в 2-3 нормальных современных ДЦ и весь траф не проходит через 1 место (вспоминаем селектел, когда московский ДЦ не был доступен из-за аварии в питере).

UP
http://twitpic.com/r5rpv

Amazon Glacier

Скинули недавно линк на новый сервис амазона Amazon Glacier. Это такое мегадешёвое хранилище для бэкапов со временем доступности данных оттуда порядка 4-5 часов

четверг, 20 декабря 2012 г.

mysql и репликация: Multi-Master Replication Manager for MySQL

MMM (Multi-Master Replication Manager for MySQL) is a set of flexible scripts to perform monitoring/failover and management of MySQL master-master replication configurations (with only one node writable at any time).
То есть это master-master в режиме active-passive.

Основной сайт
http://mysql-mmm.org/
Но там есть такое:
NOTE: By now there are a some good alternatives to MySQL-MMM. Maybe you want to check outGalera Cluster which is part of MariaDB Galera Cluster and Percona XtraDB Cluster.

Судя по тому, что "по вопросам обращайтесь в перкону", лучше действительно посмотреть на Galera/XtraDB.

"Сейчас, в контексте настоящей синхронной Master-Master репликации (когда целостность данных гарантируется и писать можно одновременно на все ноды кластера) много говорят про Galera. Кто-то скажет, что для этого можно попробовать использовать давно известный MySQL NDB Cluster — но широко известно, что этот «автожир» подходит очень узкому кругу приложений, редко из мира веб.
Мы с интересом следим за Galera — возможно именно на ней в будущем будут строить подлинные Master-Master кластера, а пока посмотрим что полезного можно извлечь из имеющихся хорошо проверенных стабильных инструментов."
http://habrahabr.ru/company/bitrix/blog/146490/
И снова битрикс-блог...

Галеру/XtraDB рассмотрю отдельно, как руки дойдут. Скорее всего, будет применяться у нас для отказоустойчивости, гео-кластер.

Даже с MMM остаётся вопрос идентичности данных на нодах. Как там реализована проверка целостности? Есть ли тогда автоматическое лечение? Скорее всего, нет ничего, и для небольших таблиц надо делать CHECKSUM TABLE, а с большими будет засада.

Линки
Installation Guide
http://mysql-mmm.org/mysql-mmm.html
http://habrahabr.ru/company/bitrix/blog/146490/

бэкап mysql без простоев

Самый простой метод бэкапа - на рабочем сервере - часто вызывает простои, поскольку на время бэкапа БД вешает локи, и на больших таблицах это бывает очень заметно. Простой способ решить эту проблему - сделать на отдельном или даже том же сервере инстанс БД в режиме slave, только не забываем выставить уникальный server-id и прописать в конфиг слейву режим read-only. И теперь можно сделать очень интересную штуку: остановим слейв (достаточно только SQL thread) и можно дампить. Из плюсов - мы даже можем дампить разные базы и таблицы в разные файлы, сохранив при этом целостность репликации! То есть можно потом загрузить на новый сервер все эти файлы, и мы будем знать master_log_pos для этой схемы! Суть в том, что поскольку слейв остановлен, master_log_pos меняться не будет, поэтому достаточно сохранить пару log_pos и log_file и мы можем использовать этот комплект при разворачивании нового слейва или даже мастера. Главное, не забыть залить полную структуру :)

Есть вариант 2, поставив flush tables with read lock и сделав снапшот, но это хоть небольшой но простой и не очень хорошо автоматизируется: из самого mysql не сказать "сделать снапшот", и нельзя закрывать соединение с базой раньше времени, иначе лок снимется. Вдобавок, если была обработках больших объёмов, можно очень долго ждать пока лок встанет, что может сильно увеличить простой системы. И опять же для правильного бэкапа нужен отдельный инсанс базы, например innodb нельзя бэкапить просто запаковав его файлы.

Вариант 3 - используя mysqldumpslow, но ничего про него сказать не могу, у нас пока не применялось. И вопрос с сохранением master_log_pos, особенно применимо к записи по разным файлам.

Для MyISAM есть метод простого копирования файлов, сделать только сначала flush tables, и снова это не сохранит позицию.

среда, 19 декабря 2012 г.

Python Imaging Library во FreeBSD

Нужно для django например. Странно, что пакет py27-django-1.4.2 (у меня) не втянул PIL по зависимостям.

Находится оно в graphics/py-imaging, впрочем есть еще graphics/py-pillow, юзер-френдли вариант. хз в чём это выражается.
Также может потребоваться поставить graphics/jpeg, если его не втянет само. Выражаться будет в том, что с jpeg будут ошибки, а всякие png будут обрабатываться нормально.

вторник, 18 декабря 2012 г.

ZFS+DTrace+Zones+KVM

ZFS+DTrace+Zones+KVM
http://smartos.org/


SmartOS is a specialized Type 1 Hypervisor platform based on Illumos. It supports two types of virtualization:
  • OS Virtual Machines (Zones): A light-weight virtualization solution offering a complete and secure userland environment on a single global kernel, offering true bare metal performance and all the features Illumos has, namely dynamic introspection via DTrace
  • KVM Virtual Machines: A full virtualization solution for running a variety of guest OS's including Linux, Windows, *BSD, Plan9 and more

SmartOS is a "live OS", it is booted via PXE, ISO, or USB Key and runs entirely from memory, allowing the local disks to be used entirely for hosting virtual machines without wasting disks for the root OS. This architecture has a variety of advantages including increased security, no need for patching, fast upgrades and recovery.

Как работает ZFS

Как работает ZFS

Интересные материалы, плюс в комментах много.
часть 1: vdev
часть 2: metaslab

По мере появления буду обновлять, "в планах как минимум 8-10 статей про разные компоненты ZFS"

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

IPv4: вести с фронта

Из-за нехватки ipv4 адресов гайки начали закручивать уже несколько лет как.

Сейчас многие провайдеры не выдают более 1 блока, и для расширения этого блока надо сдать старый и сделают новый. Требования к причинам получения ужесточаются, первыми попали в запреты СЕО, которые часто выкупали под нужды проксей и парсинга блоки по 256 адресов и более (.24), потом были всякие VPN, всё неохотнее начали выдавать под виртуализацию. Многие полностью отказались от выдачи блоков и айпи можно получать только поштучно, описывая для каждого сферу применения.

Многие компании начали вводить плату за каждый айпи, например в fastvps 1 дополнительный айпи стоит 1200р, и более того, лимит 2-3 айпи на сервер.

Селектел также вводит оплату, но уже абонентку:
"С 17 января 2013 года вводится абонентская плата за аренду IPv4 адреса для услуги облачных серверов.
Стоимость аренды составит 10 копеек/час (2.4 рубля в сутки) за каждый арендованный IPv4-адрес.

Для того, чтобы сохранить возможность использовать ресурсы облака с минимальной стоимостью, мы к 17 января реализуем функцию, позволяющую отказаться от аренды IPv4 адреса и использовать только IPv6.

Введение мер по уменьшению использования IPv4-адресов и стимуляции перехода на IPv6 является вынужденной."
Из тикетов. То есть в месяц 1 айпи будет выходить примерно в 70 руб.

Документ, на который опираются многие:
https://www.ripe.net/ripe/docs/ripe-553