Вопрос или проблема
У меня есть настройка с логическим томом lvvm внутри группы томов vgsata. Lvvm был создан с опцией thin -T:
sudo lvcreate -L 925G -T vgsata/lvvm
lsblk
...
sdc 8:32 0 931,5G 0 диск
└─sdc1 8:33 0 931,5G 0 часть
├─vgsata-lvvm_tmeta 252:0 0 116M 0 lvm
│ └─vgsata-lvvm 252:2 0 925G 0 lvm
└─vgsata-lvvm_tdata 252:1 0 925G 0 lvm
└─vgsata-lvvm 252:2 0 925G 0 lvm
Когда система запускается, я могу смонтировать том из терминала без проблем:
sudo mount /dev/vgsata/lvvm /VM
Но когда я пытаюсь сделать это с fstab, добавляя строку
dev/mapper/vgsata-lvvm /VM ext4 defaults 0 2
Процесс загрузки теперь занимает на 1-2 минуты дольше без монтирования тома. В файле boot.log
я нахожу некоторые проблемы, связанные с временем ожидания:
[ TIME ] Timed out waiting for device dev-m…m.device - /dev/mapper/vgsata-lvvm.
[DEPEND] Dependency failed for systemd-fsck…m Check on /dev/mapper/vgsata-lvvm.
[DEPEND] Dependency failed for VM.mount - /VM.
[DEPEND] Dependency failed for local-fs.target - Local File Systems.
Я также пробовал использовать UUID, но помимо того факта, что это, похоже, не является рекомендованным способом для LVM, это не решило проблему.
Итак, каков будет лучший способ монтирования логического тома во время загрузки? Или я допустил ошибку при создании тонкого тома?
Ответ или решение
Создание и монтирование логических томов LVM, особенно тонких томов, – задача, требующая тщательного понимания конфигурации системы и ее компонентов. Проблема, с которой вы столкнулись, связана с неудачным монтированием логического тома на этапе начальной загрузки системы с использованием файла fstab. Давайте детально рассмотрим эту ситуацию и предложим решения.
Теория
LVM, или Logical Volume Manager, предоставляет гибкую систему управления дисками, позволяющую пользователю легко управлять разделами (логическими томами). Однако работа с тонкими томами (thin volumes), как в вашем случае, накладывает свои ограничения. Особенность тонких томов состоит в том, что они создаются на основе пула, что потенциально может привести к определенным сложностям на этапе загрузки системы, если система не успевает подготовить пул данных до монтирования томов.
Основные проблемы:
-
Синхронизация: LVM инициализируется одновременно с другими службами на этапе загрузки. Однако, тонкие тома требуют, чтобы их пул данных был готов к использованию до их монтирования.
-
fstab и systemd: При использовании fstab для монтирования LVM томов могут возникать проблемы из-за того, что systemd ожидает появления устройствами до того, как переключится на стадию монтирования файловых систем.
-
Таймауты: В случае, если устройство не появляется вовремя, systemd выдает таймаут и сообщает об ошибке.
Примеры
Вы создали логический том с использованием команды:
sudo lvcreate -L 925G -T vgsata/lvvm
Затем вы попытались смонтировать том в fstab с записью:
dev/mapper/vgsata-lvvm /VM ext4 defaults 0 2
Это привело к проблемам с загрузкой, так как система не успела вовремя инициализировать логический том, вызывая ошибку "Timed out waiting for device".
Применение
-
Использование
initramfs
: Убедитесь, что ваши настройки initramfs включают поддержку LVM и, в частности, тонких томов. Это обеспечит их раннюю подготовку на этапе загрузки. -
Настройка systemd: Создайте unit-файлы для systemd, которые будут обрабатывать монтирование LVM томов. Это решение более гибкое, поскольку позволяет задавать зависимости, обеспечивающие правильный порядок инициализации служб и файловых систем. Например:
Создайте файл
/etc/systemd/system/VM.mount
:[Unit] Description=Mount LVM at /VM Requires=dev-mapper-vgsata-lvvm.device After=dev-mapper-vgsata-lvvm.device [Mount] What=/dev/mapper/vgsata-lvvm Where=/VM Type=ext4 Options=defaults [Install] WantedBy=multi-user.target
-
Использование механизма
auto-mount
: Иногда проблема решается использованием опцииnoauto
в fstab и последующей автоматизации монтирования через systemd или отдельные скрипты. -
Проверка конфигурации LVM: Убедитесь, что конфигурация LVM корректна и том действительно существует в системе. Используйте команды
lvdisplay
,vgdisplay
,lvs
иvgs
для диагностики. -
Журнал systemd: Используйте
journalctl -xe
для поиска дополнительных подсказок относительно неудачных попыток монтирования и обнаружения зависимостей, которые могли быть неправильно настроены.
Заключение
Решение проблемы монтирования LVM тонких томов при загрузке требует интеграции различных компонентов системы. Следуя указанным шагам, вы сможете устранить возникшую проблему либо стабилизировать процесс загрузки. Важно помнить, что при использовании LVM необходимо учитывать все его особенности и ограничений, корректно настраивая взаимодействие с другими системными процессами.