lvm2: добавить дополнительный диск в конкретный каталог файловой системы внутри логического тома?

Вопрос или проблема

У меня настроен логический том lvm2, и мне нужно добавить к нему новый диск. Я знаю, как сделать это “стандартным” способом без проблем. Однако я хотел бы добавить диск более “гранулярным” способом и не уверен, что это возможно.

Единственный физический том, который в настоящее время подключен к существующему логическому тому, — это M.2 nvme, в то время как новый диск — более медленный SATA SSD. Если я подключу его “стандартным” способом, новые данные будут распределены между этими двумя дисками, что замедлит пропускную способность.

Теперь на файловой системе внутри логического тома находятся директории с разными требованиями к скорости доступа. Например, быстрый доступ к директории с 4K фильмами и менее критичная скорость доступа для фотографий или аудио в других директориях.

Так что вопрос в том, можно ли это сделать, используя lvm? Как я уже сказал, не думаю, что это возможно, так как, насколько я знаю, нет связи между lvm и файловой системой. Какие у меня есть варианты для достижения этой цели?

Мой предыдущий способ — монтировать новый диск в /mnt, перемещать туда данные директории и заменять предыдущую директорию символической ссылкой на новую точку монтирования; это создает путаницу.

Заранее спасибо за любые мысли.

Вы уже указали на это — это невозможно сделать на уровне LVM.

Ваш единственный вариант — создать раздел / файловую систему на новом диске, возможно, с реальными директориями, совпадающими с вашими типами данных, временно смонтировать все/любые из них в каталог под, например, /tmp, переместить данные, а затем смонтировать (или использовать bind-mount, что вам удобнее) в соответствующие директории, откуда были файлы.

P.S.: Я с трудом представляю, что даже старый SSD может быть слишком медленным для 4K видео (если только вы не собираетесь транслировать много разных потоков параллельно).

Ответ или решение

Добавление нового диска в логический том LVM с целью повышения эффективности использования ресурсов и оптимизации производительности — это задача, требующая детального подхода, учитывающего особенности использования системы хранения данных. Давайте рассмотрим теоретический аспект, реальный пример и практическое применение рекомендаций.

Теория

  1. Логические тома LVM (Logical Volume Manager): LVM позволяет управлять дисковыми пространствами гибче по сравнению с традиционными методами разделения на физические разделы. Однако, когда необходимо управлять производительностью на уровне отдельных директорий внутри файловой системы, LVM не предоставляет встроенных механизмов для дифференцированного распределения ресурсов.

  2. Разнесение нагрузки: Если новая доискиваемая вами организация дискового пространства должна учитывать различие в скорости доступных накопителей (NVMe против SATA SSD), важно понимать, что "стандартное" добавление физического тома приведет к равномерному распределению данных между дисками. Это может снизить общую производительность, особенно для IO-интенсивных задач.

  3. Файловая система и LVM: Нет прямой связи между LVM и конкретной структурой файловой системы. LVM занимается лишь разметкой и абстракцией физического пространства под логические тома, предоставляя гибкость в управлении физическими дисками.

Пример

Рассмотрим сценарий, где ваш логический том LVM /dev/vg0/lv0 содержит следующие директории:

  • /media/4k_videos: требует высокой скорости доступа для потокового воспроизведения видео;
  • /media/photos: допускает пониженную скорость и может использоваться для хранения фотографий;
  • /media/audio: не так критично к задержкам доступа.

С новым диском, добавляемым к логическому тому, ваша цель заключается в возможности выбора, какие данные будут находиться на более медленном диске, а какие — остаться на быстром NVMe.

Применение

  1. Создание отдельного тома для медленного диска:

    • Создайте физический том (PV) на новом SATA-диске, например: pvcreate /dev/sdX.
    • Создайте новый том группы (VG) и добавьте этот диск: vgcreate vg1 /dev/sdX.
    • Создайте логический том (LV) внутри новой VG для хранения данных с низкими требованиями к скорости: lvcreate -n slow_data -l 100%FREE vg1.
  2. Перемещение данных и создание точки монтирования:

    • Создайте файловую систему в новом логическом томе, например, с использованием ext4: mkfs.ext4 /dev/vg1/slow_data.
    • Создайте временные монтировочные точки, например под /mnt/temp_photos и /mnt/temp_audio.
    • Переместите данные из /media/photos и /media/audio в соответствующие временные директории.
    • Размонтируйте временные точки и создайте постоянные точки монтирования, такие как /media/photos и /media/audio.
  3. Применение символьных ссылок:

    • Если структура директорий и приложений не позволяет непосредственно изменять пути, используйте символьные ссылки, чтобы пользовательский опыт остался прежним, но данные черезмонтировались на более медленный диск.
  4. Мониторинг и настройка:

    • После настройки регулярно мониторьте производительность системы с использованием инструментов, таких как iotop, чтобы убедиться в том, что загрузка распределяется согласно ожиданиям.
    • При необходимости, обновите скрипты на момент старта системы для автоматизации монтирования новых серверов.

Таким образом, наиболее приемлемым и не громоздким с точки зрения управления остается метод использования отдельных томов LVM и стратегического управления точками монтирования для распределения скоростных и медленных ресурсов в файловой системе. Вы получаете ожидаемое распределение нагрузки без осложнений, связанных с прямым изменением структуры в рамках LVM.

Оцените материал
Добавить комментарий

Капча загружается...