루트의 LVM 스냅샷을 임시로 복원

루트의 LVM 스냅샷을 임시로 복원

부팅하는 데 사용할 루트 파일 시스템의 스냅샷이 있습니다. 머신을 며칠 전의 상태로 만들고 몇 가지 테스트를 실행한 다음 지금의 위치로 돌아갑니다.

fstab을 편집하고 스냅샷을 루트로 부팅하도록 설정해 보았지만 아무 일도 일어나지 않는 것 같습니다. 스냅샷이 마운트되었지만 파일 시스템 상태는 변경되지 않았으며 여전히 현재 상태입니다.

편집: 루트를 제외한 다른 파티션은 없습니다. 스냅샷은 RHEL 6.2이고 현재 상태는 RHEL 6.3입니다(따라서 새 커널이 있습니다). 나는 이것에 따라 intrd를 편집했습니다.블로그 게시물이제 부팅 시 LVM이 활성화되지 않은 것으로 나타납니다. Dracut은 상속 및 동결로 인해 모두 비활성화되었다고 기록합니다.

답변1

나는 훌륭하고 간단한 해결책을 찾았습니다(다른 해결책은 어떻게 든 나에게 효과가 없었습니다. 이유는 모르겠습니다). lv_root의 이름을 lv_root_old와 같은 이름으로 바꾼 다음 스냅샷의 이름을 lv_root로 바꿉니다.

 $ lvrename /dev/VolGroup/lv_root /dev/VolGroup/lv_root_old
 $ lvrename /dev/VolGroup/snapshot /dev/VolGroup/lv_root

rd_LVM_LV=VolGroup/lv_root_old그런 다음 활성화되도록 커널 라인에 추가합니다 grub.conf(분명히 부팅 시 소스가 비활성화된 경우 스냅샷은 소스와 관련된 변경 사항만 포함하므로 스냅샷이 작동하지 않습니다). 이것이 내 그럽 항목의 모습입니다.

root (hd0,0)
kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto quiet rd_LVM_LV=VolGroup/lv_root rd_LVM_LV=VolGroup/lv_root_old KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM elevator=deadline processor.max_cstate=1
initrd /initramfs-2.6.32-220.el6.x86_64.img

경고 - 스냅샷을 찍기 전에 커널을 업그레이드한 경우 스냅샷을 찍을 때 사용된 커널을 부팅하는 것을 잊지 마세요.

답변2

이미 스냅샷을 생성했더라도 명확성을 위해 단계를 진행하겠습니다.

스냅샷을 생성합니다.

# lvcreate --size 100M --snapshot --name lv_root_snap /dev/vg_linux/lv_root
# lvs
 LV           VG           Attr   LSize   Origin  Snap%  Move Log Copy%  Convert
 lv_home      vg_linux    -wi-ao  11.72g                                       
 lv_opt       vg_linux    -wi-ao   4.00g                                       
 lv_root      vg_linux     owi-ao   2.00g                                       
 lv_root_snap vg_linux     swi-a- 100.00m lv_root   2.52  

필요한 경우 스냅을 설치하고 확인합니다.

# mount /dev/vg_linux/lv_root_snap /mnt

/etc/grub.conf스냅샷 루트 파일 시스템을 사용하도록 커널에 알리는 항목을 추가합니다 . ( /etc/grub.conf심볼릭 링크 /boot/grub/grub.conf이므로 스냅샷의 영향을 받지 않음 /)

title RHEL 6.2 Snap
    root (hd0,0)
    kernel /vmlinuz-2.6.32-220.13.1.el6.x86_64 ro root=/dev/mapper/vg_linux-lv_root_snap ....
    ....

또는 항목을 생성하지 않으려면 메뉴 grub로 이동하여 스냅샷을 가리키도록 항목을 편집하여 부팅 중에 루트 파일 시스템을 지정할 수 있습니다. 이는 일시적이며 시스템이 다시 시작되면 지속되지 않습니다.grubroot=

답변3

/etc/fstab루트 파일 시스템을 찾는 데 사용되지 않습니다. grub 메뉴에서 e편집 항목을 누르고 스냅샷을 가리키도록 root= 커널 명령줄 매개변수를 변경합니다. 이번에는 스냅샷에서 부팅됩니다.

관련 정보