30 Мар

Установка PHP-5.2.17 в Debian Lenny/Squeeze

1. Добавляем в /etc/apt/sources.list следующие репозитории:

Squeeze :

    deb http://packages.dotdeb.org stable all
    deb-src http://packages.dotdeb.org stable all

Lenny :

    deb http://packages.dotdeb.org oldstable all
    deb-src http://packages.dotdeb.org oldstable all

2. Добавляем ключи:

wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | apt-key add -

И далее по учебнику:

apt-get update
apt-get install php5

Тем, кому необходима версия 5.3, можно добавить в /etc/apt/sources.list :

deb http://php53.dotdeb.org oldstable all
deb-src http://php53.dotdeb.org oldstable all

Конечно же, для пользователей Debian Squeeze это совершенно не нужно, поскольку php-5.3 входит по умолчанию в официальные репозитории.

17 Фев

Обзор возможностей BTRFS

Сегодня обнаружил интересный факт, что очень много людей попадают на мой блог через поисковики после запроса «btrfs». Не знаю, почему так происходит, учитывая, что у меня в блоге btrfs пока встречается только в кратком обзоре Debian Squeeze. Но факт есть факт.
Да и многие пока очень мало знают что-либо про btrfs. А знать стоило бы, файловая система, действительно, очень интересная и содержит просто огромную кучу функционала.

По этим причинам я решил написать небольшую статью, чтобы познакомить интересующихся с этой Файловой Системой.

В 2006 году летом в Сан-Хосе состоялся саммит разработчиков файловых систем. Сразу после этого саммита Крис Мэсон начал работу над созданием новой файловой системой BTRFS. И очень усердно.
Уже в начале 2007 года в списках рассылок разработчиков ядра Linux он сообщил, что первые результаты уже готовы. На тот момент он успел написать «10 547 строк слабо комментированного кода» и приглашал народ к тестированию.

В ноябре 2007 года происходит встреча разработчиков файловых систем, посвящённая вопросу создания файловой системы нового поколения для Linux (next generation filesystem, NGFS). На встрече присутствуют инженеры компаний Oracle, IBM, Intel, HP и Red Hat, принимающие участие в разработке файловых систем ext2, ext4, OCFS2, lustre, btrfs, AdvFS, Reiser4 и XFS.
В результате было решено, что:

  • Linux файловая система нового поколения необходима;
  • Файловая система Криса Масона, называемая btrfs, наиболее хорошо подходит на роль такой файловой системы;
  • Разработка файловой системы нового поколения и переход на неё будут осуществляться продолжительное время, и на этом этапе в качестве основной файловой системы стоит использовать ext4.

В начале 2009 года файловую систему btrfs включили в ядро Linux. Разработка btrfs далека от завершения. Предполагается, что промышленная эксплуатация btrfs будет возможна не ранее 2010 года.

Чем так интересна btrfs? Она включает в себя функционал различных файловых систем.
Многие называют btrfs свободным клоном ZFS — это совершенно неверно. ZFS отличная файловая система, но она не была включена я ядро linux по причине лицензионных конфликтов linux и zfs. В btrfs есть две особенности, идеи которых били позаимствованы у ZFS:

  • Как и ZFS, btrfs интегрирует в свой состав программный RAID
  • btrfs позволяет делать снимки данных ФС (snapshots)

Основные возможности btrfs:

  • Проверка целостности без размонтирования;
  • Записываемые снимки (writeable snapshots);
  • Динамическое выделение индексных дескрипторов (динамические иноды, dynamic inodes);
  • Контрольные суммы данных и метаданных;
  • Интеграция с device-mapper;
  • Поддержка RAID-массивов (одна файловая система на нескольких томах);
  • Сжатие;
  • Подтома (subvolumes);
  • Эффективное клонирование файловой системы и создание инкрементальных архивов;
  • Дефрагментация смонтированной файловой системы.
  • Поддержка сложных многодисковых конфигураций — RAID уровней 0, 1, 5, 6 и 10, а также реализация различных политик избыточности на уровне объектов ФС — то есть возможно назначить, к примеру, зеркалирование для какого-либо каталога или файла.
  • Copy-on-write (CoW) журналирование.
  • Контроль целостности блоков данных и метаданных с помощью контрольных сумм.
  • Зеркалирование метаданных даже в однодисковой конфигурации.
  • Полностью распределенное блокирование.
  • Поддержка ACL.
  • Защита от потери данных.
  • Выбор хэш-алгоритма.
  • Поддержка NFS.
  • Флаги совместимости, необходимые для изменения дискового формата в новых версиях btrfs с сохранением совместимости со старыми.
  • Резервные копии суперблока, по крайней мере — по одной на устройство.
  • Скоростные приоритеты для дисков.
  • Гибридные пулы. btrfs старается перемещать наиболее используемые данные на самое быстрое устройство, вытесняя с него «залежавшиеся» блоки. Эта политика хорошо согласуется с появившейся недавно моделью использования SSD (Solid State Drive).
  • Балансировка данных между устройствами в btrfs возможна сразу после добавления диска к пулу, отдельной командой — а не только постепенно, в процессе использования (как это реализовано в ZFS).
  • Диски для горячей замены, поддержка которых появилась и в ZFS.

Более того, метаданные файлов можно хранить на отдельных разделах. Насколько мне известно, на сегодня btrfs является единственной файловой системой, в котрой есть опция монтирования ssd, которой вы сообщаете, что монтируете ssd-диск. Благодаря этому, на ssd-диске, например, при обращении к какому-либо файлу, его временные метаданные не обновляются. Этим значительно сокращается изменение каких-либо данных на диске, что увеличивает его срок жизни на порядок. Плюс многие данные кешируются в память, чтобы исключить повторное обращение к диску.

Разработчики Ubuntu не так давно обещали сделать btrfs файловой системой по умолчанию в ubuntu-10.10, но недавно перенесли свои планы на версию 11.04. Посмотрим, как будет в этот раз. Хотя выбирать btrfs при установке отдельно уже можно. Как, кстати, и в Debian Squeeze.

На сегодняшний день GRUB не умеет загружать ядро и скрипты из btrfs-разделов. Поэтому, в любом случае, /boot/-раздел необходимо держать на какой-либо другой ФС.

При помощи btrfs-convert можно сконвертировать, например, ext3 в btrfs, получив функционал btrfs без потери данных. Причем потом можно обращаться к этому разделу и как к ext3 и как к btrfs. Можно без проблем удалить образ btrfs, лишившись его же функционала или наоборот, удалить образ ext3, оставшись навсегда в btrfs.