Начальная загрузка от lvm-кэшируемого объема

Я думаю, что нашел его:

grep  "\+[[:space:]]\+" a.xml
5
11.12.2014, 11:38
2 ответа

В следующей теме форума Debian и сообщении в блоге на ее основе отсутствует информация.

Схема

-1) Сделайте резервную копию конфигурации LVM и приготовьте такой же компакт-диск.

0) Убедитесь, что у вас есть отдельный раздел / boot (ваш кэшированный корень будет доступен только позже). Это может быть раздел размером 200 МБ, который может быть частью того же VG, что и ваш кэшированный корень.

1) Вам нужен dm-cache в образе ядра (вместо модуля). проверьте свою конфигурацию и убедитесь, что у вас CONFIG_DM_CACHE = y . Если это модуль (= m), вам нужно будет перекомпилировать ядро, где он установлен на y . Вероятно, будет хорошей идеей использовать menuconfig и установить эту опцию оттуда (это будет гарантировать, что цепочка зависимостей dm-cache также = y ).

    Device Drivers  --->

    Generic Driver Options  --->

--- Multiple devices driver support (RAID and LVM)
<*>   Device mapper support
<*>     Cache target (EXPERIMENTAL)

2) Установите инструменты тонкого предоставления (будут выполнять функции, подобные fsck , в кэше во время загрузки).

3) Создайте файл в / etc / initramfs-tools / hooks со следующим содержимым. Это гарантирует, что исполняемый файл из шага 2 и некоторые зависимости находятся внутри вашего образа init ramdisk.

#!/bin/sh

PREREQ="lvm2"

prereqs()
{
    echo "$PREREQ"
}

case $1 in
prereqs)
    prereqs
    exit 0
    ;;
esac

if [ ! -x /usr/sbin/cache_check ]; then
    exit 0
fi

. /usr/share/initramfs-tools/hook-functions

copy_exec /usr/sbin/cache_check

manual_add_modules dm_cache dm_cache_mq

4) Запустите update-initramfs -u -k all , чтобы заново сгенерировать все ваши образы initrd.

6
27.01.2020, 20:36

При использовании ответа vbence также сделайте исполняемым файл /etc/initramfs/hooks/ из шага 3. В противном случае он не будет запущенupdate-initramfs

2
27.01.2020, 20:36

Теги

Похожие вопросы