Управление блочным устройством

Материал из Xgu.ru

Перейти к: навигация, поиск

Внутри операционной системы управление устройствами делается через вызовы ioctl: для кросс-платформенного управления виртуализованными блочными устройствами неизбежна трансляция этих команд в некое стандартное подмножество, осуществляемая инициатором SCSI.

Однако тех команд недостаточно для управления сложными SCSI-адресуемыми устройствами, такими как дисковые массивы, оптические и ленточные библиотеки: для таких целей использовались дополнительные команды SCSI-протокола (in band, внутри полосы пропускания).

И этих стандартизированных SCSI-команд также оказалось недостаточно для управления проприетарным функционалом массивов, особенно их конфигурацией (особенно в сложившихся условиях, когда в интересах вендоров и продавцов "железа" искусственно раздута рыночная ценность фиксированных конфигураций): такие задачи решаются внешними средствами out-of-band SCSI-трафика тунеллируемого в протоколах SAN, или даже вовсе out-of-band протоколов SAN.

Помаленьку стандартизированы протоколы SES и I2C...


Итак, с точки зрения разработчика поле непаханное. С точки зрения использования, картина складывается удручающая: на сей момент безопасны только статические конфигурации, тщательно продуманные на этапе интеграции. Рутинные операции с конфигурацией SAN рискованы, из-за человеческого фактора.

Динамическая инфраструктура виртуализованных блочных устройств на практике пока невозможна, исключительно из-за отсутствия доступных средств управления SAN как единым целым (не отдельных её узлов, и не отдельных проприетарных реализаций). Нет даже удовлетворительных средств просмотра конфигурации SAN, не говоря о таких необходимых вещах, как ролевой доступ к функционалу, опасному для аптайма инфраструктуры или для самих данных.

В Windows есть Storage Manager for SAN, требующий отдельно проприетарного драйвера VDS Hardware Provider от каждого вендора сторадж-подсистемы... Сейчас создаются ещё более навороченные и закрытые архитектурные решения уровня датацентра.

Xentaur
Дисковая подсистема
Linux | FreeBSD

Диски и разделы
Файлы устройств: Блочное устройство | Символьное устройство | Raw-устройство | loop-устройство
Диски: IDE | SATA (SATA hotplug) | SCSI | USB
RAID-массивы: Аппаратный RAID | Linux RAID | FreeBSD RAID
Дисковые разделы: Раздел | MBR | fdisk | parted | disklabel | GPT

Управление томами
Логический том | Физический том | Группа томов | Снимок | Клон
device-mapper | dm-ioband | dm-crypt | dm-userspace | multipath
Системы управления томами: LVM | CLVM | EVMS | Btrfs* | ZFS* | AdvFS* | Zumastor

Сетевые хранилища и репликация
Отказоустойчивость: DRBD | Xen + DRBD | ggate + gmirror | HAST
Сетевые хранилища: AoE | iSCSI | FCoE | GNBD

Файловые системы
Монтирование | Проверка целостности | Дефрагментация | Суперблок | inode | Журнал | Кэш | VFS | UUID | FUSE
Локальные: ext3 | ext3cow | ext4 | JFS | Reiser4 | XFS | ZFS | Btrfs | AdvFS | ISO | aufs
Сетевые: NFS | CIFS | AFS | POHMELFS
Кластерные: GFS | OCFS2 | CXFS | VMFS | GPFS
Распределенные: Lustre | PVFS | Ceph | Coda

* Btrfs, ZFS и AdvFS — это файловые системы с возможностями управления томами