Posts for: #Storage

Основы облачного хранилища данных Ceph. Часть 2. Установка кластера

My next article about Ceph published in Russian magazine Samag 12/2015, pp 07-11. The hands-on guide to installation of Ceph cluster with ceph-deploy and manual. The third article in January issue will discuss OpenStack integration. The announcement is here http://samag.ru/archive/article/3084

Советы по оптимизации производительности

С удовольствием читаю интересный технический блог «about NetApp», в основном посвященный софтверной компании NetApp. На днях там появилась заметка с рекомендациями по оптимизации производительности, которые равно применимы к любой ИТ-системе. Хотя казалось бы советы очевидны, нередко ими пренебрегают что вызывает только деградацию производительности. Читаем тут.

Работа с образами дисков виртуальных машин через libguestfs

В Fedora 11 включен ряд инструментов, значительно упрощающих работу с образами дисков виртуальных машин из операционной системы хоста. Утилиты, разработанные в рамках libguestfs, используют код ядра Linux и qemu и, соответственно, позволяют получить доступ к файловым системам, с которыми умеют работать Linux и qemu, включая ext2/3/4, btrfs, FAT, NTFS, тома LVM и различные варианты схем хранения разделов Virtual Machine DisK format (vmdk) и qcow1/2. Также библиотека корректно работает с метками SELinux.

Упрощенная настройка iSCSI target при помощи targets.conf

Около года назад я писал в блоге про настройку iSCSI target и initiator в RHEL5. Начиная с версии 5.3 настройка target значительно упростилась. Теперь не нужно прописывать несколько команд tgtadm в /etc/rc.local, а достаточно создать файл /etc/tgt/targets.conf вида:

backing-store /dev/xvda5

и запустить tgtd. Подробнее — в man tgt-admin.

Приоритет ввода/вывода процесса и ionice

В планировщике ввода/вывода CFQ (подробнее о планировщиках ввода/вывода можно почитать тут), который используется по умолчанию, начиная с ядра версии 2.6.18 (кстати, в последнем издании Understanding the Linux Kernel описано ядро 2.6.11, и там в соответствующей главе пишут про упреждающий конвейер - Anticipatory) есть интересная возможность вручную присваивать приоритет ввода/вывода конкретному процессу. На практике эти манипуляции осуществляются при помощи утилиты ionice.

Можно задать три класса ввода/вывода:

3. Idle - получает доступ к диску только тогда, когда другие процессы не требуют ввода/вывода. При “нормальной” работе системы такой процесс не должен испытывать проблем с производительностью.