Inicializando a partir de um volume em cache do lvm

4

Eu criei um pool de cache após este artigo . O processo parece ser bem sucedido.

Depois de fazer um upgrade-grub e reiniciar, o Grub reclama que não consegue encontrar o volume raiz (mostrando um UUID). - Meu mal, mas não me lembro se esse era o id do volume original ou do cache.

A pergunta: há um artigo detalhando as tarefas para usar o volume em cache como raiz?

    
por vbence 11.12.2014 / 10:38

2 respostas

3

O seguinte tópico do Fórum Debian e post de blog com base nela tem as informações que faltam.

Esboço

-1) Faça backup de sua configuração do LVM e tenha um CD pronto.

0) Certifique-se de ter uma partição /boot separada (sua raiz armazenada em cache só estará disponível mais tarde). Isso pode ser uma partição de 200MB e pode fazer parte do mesmo VG que sua raiz em cache.

1) Você precisa do dm-cache em sua imagem do kernel (ao invés de módulo). verifique sua configuração e verifique se você tem CONFIG_DM_CACHE=y . Se for um módulo (= m), você precisará recompilar um kernel onde esteja definido como y . É provavelmente uma boa idéia usar o menuconfig e definir essa opção a partir de lá (isso fará com que a cadeia de dependências do dm-cache também seja =y ).

    Device Drivers  --->

    Generic Driver Options  --->

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

2) Instale thin-provisioning-tools (fará como que fsck funções semelhantes no cache no momento da inicialização).

3) Crie um arquivo em /etc/initramfs-tools/hooks com o seguinte conteúdo. Isso fará com que o executável da etapa 2 e algumas dependências estejam dentro da imagem do seu disco de inicialização.

#!/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) Execute update-initramfs -u -k all para gerar novamente todas as suas imagens initrd.

    
por 12.08.2015 / 18:22
1

Ao usar a resposta do vbence, também faça o arquivo / etc / initramfs / hooks / a partir do executável do passo 3. Caso contrário, não será executado por update-initramfs

    
por 15.07.2018 / 22:31