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