Вопрос или проблема
Я использую Arch Linux и хочу смонтировать два своих диска, /dev/nbd1
и /dev/nbd2
, в одну точку монтирования.
Я создал монтирование в /share/data
и добавил следующее в /etc/fstab
:
/dev/vg_data/volume /share/data ext4 defaults 0 1
Где vg_data
— это группа томов LVM.
Я могу смонтировать его вручную без проблем, используя mount /dev/vg_data/volume /share/data
, но после перезагрузки сервера он загружается в аварийном режиме со следующим выводом:
Что не так?
Я следовал инструкциям отсюда: https://askubuntu.com/questions/7002/how-to-set-up-multiple-hard-drives-as-one-volume
ОБНОВЛЕНИЕ:
Я просто удалил запись из /etc/fstab
и перезагрузил сервер. Как и ожидалось, сервер загрузился нормально, НО /dev/vg_data
больше не существовало?
Я не знаю, что происходит.
ОБНОВЛЕНИЕ 2:
Вот что я сделал (скопировано из ссылки):
Я начал с диска, на котором не было ничего, что мне нужно было бы сохранить.
Сначала необходимо создать раздел как Linux LVM. Вы можете использовать fdisk
для этого. Вы можете увидеть все диски, которые видит Ubuntu, и как они перечислены, запустив: sudo fdisk -l
.
Первая строка в каждом разделе должна дать вам достаточно информации для идентификации вашего диска. Она будет выглядеть как:
Disk /dev/sda: 500.1 GB, 500107862016 bytes
Важная часть это /dev/sda
. Теперь запустите: sudo fdisk /dev/sda
. Вы увидите:
Команда (m для помощи):
Введите p, чтобы перечислить разделы на вашем диске. Вам нужно удалить разделы, которые вы хотите сделать частью LVM. Так что введите d, чтобы удалить. Если на диске только один раздел, он удалит его (ну, пометит для удаления, это не произойдет, пока мы не скажем ему сделать это). В противном случае, я думаю (у меня был только один), программа запросит номер того, который вы хотите удалить.
Теперь вам нужно создать новый раздел. Введите n
для нового. Он спрашивает, основной или расширенный. Введите p
для основного. Он спрашивает номер раздела, введите 1
. Для первого и последнего цилиндра оставьте их пустыми, чтобы использовать значения по умолчанию.
Теперь вам нужно установить его как Linux LVM. Введите t
. Он попросит шестнадцатеричный код, используйте 8e
для Linux LVM. Вы должны увидеть что-то вроде:
Changed system type of partition 1 to 8e (Linux LVM)
Наконец, введите w
, чтобы записать изменения на диск.
-
Теперь нам нужно установить LVM, поэтому выполните
sudo apt-get install lvm2
для его установки. -
Честно говоря, я не уверен, что делает этот шаг, но в других инструкциях сказано выполнить
modprobe dm-mod
для загрузки модуля LVM. Я не получил никаких ошибок, поэтому думаю, что это сработало. -
Нам нужно отредактировать файл
/etc/modules
, чтобы этот модуль загружался при загрузке. Сделайтеsudo nano /etc/modules
, чтобы открыть его для редактирования. Добавьтеdm-mod
в список элементов. -
Мы также хотим отредактировать конфигурацию lvm, чтобы обновить фильтр, чтобы она не занимала много времени на сканирование (думаю, поэтому). Так что выполните
sudo nano -w /etc/lvm/lvm.conf
и измените строку с:
filter = [ "a/.*/" ]
на:
filter = [ "a|/dev/hd[ab]|", "r/.*/" ]
-
Теперь нам нужно установить первый LVM. Выполните
sudo vgscan
. Вы должны увидеть что-то вроде:Чтение всех физических томов. Это может занять некоторое время…
Не найдено групп томов
На случай, если уже настроены какие-либо группы томов, выполните sudo vgchange -a y
, чтобы сделать их доступными.
- Теперь выполните
sudo pvcreate /dev/sda1
, чтобы настроить раздел. - Теперь выполните
sudo vgcreate media /dev/sda1
, заменив media на имя, которым вы хотите его назвать. - Теперь выполните
sudo lvcreate -l100%FREE -nvolume media
, заменивvolume
именем, которым вы хотите его назвать. Это использует все доступное свободное пространство в разделе. - Теперь нам нужно отформатировать том, поэтому для ext4 выполните
sudo mke2fs -t ext4 /dev/media/volume
. - Создайте каталог, в который вы хотите смонтировать том. Я выполнил
sudo mkdir /mnt/media
. - Смонтируйте том, выполнив
sudo mount /dev/media/volume /mnt/media
. Теперь это только для этой сессии. При перезагрузке он не будет автоматически перемонтирован. Чтобы это произошло, нам нужно отредактировать файл/etc/fstab
. Чтобы это сделать, добавьтеsudo nano /etc/fstab
и добавьте строку:
/dev/media/volume /mnt/media ext4 defaults 0 1
На этом этапе вы могли бы начать добавлять файлы на диск, чтобы если вам нужно очистить другие диски, которые вы хотите добавить, вы могли бы скопировать их сюда.
Добавление другого диска в ваш том
-
Выполните шаги из первого пункта снова, но для нового диска.
Теперь, если имя диска/dev/sdb1
, выполнитеsudo vgextend media /dev/sdb1
, чтобы добавить его в том. -
Теперь нам нужно размонтировать том. Чтобы это сделать, выполните sudo umount /dev/media/volume.
-
Теперь вы можете увидеть статистику вашего тома, запустив
sudo vgdisplay
. Важная часть этоFree PE / Size
. Вам нужно знать, сколько места вы можете добавить в том для следующего шага. -
Таким образом, если у вас было бы 150 ГБ свободного места, вы бы выполнили
sudo lvextend -L+150G /dev/media/volume
. -
Теперь выполните
sudo e2fsck -f /dev/media/volume
, чтобы проверить файловую систему. -
Теперь выполните
sudo resize2fs /dev/media/volume
, чтобы изменить размер всего. -
Вы можете снова запустить статистику и убедиться, что
Free PE / Size
уменьшилось до ожидаемого значения. -
Перемонтируйте том, выполнив
sudo mount /dev/media/volume /mnt/media
-
Повторяйте для любых других дисков.
Ответ или решение
Чтобы решить проблему монтирования LVM-устройства на Arch Linux, необходимо учитывать несколько моментов, включая правильную настройку LVM и корректное обновление конфигураций загрузки. Давайте подробно разберёмся в теории, приведём примеры и рассмотрим, как применить их на практике.
Теория
Logical Volume Manager (LVM) представляет собой метод агрегирования нескольких физических дисков в один или несколько логических томов, которые могут быть легко управляемыми по сравнению с традиционными разделами. Основными компонентами LVM являются физические тома (Physical Volumes, PV), группы томов (Volume Groups, VG) и логические тома (Logical Volumes, LV). Преимущества LVM включают в себя простоту расширения хранения и возможность создавать снимки данных.
Ваша задача заключается в монтировании двух дисков, используя LVM, что позволит объединить их в один логический объем, который можно представить операционной системе как единое устройство.
Пример
Вы следовали руководству, которое предполагало создание LVM, но после изменения /etc/fstab
система загружается в аварийном режиме из-за ошибки монтирования. Это может быть связано с несколькими причинами: неправильная конфигурация LVM, ошибка в записи в /etc/fstab
, или модули LVM не загружены на момент монтирования.
На основе вашей проблемы давайте рассмотрим, как должны быть настроены и смонтированы LVM-технологии в Arch Linux:
-
Настройка LVM:
- Убедитесь, что все необходимые модули загружены и конфигурационные файлы корректны.
- Используйте команду
vgscan
для сканирования групп томов и командуvgchange -a y
для их активации.
-
Правильная запись в
/etc/fstab
:- Запись в
/etc/fstab
для автомонтирования LV должна быть корректна. Убедитесь, что синтаксическая ошибка отсутствует и что все указано правильно, например:/dev/vg_data/volume /share/data ext4 defaults 0 1
- Запись в
-
Обработка ошибок монтирования:
- Когда система переходит в аварийный режим, ошибка может указывать на то, что система не может найти обои запуска LVM в момент монтирования. Проверьте, загружаются ли на старте необходимые модули с помощью
/etc/modules-load.d/
.
- Когда система переходит в аварийный режим, ошибка может указывать на то, что система не может найти обои запуска LVM в момент монтирования. Проверьте, загружаются ли на старте необходимые модули с помощью
Применение
-
Проверка и модификация конфигурации LVM:
- Используйте команды
vgscan
иlvscan
для проверки существующих групп и логических томов. Если они не активны, запуститеvgchange -a y
. - Проверьте и, если необходимо, создайте заново LVM, следуя шагам:
sudo pvcreate /dev/nbd1 /dev/nbd2 sudo vgcreate vg_data /dev/nbd1 /dev/nbd2 sudo lvcreate -l 100%FREE -n volume vg_data sudo mkfs.ext4 /dev/vg_data/volume
- Используйте команды
-
Корректная запись в
/etc/fstab
:- Обязательно создайте резервную копию вашего текущего
/etc/fstab
. Затем проверьте на наличие возможных ошибок и добавьте запись заново, уделяя внимание точности. - Примените:
echo '/dev/vg_data/volume /share/data ext4 defaults 0 1' | sudo tee -a /etc/fstab
- Обязательно создайте резервную копию вашего текущего
-
Проверка и тестирование монтирования:
- Проведите тестовое монтирование перед перезагрузкой, чтобы убедиться, что том монтируется правильно:
sudo mount /dev/vg_data/volume /share/data
- Выполните команду
mount
без аргументов для проверки того, монтируется ли том корректно.
- Проведите тестовое монтирование перед перезагрузкой, чтобы убедиться, что том монтируется правильно:
-
Обновление Grub и initramfs:
- Иногда необходимо обновить загрузочную конфигурацию или initramfs, чтобы гарантировать правильную загрузку модулей:
sudo mkinitcpio -P sudo grub-mkconfig -o /boot/grub/grub.cfg
- Иногда необходимо обновить загрузочную конфигурацию или initramfs, чтобы гарантировать правильную загрузку модулей:
Заключение
Использование LVM на Arch Linux требует внимательной настройки и тестирования, чтобы избежать проблем при загрузке. Убедитесь, что все ваши модули и скрипты инициализации правильно настроены, а конфигурации — корректны. Это обеспечит стабильную работу системы и доступ к данным после перезагрузки. Если возникают сложности, также можно просмотреть журналы загрузки через journalctl -xb
для более детальной отладки.