시스템 재부팅 후 LVM 캐시가 지속되도록 만들 수 없습니다.

시스템 재부팅 후 LVM 캐시가 지속되도록 만들 수 없습니다.

MDADM RAID1 설정 위에 LVM 논리 볼륨이 있습니다. 다음을 통해 SSD 장치를 이 논리 볼륨에 캐시로 추가하려고 합니다.

vgextend dataVG /dev/sdd
lvcreate --type cache --cachemode writethrough -L 120G -n dataLV_cachepool dataVG/dataLV /dev/sdd

시스템을 재부팅하기 전까지는 모든 것이 괜찮은 것 같습니다. 재부팅 후 시작에 실패하고 복구 모드(Ubuntu)가 표시됩니다.

부팅 프로세스 중에 다음 오류가 표시됩니다.

lvm[740]:   dataVG: autoactivation failed.
systemd[1]: lvm2-pvscan@9:2.service: Main process exited, code=exited, status=5/NOTINSTALLED
systemd[1]: lvm2-pvscan@9:2.service: Failed with result 'exit-code'.
systemd[1]: Failed to start LVM2 PV scan on device 9:2.
lvm[774]:   /usr/sbin/cache_check: execvp failed: No such file or directory
lvm[774]:   Check of pool dataVG/dataLV_cachepool failed (status:2). Manual repair required!
lvm[774]:   0 logical volume(s) in volume group "dataVG" now active
lvm[774]:   dataVG: autoactivation failed.
systemd[1]: Started File System Check on /dev/mapper/BACKUPVG-mainbackup.
systemd[1]: lvm2-pvscan@8:16.service: Main process exited, code=exited, status=5/NOTINSTALLED
systemd[1]: lvm2-pvscan@8:16.service: Failed with result 'exit-code'.
systemd[1]: Failed to start LVM2 PV scan on device 8:16.
systemd[1]: Mounting /mnt/mainbackup...
systemd[1]: Mounted /mnt/mainbackup.
kernel: EXT4-fs (dm-1): mounted filesystem with ordered data mode. Opts: (null)
systemd[1]: dev-mapper-dataVG\x2dataLV.device: Job dev-mapper-dataVG\x2dataLV.device/start timed out.
systemd[1]: Timed out waiting for device dev-mapper-dataVG\x2dataLV.device.
systemd[1]: Dependency failed for /mnt/dataLV.
systemd[1]: Dependency failed for Local File Systems.
systemd[1]: local-fs.target: Job local-fs.target/start failed with result 'dependency'.
systemd[1]: local-fs.target: Triggering OnFailure= dependencies.
systemd[1]: mnt-dataLV.mount: Job mnt-dataLV.mount/start failed with result 'dependency'.
systemd[1]: Dependency failed for File System Check on /dev/mapper/dataVG-dataLV.
systemd[1]: systemd-fsck@dev-mapper-dataVG\x2dataLV.service: Job systemd-fsck@dev-mapper-dataVG\x2dataLV.service/start failed with resu
systemd[1]: dev-mapper-dataVG\x2dataLV.device: Job dev-mapper-dataVG\x2dataLV.device/start failed with result 'timeout'.

VG에서 캐시된 드라이브를 제거하는 경우에만 작동합니다.

lvconvert --uncache dataVG/dataLV

이 문제에 어떻게 접근해야 할지 잘 모르겠습니다...

LVM 버전:

LVM version:     2.02.176(2) (2017-11-03)
Library version: 1.02.145 (2017-11-03)

답변1

Debian 8에서도 동일한 문제가 발생했습니다. 해결 방법은 두 단계로 구성됩니다.

첫째, 부팅 중에 필요한 모듈이 로드되지 않기 때문에 시스템은 캐시된 LV에 대해 비활성 상태 LVM을 사용하여 부팅됩니다.

수동으로 활성화하려고 하면 오류가 발생합니다.

vgchange -a y vg0/home_cache
   /usr/sbin/cache_check: execvp failed: No such file or directory
   Check of pool vg0/home_cache failed (status:2). Manual repair required!

실제로 /usr/sbin/cache_check 명령은 존재하지 않습니다. 다음을 설치하여 문제를 해결하세요.

apt-get install thin-provisioning-tools

둘째, LVM 캐시 볼륨이 활성화되지 않는 문제를 해결합니다. initramfs 부팅 이미지에는 몇 가지 모듈이 있어야 합니다. 포함을 위해 강제 모듈에 추가하십시오.

sudo echo "dm_cache" >> /etc/initramfs-tools/modules
sudo echo "dm_cache_mq" >> /etc/initramfs-tools/modules
sudo echo "dm_persistent_data" >> /etc/initramfs-tools/modules
sudo echo "dm_bufio" >> /etc/initramfs-tools/modules

그런 다음 다음을 수행하십시오.

update-initramfs -k `uname -r` -u -t

마지막으로 다음을 통해 자신을 보호하십시오.

update-grub

모든 것을 두 번 확인하고 마지막으로 재부팅하십시오.

답변2

초기화 램디스크에 캐시 커널 모듈(dm-cache)과 /usr/sbin/cache_* 도구가 필요하다고 생각합니다. 페도라에서는 데비안(및 우분투) initramfs-tools 패키지의 dracut에 의해 처리됩니다.

관련 정보