Evms inside initrd: различия между версиями
(Import from freesource.info) |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
[[ | [[Категория:Admin]] | ||
{{ | {{crap}} | ||
== Поднятие evms из initrd == | == Поднятие evms из initrd == | ||
Строка 8: | Строка 8: | ||
Делал по мотивам письма lakostis@ [http://lists.altlinux.org/pipermail/devel-kernel/2005-October/005819.html [d-kernel] Re: Ситуация с поддержкой evms* в ALTLinux]. Дерево для <tt>initrd</tt> генерил руками (на основании заготовки полученной спомощью <tt>mkinitrd</tt>). | Делал по мотивам письма lakostis@ [http://lists.altlinux.org/pipermail/devel-kernel/2005-October/005819.html [d-kernel] Re: Ситуация с поддержкой evms* в ALTLinux]. Дерево для <tt>initrd</tt> генерил руками (на основании заготовки полученной спомощью <tt>mkinitrd</tt>). | ||
Для моей конкретной системы (MaxSelect | Для моей конкретной системы (MaxSelect A3 с kernel-2.6.16-std26-smp-alt9.x86_64) делал следующие: | ||
# Втащил в дерево <tt>initrd</tt> <tt>evms_activate</tt> (в <tt>/bin</tt>) и потребные для неё библиотеки (<div style="display: inline; color: red;">список скорее всего избыточен: оптимизацией ещё не занимался.</div>): | # Втащил в дерево <tt>initrd</tt> <tt>evms_activate</tt> (в <tt>/bin</tt>) и потребные для неё библиотеки (<div style="display: inline; color: red;">список скорее всего избыточен: оптимизацией ещё не занимался.</div>): | ||
Строка 48: | Строка 48: | ||
...</pre> | ...</pre> | ||
# | # Создал ссылку <tt>lib64 -> lib</tt> (для упрощения, возможно не прав). | ||
# Добавил модуль <tt>dm-mod.ko</tt>. | # Добавил модуль <tt>dm-mod.ko</tt>. | ||
# Создал каталоги <tt>/dev/evms</tt> и <tt>/var/lock</tt>, для монтирования в них <tt>tmpfs</tt>. | # Создал каталоги <tt>/dev/evms</tt> и <tt>/var/lock</tt>, для монтирования в них <tt>tmpfs</tt>. | ||
Строка 60: | Строка 60: | ||
** отмонтирование <tt>/dev/evms</tt> и <tt>/var/lock</tt> | ** отмонтирование <tt>/dev/evms</tt> и <tt>/var/lock</tt> | ||
Если всё сделано | Если всё сделано правельно — evms тома поднимаются в <tt>initrd</tt>. | ||
=== Проверка === | === Проверка === | ||
Теперь, если отмантирование <tt>/dev/evms</tt> в <tt>linuxrc</tt> не делать и <tt>/initrd</tt> | Теперь, если отмантирование <tt>/dev/evms</tt> в <tt>linuxrc</tt> не делать и <tt>/initrd</tt> существует — можно наблюдать evms тома, поднятые при загрузке ядра. (Будут видны в <tt>/initrd/dev/evms/</tt>.) | ||
==== Ссылки ==== | ==== Ссылки ==== |
Версия от 21:28, 30 июля 2008
Поднятие evms из initrd
Настройка
Делал по мотивам письма lakostis@ [d-kernel Re: Ситуация с поддержкой evms* в ALTLinux]. Дерево для initrd генерил руками (на основании заготовки полученной спомощью mkinitrd).
Для моей конкретной системы (MaxSelect A3 с kernel-2.6.16-std26-smp-alt9.x86_64) делал следующие:
- Втащил в дерево 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 ...
- Создал ссылку lib64 -> lib (для упрощения, возможно не прав).
- Добавил модуль dm-mod.ko.
- Создал каталоги /dev/evms и /var/lock, для монтирования в них tmpfs.
- В 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/.)
Ссылки
* [d-kernel Re: Ситуация с поддержкой evms* в ALTLinux] * altbug:9958 -- содержит patch на mkinitrd