ГЕОМ
GEOM — это основная среда хранения данных для FreeBSD операционной системы . Он доступен во FreeBSD 5.0 и более поздних версиях и обеспечивает стандартизированный способ доступа к уровням хранения. GEOM является модульным и позволяет модулям geom подключаться к платформе. Например, модуль geom_mirror обеспечивает RAID1 систему или функцию зеркалирования. Ряд модулей предоставляется как часть FreeBSD, а другие были разработаны независимо и распространяются через (например) GitHub .
GEOM был разработан для проекта FreeBSD Полом-Хеннингом Кампом и NAI Labs , подразделением исследований безопасности компании Network Associates, Inc. в рамках контракта DARPA / SPWAR N66001-01-C-8035 («CBOSS») в рамках DARPA CHATS. исследовательская программа. Название символизирует его влияние на геометрию диска.
Многоуровневый дизайн
[ редактировать ]Благодаря модульной конструкции Geom модули можно «складывать» вместе, образуя цепочку слоев Geom. Например, поверх модуля geom_mirror можно добавить модуль шифрования, например geom_eli, для обеспечения зеркального и зашифрованного тома. В каждом модуле есть как потребители, так и поставщики. Поставщик — это «источник» модуля geom, часто это физический жесткий диск , но иногда и виртуализированный диск, например диск памяти . Модуль geom, в свою очередь, обеспечивает «выходное» устройство. Другие модули geom, называемые потребителями, могут использовать этот провайдер для создания цепочки модулей, связанных друг с другом.
Исходный код → модуль geom → Вывод
упоминается как:
Поставщик → модуль geom → Потребитель(и)
Например, модуль geom_mirror может использовать (в качестве потребителя) следующих поставщиков: /dev/ada0, /dev/ada1, при этом он создает (в качестве поставщика) новое устройство с именем /dev/mirror/gm0. В конце цепочки Geom часто применяется файловая система , которая фактически использует поставщика Geom для чего-то полезного. Поставщик, созданный модулями geom, ведет себя точно так же, как физический жесткий диск, и поэтому может содержать файловые системы, такие как собственная файловая система Unix (UFS) FreeBSD.
Доступные модули
[ редактировать ]Модули хранения [1]
- geom_stripe ( RAID0 )
- geom_mirror ( RAID1 )
- geom_raid (поддерживает функциональность RAID на контроллерах «программного рейда»)
- geom_raid3 ( RAID3 )
- geom_raid5 ( RAID5 , пока нет в -CURRENT)
- geom_concat (объединение, также называемое охватом или JBOD )
- geom_vinum (устаревший менеджер томов с поддержкой RAID0/1/4/5)
- geom_ccd (устаревший менеджер томов с RAID0 и элементарной поддержкой RAID1)
Модули шифрования и сжатия
- geom_eli (также называемый GELI , обеспечивает традиционное шифрование с использованием AES , Blowfish , Triple DES или Camellia алгоритмов . Он может поддерживать аутентификацию данных с использованием MD5 , SHA1 , SHA256 , SHA384 , SHA512 или RIPEMD160 )
- geom_bde (также называемый GBDE , передовое шифрование с четырьмя криптографическими барьерами)
- geom_shsec ( модуль общего секретного шифрования)
- изображения, сжатые только для чтения geom_uzip ( ZIP- )
Модули файловой системы
- geom_label (позволяет провайдерам помечать собственное имя для упрощения разделения)
- geom_journal (добавляет поддержку журналирования в файловой системе Unix ( UFS ))
- geom_cache (добавляет кэширования поддержку для повышения производительности, используя ОЗУ в качестве буферного кэша)
Разметка диска
- geom_flashmap (разделяет части, например, флэш-памяти, используя смещения или контекст)
- geom_part (поддерживает разбиение диска поставщиков GEOM)
- geom_part_apm (поддержка карты разделов Apple )
- geom_part_bsd (поддерживает метку диска BSD )
- geom_part_bsd64 (поддерживает 64-битный вариант меток диска BSD, используемый DragonFly BSD )
- geom_part_ebr (поддерживает расширенную загрузочную запись )
- geom_part_gpt (поддерживает таблицу разделов GUID )
- geom_part_ldm (поддерживает диспетчер логических дисков )
- geom_part_mbr (поддерживает основную загрузочную запись )
- geom_part_vtoc8 (поддерживает метки дисков Sun/Solaris VTOC8)
Виртуализация
- geom_mountver (включает проверку монтирования)
- geom_multipath (поддержка многопутевого ввода-вывода к базовым дискам)
- geom_nop (создает прозрачный модуль, используемый для отладки и тестирования)
- geom_gate (создает виртуальный диск с использованием серверной части сетевого диска)
- geom_virstor (позволяет перегрузить поставщика geom, создав поставщика большего размера, чем его потребитель)
- geom_linux_lvm (читает тома Linux LVM2 )
- geom_zero (создает фиктивный поставщик, который поглощает все записи и возвращает нули при чтении)
Внешние ссылки
[ редактировать ]- Роудс, Том. «GEOM: Модульная система преобразования дисков» . Руководство по FreeBSD .
- Камп, Пол-Хеннинг. «Учебник GEOM» (PDF) . БСДКан 2004 .