Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В компьютерной памяти , логическое управление томами или LVM обеспечивает способ выделения места на запоминающих устройствах , что является более гибким по сравнению с обычными разделами схем для хранения объемов. В частности, диспетчер томов может объединять, чередовать или иным образом объединять разделы (или блочные устройства в целом) в более крупные виртуальные разделы, которые администраторы могут изменять размер или перемещать, потенциально без прерывания использования системы.

Управление томами представляет собой лишь одну из многих форм виртуализации хранилища ; его реализация происходит на уровне в стеке драйверов устройств операционной системы (ОС) (в отличие от устройств хранения или в сети).

Дизайн [ править ]

Менеджер логических томов Linux (LVM) v1

Большинство реализаций диспетчера томов имеют один и тот же базовый дизайн. Они начинаются с физических томов (PV), которые могут быть жесткими дисками , разделами жесткого диска или номерами логических устройств (LUN) внешнего запоминающего устройства. Управление томами рассматривает каждый PV как состоящий из последовательности блоков, называемых физическими экстентами (PE). Некоторые менеджеры томов (например, в HP-UX и Linux) имеют PE одинакового размера; у других (например, в Veritas ) есть PE разного размера, которые можно разделить и объединить по желанию.

Обычно PE просто взаимно однозначно отображают логические экстенты (LE). При зеркалировании несколько PE отображаются на каждый LE. Эти PE взяты из группы физических томов (PVG), набора PV одинакового размера, которые действуют аналогично жестким дискам в массиве RAID1. Группы PVG обычно размещаются на разных дисках или шинах данных для максимальной избыточности.

Система объединяет LE в группу томов (VG). Затем объединенные в пул LE могут быть объединены в разделы виртуального диска, называемые логическими томами или LV . Системы могут использовать LV как необработанные блочные устройства, как и разделы диска: создавая на них монтируемые файловые системы или используя их в качестве хранилища подкачки .

Чередующиеся LV выделяют каждый последующий LE из разных PV; в зависимости от размера LE это может улучшить производительность при больших последовательных чтениях за счет использования комбинированной пропускной способности чтения нескольких PV.

Администраторы могут увеличивать LV (объединяя больше LE) или сокращать их (возвращая LE в пул). Объединенные коды LE не обязательно должны быть смежными. Это позволяет LV расти без необходимости перемещать уже выделенные LE. Некоторые менеджеры томов позволяют изменять размер LV в любом направлении в режиме онлайн. Изменение размера LV не обязательно приводит к изменению размера файловой системы на нем; он просто изменяет размер содержащего его пространства. Рекомендуется использовать файловую систему, размер которой можно изменять в интерактивном режиме, поскольку она позволяет системе настраивать свое хранилище на лету, не прерывая работу приложений.

PV и LV не могут совместно использоваться или охватывать разные группы VG (хотя некоторые менеджеры томов могут позволять перемещать их по желанию между VG на одном и том же хосте). Это позволяет администраторам удобно подключать виртуальные группы к сети, переводить их в автономный режим или перемещать их между хост-системами в качестве единой административной единицы.

Группы VG могут увеличивать свой пул хранения за счет поглощения новых PV или сокращаться за счет отказа от PV. Это может включать перемещение уже выделенных LE из PV. Большинство менеджеров по объему могут выполнять это движение онлайн; если базовое оборудование поддерживает «горячую» замену, это позволяет инженерам обновлять или заменять хранилище без простоя системы.

Концепции [ править ]

Гибридный том [ править ]

Объем гибрида является любым объемом , который намеренно и непрозрачно использует два отдельных физических томов. Например, рабочая нагрузка может состоять из случайных поисков, поэтому SSD можно использовать для постоянного хранения часто используемых или недавно записанных данных, а вращающийся магнитный носитель большей емкости - для длительного хранения редко необходимых данных. В Linux для этой цели можно использовать bcache или dm-cache , а в OS X можно использовать Fusion Drive. ZFS также реализует эту функцию на уровне файловой системы , позволяя администраторам настраивать многоуровневое кэширование чтения / записи.

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

Снимки [ править ]

Некоторые менеджеры томов также реализуют моментальные снимки , применяя копирование при записи к каждому LE. В этой схеме диспетчер томов копирует LE в таблицу копирования при записи непосредственно перед его записью . Это сохраняет старую версию LV, моментальный снимок, который позже может быть восстановлен путем наложения таблицы копирования при записи поверх текущего LV. Если управление томом не поддерживает как тонкую подготовку, так и отбрасывание, после того, как LE в исходном томе записывается, он навсегда сохраняется в томе моментального снимка. Если том моментального снимка был меньше его исходного размера, что является обычной практикой, это может привести к тому, что моментальный снимок станет неработоспособным.

Моментальные снимки могут быть полезны для резервного копирования самосогласованных версий изменчивых данных, таких как файлы таблиц из загруженной базы данных, или для отката больших изменений (например, обновления операционной системы) за одну операцию. Моментальные снимки имеют такой же эффект, что и рендеринг неподвижного хранилища , и аналогичны службе теневого копирования (VSS) в Microsoft Windows.

Некоторые Live CD на базе Linux также используют моментальные снимки для имитации доступа для чтения и записи к оптическому диску, предназначенному только для чтения .

Реализации [ править ]

Недостатки [ править ]

Логические тома могут страдать от внешней фрагментации, когда базовые устройства хранения не размещают свои PE непрерывно. Это может снизить производительность ввода-вывода на медленных носителях, таких как магнитные диски и другие вращающиеся носители. Однако менеджеры томов, которые используют PE фиксированного размера, обычно делают PE относительно большими (например, Linux LVM по умолчанию использует 4 МБ), чтобы амортизировать стоимость этих поисков.

В реализациях, которые предназначены исключительно для управления томами, таких как Core Storage и Linux LVM, отделение и абстрагирование управления томами от файловой системы теряет возможность легко принимать решения о хранении для определенных файлов или каталогов. Например, если определенный каталог (но не всю файловую систему) необходимо навсегда переместить в более быстрое хранилище, необходимо выполнить обход как макета файловой системы, так и нижележащего уровня управления томами. Например, в Linux потребуется вручную определить смещение содержимого файла в файловой системе, а затем вручную. pvmoveэкстенты (вместе с данными, не относящимися к этому файлу) в более быстрое хранилище. Реализация управления томами и файлами в одной подсистеме вместо того, чтобы реализовывать их как отдельные подсистемы, теоретически упрощает общий процесс.

Заметки [ править ]

  1. ^ Обозначает, позволяет ли диспетчер томов увеличивать и расширять логические тома на любой PV в VG.
  2. ^ Снимки JFS2
  3. ^ AIX 5.1
  4. ^ Снимки UFS
  5. ^ Сторонний продукт, доступный для Windows и многих Unix-подобных ОС
  6. ^ Windows Server 2003 и новее

См. Также [ править ]

  • Виртуализация хранилища
  • Диспетчер логических дисков (LDM)
  • Диспетчер логических томов (Linux)
  • Картограф устройства
  • Снимок (компьютерное хранилище)
  • Btrfs (имеет свои собственные «снимки», которые отличаются, но использование снимков LVM для btrfs приводит к потере обеих копий) [10]
  • ZFS


Ссылки [ править ]

  1. ^ а б Хуан Ромеро Пардинес (2007/2008); Дэвид Гвинн (2006). «arcmsr - Контроллер SATA / SAS RAID от Areca Technology Corporation» . Руководство по интерфейсам ядра NetBSD . NetBSD . Выложите резюме .
  2. ↑ a b c d e Хуан Ромеро Пардинес (2007/2008); Дэвид Гвинн (2006). "arcmsr.c § arc_bio_volops" . Перекрестная ссылка BSD . NetBSD . Выложите резюме .
  3. ^ The NetBSD Foundation, Inc. (1998); Университет Карнеги-Меллона (1995). «raid - драйвер диска RAIDframe» . Руководство по интерфейсам ядра NetBSD . NetBSD . Выложите резюме .
  4. ^ The NetBSD Foundation, Inc. (1998); Университет Карнеги-Меллона (1995). «raidctl - утилита настройки для драйвера диска RAIDframe» . Руководство администратора системы NetBSD . NetBSD . Выложите резюме .
  5. ^ Marco Peereboom; Тодд Т. Фрайс (2007). «softraid - программный RAID» . Руководство по драйверам устройств . OpenBSD . Выложите резюме .
  6. ^ «Блоги MSDN - Создание Windows 8: виртуализация хранилища для масштабирования, отказоустойчивости и эффективности» . Blogs.MSDN.com .
  7. ^ "Stratis Storage" . Stratis-storage.github.io . Проверено 5 августа 2019 .
  8. ^ «Разработка программного обеспечения Stratis: версия 1.0.0 ∗» (PDF) . 27 сентября 2018 . Проверено 5 августа 2019 .
  9. ^ "man-страница diskutil section 8" . ManPagez.com . Проверено 6 октября 2011 .
  10. ^ Попались , btrfs Wiki , получено 24 апреля 2017 г.

Источники [ править ]

  • Льюис, AJ, Logical Volume Manager HOWTO.
  • HP-UX 11: страница руководства lvm (7) , Hewlett-Packard, 1996 г..
  • Ванель, Лоран; ван дер Кнаап, Рональд (2000), Менеджер логических томов AIX от А до Я: Введение и концепции (PDF) , IBM Redbooks.
  • Руководство администратора Veritas Volume Manager 3.1 (PDF) , Hewlett-Packard, 2001 г..
  • Руководство администратора XVM Volume Manager , Silicon Graphics, 1999, архивировано из оригинала 03.03.2016 , получено 17.03.2020.
  • Руководство администратора Solaris Volume Manager , Sun Microsystems, 2003, заархивировано из оригинала 15июля 2007 г. , извлечено 9 июля 2007 г..
  • Shadowcopy (2003), Матрица сравнения Windows LDM и Veritas Volume Manager (PDF) , Symantec Corporation
  • Крис Гибсон (2010 г.), Использование снимков JFS2 в AIX 6.1 , IBM.

Внешние ссылки [ править ]

  • Видео-статья о том, как создавать LVM в Linux