LINUX.ORG.RU

Не запускается LVM в Gentoo

 , ,


0

2

Вчера достал старый компик и решил сделать из него сервачок. Поставил Gentoo, всё настроил. Решил поставить LVM, чтобы объединить несколько дисков в один логический.

В результате, если запустить /etc/init.d/lvm вручную, и сделать mount /dev/vg/test /root/test, то LVM-раздел примонтируется.

Теперь хочу добиться примонтирования при автозагрузке, для этого прописываю монтирование в /etc/fstab, выполняю: rc-update add lvm boot

Перезагружаю, и в результате lvm не стартует, диски не монтируются.

Вот выдача rc-config:

# rc-config show --all
Status of init scripts in runlevel «boot»
  bootmisc                  [started]
  fsck                      [started]
  hostname                  [started]
  hwclock                   [started]
  keymaps                   [started]
  localmount                [started]
  lvm                       [stopped]
  metalog                   [stopped]
  modules                   [started]
  mtab                      [started]
  net.lo                    [started]
  procfs                    [started]
  root                      [started]
  swap                      [started]
  swapfiles                 [started]
  sysctl                    [started]
  termencoding              [started]
  tmpfiles.setup            [started]
  urandom                   [started]
Status of init scripts in runlevel «default»
  local                     [started]
  net.eth0                  [started]
  netmount                  [started]
  ntp-client                [started]
  sshd                      [started]
  udev-postmount            [started]
Status of init scripts in runlevel «shutdown»
  killprocs                 [stopped]
  mount-ro                  [stopped]
  savecache                 [stopped]
Status of init scripts in runlevel «sysinit»
  devfs                     [started]
  dmesg                     [started]
  sysfs                     [started]
  udev                      [started]
  udev-mount                [started]

Смотрю в /var/log/rc.log, вижу там фигу: про lvm ни одной записи.

Перенос lvm из boot в default тоже не приводит к запуску.

Корень я не хочу туда помещать, там будет только один обособленный раздельчик для качания/раздачи торрентов и файлопомойки. Ну, может, /usr и /var перенесу туда, но это потом. Сейчас я хочу добиться монтирования при автозагрузке.

Придумал костыль: сделать скрпит /etc/local.d/lvm.start со строчкой /etc/init.d/lvm start, но это реальный костыль!

Так вот, вопрос, как всё-таки добиться запуска LVM при автозагрузке?



Последнее исправление: malphunction (всего исправлений: 1)

Ответ на: комментарий от kostik87

Модуль вкомпилирован в ядро:

# grep CONFIG_MD /usr/src/linux/.config
CONFIG_MD=y
malphunction
() автор топика
Ответ на: комментарий от qnikst

Какие именно логи? Повключал всё, что знаю, там ничего про LVM не пишется :( Подскажите, что включить, чтобы записывалось!

Ну вот /var/log/rc.log. Там единственное сообщение по теме «mount: special device /dev/vg/test does not exist», это как раз LVM-точка монтирования, прописанная в /etc/fstab. Значит, LVM не запускается до mount.

rc boot logging started at Fri Nov 23 21:15:22 2012

 * Setting system clock using the hardware clock [Local Time] ...
 [ ok ]
 * Autoloaded 0 module(s)
 * Checking local filesystems  ...
/sbin/fsck.xfs: XFS file system.
/sbin/fsck.xfs: XFS file system.
/sbin/fsck.xfs: XFS file system.
/dev/sda1: clean, 278/8192 files, 14136/32768 blocks
 [ ok ]
 * Remounting root filesystem read/write ...
 [ ok ]
 * Remounting filesystems ...
 [ ok ]
 * Updating /etc/mtab ...
 [ ok ]
 * Mounting local filesystems ...
mount: special device /dev/vg/test does not exist
 * Some local filesystem failed to mount
 [ !! ]
 * Configuring kernel parameters ...
 [ ok ]
 * Creating user login records ...
 [ ok ]
 * Cleaning /var/run ...
 [ ok ]
 * Wiping /tmp directory ...
 [ ok ]
 * Setting hostname to gungnir ...
 [ ok ]
 * Setting terminal encoding [UTF-8] ...
 [ ok ]
 * Setting keyboard mode [UTF-8] ...
 [ ok ]
 * Loading key mappings [us] ...
 [ ok ]
 * Bringing up interface lo
 *   127.0.0.1/8 ...
 [ ok ]
 *   Adding routes
 *     127.0.0.0/8 via 127.0.0.1 ...
 [ ok ]
 * Activating swap devices ...
 [ ok ]
 * Activating additional swap space ...
 [ ok ]
 * setting up tmpfiles.d entries ...
 [ ok ]
 * Initializing random number generator ...
 [ ok ]

rc boot logging stopped at Fri Nov 23 10:15:25 2012


rc default logging started at Fri Nov 23 10:15:26 2012

 * Bringing up interface eth0
 *   dhcp ...
 *     Running dhcpcd ...
dhcpcd[1460]: version 5.6.2 starting
dhcpcd[1460]: eth0: sending IPv6 Router Solicitation
dhcpcd[1460]: eth0: sendmsg: Cannot assign requested address
dhcpcd[1460]: eth0: rebinding lease of 192.168.10.34
dhcpcd[1460]: eth0: acknowledged 192.168.10.34 from 192.168.10.1
dhcpcd[1460]: eth0: checking for 192.168.10.34
dhcpcd[1460]: eth0: sending IPv6 Router Solicitation
dhcpcd[1460]: eth0: leased 192.168.10.34 for 86400 seconds
dhcpcd[1460]: forked to background, child pid 1501
 [ ok ]
 *     received address 192.168.10.34/24
 [ ok ]
 * Mounting network filesystems ...
 [ ok ]
 * Setting clock via the NTP client 'ntpdate' ...
 [ ok ]
 * Starting sshd ...
 [ ok ]
 * Doing udev cleanups
 * Starting local
 [ ok ]

rc default logging stopped at Fri Nov 23 10:15:42 2012

dmesg можно посмотреть тут: http://zalil.ru/33991848

lvm2.log, который образуется, если самостоятельно запустить /etc/init.d/lvm start, вот тут: http://zalil.ru/33991849

malphunction
() автор топика
$ grep -i lvm /etc/genkernel.conf 
# Add in LVM support from static binaries if they exist on the system, or
# compile static LVM binaries if static ones do not exist.
LVM="yes"
LVM_VER="2.02.88"
LVM_DIR="LVM2.${LVM_VER}"
LVM_SRCTAR="${DISTDIR}/LVM2.${LVM_VER}.tgz"
LVM_BINCACHE="%%CACHE%%/LVM2.${LVM_VER}-%%ARCH%%.tar.bz2"

не?

Ну и:

$ grep -i lvm /boot/grub/grub.conf
kernel /kernel-genkernel-x86_64-3.5.7-gentoo init=/linuxrc root=/dev/ram0 lvm2root=/dev/vgs/gentoo64-root real_root=/dev/vgs/gentoo64-root rootfstype=ext4 dolvm vga=0x31b quiet splash=verbose,theme:livecd-2007.0 console=tty1 pcie_aspm=off
kernel /kernel-genkernel-x86_64-3.4.9-gentoo init=/linuxrc root=/dev/ram0 lvm2root=/dev/vgs/gentoo64-root real_root=/dev/vgs/gentoo64-root rootfstype=ext4 dolvm vga=0x31b quiet splash=verbose,theme:livecd-2007.0 console=tty1 pcie_aspm=off
kernel /kernel-genkernel-x86_64-3.3.8-gentoo init=/linuxrc root=/dev/ram0 lvm2root=/dev/vgs/gentoo64-root real_root=/dev/vgs/gentoo64-root rootfstype=ext4 dolvm vga=0x31b quiet splash=verbose,theme:livecd-2007.0 console=tty1 pcie_aspm=off

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

У меня не genkernel, сам ядро настраиваю. Но, видимо, пора чудо genkernel'а попробовать :)

Далее, в загрузчике стоит dolvm — я тоже вкрутил, не помогло

Потом ещё вижу init=/linuxrc — но это ж когда вся система в LVM, а я в такие дебри залезать не хочу, максимум, /var закинуть. Или даже для простых случаев нужен initrc?

Ну и по теме, есть ли какие-то утилиты, чтобы посмотреть, как openrc зависимости разрешает? Почему он игнорирует lvm?? И как сделать, чтобы он хотя бы в лог выводил свои решения?

malphunction
() автор топика
Ответ на: комментарий от malphunction

Ну и по теме, есть ли какие-то утилиты, чтобы посмотреть, как openrc зависимости разрешает? Почему он игнорирует lvm?? И как сделать, чтобы он хотя бы в лог выводил свои решения?

Покажите секцию depend из сценария /etc/init.d/localmount

depend()
{
        need fsck
        use lvm modules mtab
        after lvm modules
        keyword -jail -openvz -prefix -vserver -lxc
}

Далее, в загрузчике стоит dolvm — я тоже вкрутил, не помогло

dolvm - это параметр не ядра, а init сценария initramfs, который генерирует genkernel, если вы используете другой initramfs то смотрите как там задействуется lvm.

В любом случае LVM должен нормально подниматься и стартовым сценарием после смены в корня.

Потом ещё вижу init=/linuxrc — но это ж когда вся система в LVM, а я в такие дебри залезать не хочу, максимум, /var закинуть. Или даже для простых случаев нужен initrc?

Это просто переопределение имена сценария init, здесь указано вместо стандартного /init или /sbin/init вызывать /linuxrc, к LVM это ни какого отношения не имеет.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Попробовал перебилдить систему с помощью emerge -e world, и всё заработало!!

Всем спасибо :)

malphunction
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.