Evms inside initrd

Материал из ALT Linux Wiki
48px-Mail-mark-junk red.svg.png
Эта статья конкретно протухла.
Статья уже не подходит под современные реалии, под современные версии Альта или сломана совсем. Возможно, её уже не доработать и не поместить в архив.


Поднятие evms из initrd

Настройка

Делал по мотивам письма lakostis@ [d-kernel] Re: Ситуация с поддержкой evms* в ALTLinux. Дерево для initrd генерил руками (на основании заготовки полученной спомощью mkinitrd).

Для моей конкретной системы (MaxSelect A3 с kernel-2.6.16-std26-smp-alt9.x86_64) делал следующие:

  1. Втащил в дерево initrd evms_activate/bin) и потребные для неё библиотеки (
    список скорее всего избыточен: оптимизацией ещё не занимался.
    ):
$ sudo -H ls -Rl initrd.evms/tree/lib
initrd.evms/tree/lib:
итого 1845

drwxr-xr-x 3 root root      72 Авг 22 12:52 evms
-rwxr-xr-x 1 root root  111034 Май 26 18:12 ld-2.3.6.so
lrwxrwxrwx 1 root root      11 Авг 22 13:30 ld-linux-x86-64.so.2 -> ld-2.3.6.so
-rwxr-xr-x 1 root root 1188440 Май 26 18:12 libc-2.3.6.so
lrwxrwxrwx 1 root root      13 Авг 22 13:30 libc.so.6 -> libc-2.3.6.so
-rw-r--r-- 1 root root   10368 Май 26 18:14 libdl-2.3.6.so
lrwxrwxrwx 1 root root      14 Авг 22 13:30 libdl.so.2 -> libdl-2.3.6.so
lrwxrwxrwx 1 root root      18 Авг 22 13:30 libevms-2.5.so.0 -> libevms-2.5.so.0.5
-rw-r--r-- 1 root root  454000 Авг  6 21:37 libevms-2.5.so.0.5
lrwxrwxrwx 1 root root      18 Авг 22 13:30 libevms.so -> libevms-2.5.so.0.5
-rw-r--r-- 1 root root  101260 Май 26 18:14 libpthread-0.10.so
lrwxrwxrwx 1 root root      18 Авг 22 13:30 libpthread.so.0 -> libpthread-0.10.so
lrwxrwxrwx 1 root root      14 Авг 22 13:30 libuuid.so.1 -> libuuid.so.1.2
-rw-r--r-- 1 root root   10696 Июн  6 13:03 libuuid.so.1.2
drwxr-xr-x 3 root root      88 Авг 22 12:10 modules

initrd.evms/tree/lib/evms:
итого 0
drwxr-xr-x 2 root root 328 Авг 22 12:54 2.5.5

initrd.evms/tree/lib/evms/2.5.5:
итого 732
-rw-r--r-- 1 root root  41456 Авг  6 21:37 bbr-1.1.15.so
-rw-r--r-- 1 root root  42096 Авг  6 21:37 bbr_seg-1.1.13.so
-rw-r--r-- 1 root root  45848 Авг  6 21:37 disk-1.2.13.so
-rw-r--r-- 1 root root 167984 Авг  6 21:37 dos-1.1.16.so
-rw-r--r-- 1 root root  60368 Авг  6 21:37 drivelink-3.0.6.so
-rw-r--r-- 1 root root 158856 Авг  6 21:37 lvm-1.1.15.so
-rw-r--r-- 1 root root 163688 Авг  6 21:37 lvm2-1.0.5.so
-rw-r--r-- 1 root root  52552 Авг  6 21:37 snapshot-3.1.11.so

...
  1. Создал ссылку lib64 -> lib (для упрощения, возможно не прав).
  2. Добавил модуль dm-mod.ko.
  3. Создал каталоги /dev/evms и /var/lock, для монтирования в них tmpfs.
  4. В linuxrc добавлены:
    • загрузка dm-mod.ko;
    • монтирование tmpfs
/bin/mount -t tmpfs -o size=64k evms /dev/evms
/bin/mount -t tmpfs -o size=64k tmpfs /var/lock
    • вызов evms_activate
    • отмонтирование /dev/evms и /var/lock

Если всё сделано правельно — evms тома поднимаются в initrd.

Проверка

Теперь, если отмантирование /dev/evms в linuxrc не делать и /initrd существует — можно наблюдать evms тома, поднятые при загрузке ядра. (Будут видны в /initrd/dev/evms/.)

Ссылки