Я переустановил сервер Linux с CentOS 6 на 7. Сервер имеет 3 диска - системный SSD-диск (на нем размещено все, кроме /home
) и два 4-ТБ жестких диска на этом хосте /home
. Все использует LVM. Два накопителя емкостью 4 ТБ зеркально отражены (с помощью параметра raid в самом LVM) и полностью заполнены разделом / home.
Проблема в том, что хотя диски 4 ТБ распознаются нормально, и LVM видит объем без проблем, он не активирует его автоматически. Все остальное активируется автоматически. Я могу активировать его вручную, и он работает.
У меня есть образ старого системного диска в / home. Это также содержит тома LVM. Если я подключу его kpartx
, LVM поднимет их и активирует. Но я не вижу разницы между этими томами и неактивными.
Корневая файловая система тоже LVM, и это прекрасно активируется.
Хотя я вижу странную вещь: выполнение lvchange -aay
говорит мне, что мне нужно указать, какие диски я хочу активировать. Это также не делает это автоматически. Если я укажу lvchange -ay lv_home
- это работает.
Я не могу найти ничего, что могло бы быть ответственным за это поведение.
Добавлено: я заметил, что старая система (которая использовала init) была vgchange -aay --sysinit
в своих сценариях запуска. Новый использует systemd, и я не вижу vgchange
вызова в его скриптах. Но я также не знаю, где это поставить.
Добавлено 2: Начинаем разбираться в systemd. Я нашел, где находятся сценарии, и начал понимать, как они называются. Также обнаружил, что я мог видеть выполненные сценарии с systemctl -al
. Это показывает мне, что после запуска lvmetad
он вызывает pvscan
каждое известное блочное устройство udev. Однако на данный момент есть только одно зарегистрированное блочное устройство udev, и это один из распознанных томов lvm. Жесткие диски тоже есть, но под разными путями и гораздо более длинными именами. Распознанное блочное устройство что-то вроде 8:3
, а жесткие диски похожи /device/something/
. Я больше не на сервере, поэтому не могу написать точно (это исправлю позже).
Я думаю, что это как-то связано с udev и обнаружением / отображением устройств. Я продолжу вечером и буду учиться удеву.
Если pvscan
ничего не помогает, я нашел скрипт, который вызывает, и проверил, могу ли я изменить его, чтобы сканировать все устройства все время. Это решает проблему, но выглядит довольно уродливо, поэтому я попытаюсь выяснить истинную причину.
Добавлено 3 : ОК, я до сих пор не знаю, почему это происходит, но, по крайней мере, я сделал довольно сносный обходной путь. Я сделал еще один сервис systemd, который вызывает pvscan
один раз, сразу после запуска lvmetad
. Другой вызов для конкретного устройства все еще там, и я думаю, что это действительно udev
вызывает его (это единственное место, где я нашел ссылку на него). Почему это не называется для других жестких дисков - я понятия не имею.
lvmetad
я не заметил).Ответы:
Я это сделал! Я это сделал! Я исправил это правильно (я думаю).
Вот история:
Через некоторое время сервер оказался неисправным и его пришлось утилизировать. Я сохранил диски и получил все остальное новое. Затем я снова установил CentOS на SSD, а затем подключил жесткие диски. LVM работал хорошо, диски были распознаны, конфигурация сохранена. Но снова возникла та же проблема - после перезагрузки том был неактивен.
Однако на этот раз я заметил кое-что еще - загрузчик передает ядру следующие параметры:
Хм, подожди, те выглядят СЕМЕЙНЫМИ !
Быстрый запрос Google, и вот мы здесь :
Ну теперь. Что объясняет его!
Итак, разрешение было (собрано из нескольких запросов Google):
/etc/defaults/grub
чтобы включить дополнительный объем в параметры:crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap
rd.lvm.lv=vg_home/lv_home
rhgb quiet
grub2-mkconfig -o /boot/grub2/grub.cfg
mkinitrd -f -v /boot/initramfs-3.10.0-327.18.2.el7.x86_64.img 3.10.0-327.18.2.el7.x86_64
. Примечание: ваши значения могут отличаться. Используйте,uname -r
чтобы получить эту версию ядра. Или просто читайте дальшеmkinitrd
. (Честно говоря, я не знаю, зачем нужен этот шаг, но, видимо, это так - я пытался без него, и он не работал)grub2-install /dev/sda
TA-DA! Громкость активна при перезагрузке. Добавьте это
fstab
и наслаждайтесь! :)источник
Незначительное обновление (для RHEL 7 на EFI (не BIOS) ):
Я добился успеха, используя эти шаги:
/etc/defaults/grub
чтобы включить дополнительный объем в параметры:rd.lvm.lv=rhel/home
(в дополнение кrhel/root
иrhel/swap
)Переконфигурируйте grub с
( примечание: другой путь!)
Переконфигурируйте initramfs с помощью
grub2-install /dev/sda
(потому что у меня есть пустой каталог/usr/lib/grub/
)источник
_netdev
флагfstab
, включитьchkconfig netfs on
и даже выключить в только в надежде , что устройства будут повторно опрошены и заняли ...use_lvmetad = 0
lvmetad
/etc/lvm/lvm.conf
У меня тоже была эта проблема. В моем случае это была комбинация iscsi, multipath и lvm и порядок создания сеанса и т. Д. Я решил проблему, добавив вызов
/sbin/vgchange -a y
к/etc/rc.local
.источник
Поэтому я попытался установить rd.lvm.lv = / etc / default / grub, и это не сработало
Мне нужно, чтобы оба логических тома в группе томов ssd_vg были активны при загрузке. А также логический том home_lv на kubuntu-vg должен быть активным
Что сработало, так это отредактировало /etc/lvm/lvm.conf В разделе списка томов поместите это в volume_list = ["ssd_vg", "kubuntu-vg / home_lv"]
результат после перезагрузки
$ sudo lvscan неактивный Оригинал '/ dev / kubuntu-vg / root' [50.00 GiB] наследуется
источник
Со своей стороны, я прокомментировал эту строку в /etc/lvm/lvm.conf
Потому что, если он активен, только том vg00 и vg01 активны при загрузке.
Документация lvm.conf:
источник