LVM 캐시 볼륨에서 부팅

LVM 캐시 볼륨에서 부팅

다음과 같이 캐시 풀을 만들었습니다.이 기사. 그 과정은 성공한 것 같습니다.

Grub 업그레이드를 수행하고 재부팅한 후 Grub은 루트 볼륨을 찾을 수 없다고 불평합니다(UUID 표시). - 안타깝지만 원본 볼륨의 ID인지 캐시된 볼륨의 ID인지 기억이 나지 않습니다.

질문:캐시된 볼륨을 루트로 사용하는 작업을 자세히 설명하는 문서가 있습니까?

답변1

다음과 같은데비안 포럼 주제그리고블로그 게시물이를 바탕으로 누락된 정보가 있습니다.

개요

-1) LVM 구성을 백업하고 유사한 CD를 준비합니다.

0) 별도의 파티션이 있는지 확인하십시오 /boot(캐시 루트는 나중에 사용할 수 있습니다). 이는 200MB 파티션일 수 있으며 캐시 루트와 동일한 VG의 일부일 수 있습니다.

1) 커널 이미지에는 dm-cache(모듈 아님)가 필요합니다. 구성을 확인하고 CONFIG_DM_CACHE=y모듈(=m)인 경우 커널을 다시 컴파일하고 다음으로 설정해야 합니다.와이. menuconfig를 사용하고 거기에서 이 옵션을 설정하는 것이 좋습니다(이렇게 하면 dm-cache의 종속성 체인도 마찬가지로 보장됩니다 =y).

    Device Drivers  --->

    Generic Driver Options  --->

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

2) 설치 thin-provisioning-tools(그렇습니다)FSCK- 시작 캐시와 유사한 기능).

/etc/initramfs-tools/hooks3) 다음 내용으로 파일을 생성합니다. 이렇게 하면 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 이미지를 다시 빌드합니다.

답변2

vbence의 답변을 사용할 때 3단계의 /etc/initramfs/hooks/ 파일도 실행 가능하게 만드세요. 그렇지 않으면 실행되지 않습니다.update-initramfs

관련 정보