Evms inside initrd: различия между версиями

Материал из ALT Linux Wiki
м (Замена <tt> на <code>)
м (Форматирование блоков кода)
Строка 11: Строка 11:


# Втащил в дерево <code>initrd</code> <code>evms_activate</code> (в <code>/bin</code>) и потребные для неё библиотеки (<div style="display: inline; color: red;">список скорее всего избыточен: оптимизацией ещё не занимался.</div>):
# Втащил в дерево <code>initrd</code> <code>evms_activate</code> (в <code>/bin</code>) и потребные для неё библиотеки (<div style="display: inline; color: red;">список скорее всего избыточен: оптимизацией ещё не занимался.</div>):
  <pre>$ sudo -H ls -Rl initrd.evms/tree/lib
  $ sudo -H ls -Rl initrd.evms/tree/lib
initrd.evms/tree/lib:
initrd.evms/tree/lib:
итого 1845
итого 1845
 
drwxr-xr-x 3 root root      72 Авг 22 12:52 evms
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
-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
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
-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
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
-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      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
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
-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
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
-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      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
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
-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
drwxr-xr-x 3 root root      88 Авг 22 12:10 modules
 
initrd.evms/tree/lib/evms:
initrd.evms/tree/lib/evms:
итого 0
итого 0
drwxr-xr-x 2 root root 328 Авг 22 12:54 2.5.5
drwxr-xr-x 2 root root 328 Авг 22 12:54 2.5.5
 
initrd.evms/tree/lib/evms/2.5.5:
initrd.evms/tree/lib/evms/2.5.5:
итого 732
итого 732
-rw-r--r-- 1 root root  41456 Авг  6 21:37 bbr-1.1.15.so
-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  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  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 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  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 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 163688 Авг  6 21:37 lvm2-1.0.5.so
-rw-r--r-- 1 root root  52552 Авг  6 21:37 snapshot-3.1.11.so
-rw-r--r-- 1 root root  52552 Авг  6 21:37 snapshot-3.1.11.so
 
...</pre>
...


# Создал ссылку <code>lib64 -> lib</code> (для упрощения, возможно не прав).
# Создал ссылку <code>lib64 -> lib</code> (для упрощения, возможно не прав).
Строка 54: Строка 54:
** загрузка <code>dm-mod.ko</code>;
** загрузка <code>dm-mod.ko</code>;
** монтирование <code>tmpfs</code>
** монтирование <code>tmpfs</code>
  <pre>/bin/mount -t tmpfs -o size=64k evms /dev/evms
  /bin/mount -t tmpfs -o size=64k evms /dev/evms
/bin/mount -t tmpfs -o size=64k tmpfs /var/lock</pre>
/bin/mount -t tmpfs -o size=64k tmpfs /var/lock


** вызов <code>evms_activate</code>
** вызов <code>evms_activate</code>

Версия от 01:13, 12 ноября 2008

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/.)

Ссылки