이 머신을 백업하려는 계획이 정말 엉망입니다 ...
여러 가상 머신의 KVM 하이퍼 바이저 인 서버가 있습니다. 이 중 하나가 Docker를 실행 중입니다. / dev / vdb에 Docker 볼륨이 있으며 LVM PV로 설정되며 Docker는 direct-lvm 드라이버 를 사용 하여 Docker 컨테이너 데이터를 저장합니다. 이 가상 디스크는 호스트 로컬 디스크의 LVM LV입니다.
호스트와 게스트 모두 Fedora 21을 실행합니다.
이 볼륨의 호스트보기는 다음과 같습니다 (관련 볼륨 만 표시됨).
[root@host ~]# lvs
LV VG Attr LSize
docker2.example.com-volumes vm-volumes -wi-ao---- 40.00g
[root@host ~]# dmsetup ls --tree
vm--volumes-docker2.example.com--volumes (253:10)
└─ (9:125)
이 볼륨에 대한 손님의 관점은 다음과 같습니다 (다시 관련 볼륨 만 표시됨).
[root@docker2 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vdb docker-volumes lvm2 a-- 40.00g 0
호스트의 다른 모든 LVM 볼륨을 사용하여을 사용하여 스냅 샷을 생성하고 스냅 샷을 lvcreate --snapshot
백업 한 다음 lvremove
문제없이 수행 할 수 있습니다 . 그러나이 특정 볼륨 lvremove
으로는 사용 중이므로 할 수 없습니다 .
[root@host ~]# lvremove /dev/vm-volumes/snap-docker2.example.com-volumes
Logical volume vm-volumes/snap-docker2.example.com-volumes is used by another device.
결국 호스트의 device-mapper가이 논리 볼륨 스냅 샷 에 LVM PV가 포함되어 있음을 알아 낸 다음 스냅 샷 내의 논리 볼륨을 호스트에 매핑했습니다 (관련 볼륨 만 표시됨).
[root@host ~]# dmsetup ls --tree
vm--volumes-docker2.example.com--volumes (253:10)
└─vm--volumes-docker2.example.com--volumes-real (253:14)
└─ (9:125)
docker--volumes-docker--data (253:18)
└─vm--volumes-snap--docker2.example.com--volumes (253:16)
├─vm--volumes-snap--docker2.example.com--volumes-cow (253:15)
│ └─ (9:125)
└─vm--volumes-docker2.example.com--volumes-real (253:14)
└─ (9:125)
docker--volumes-docker--meta (253:17)
└─vm--volumes-snap--docker2.example.com--volumes (253:16)
├─vm--volumes-snap--docker2.example.com--volumes-cow (253:15)
│ └─ (9:125)
└─vm--volumes-docker2.example.com--volumes-real (253:14)
└─ (9:125)
이들은 VM 내부의 논리적 볼륨과 정확히 일치합니다.
[root@docker2 ~]# lvs
LV VG Attr LSize
docker-data docker-volumes -wi-ao---- 39.95g
docker-meta docker-volumes -wi-ao---- 44.00m
특히 시스템 부팅시 LVM LV에 대해 시도하지 않고 스냅 샷을 찍을 때만 시도합니다.
무슨 일이야? 장치 매퍼가 LVM 스냅 샷의 내용을 검사하여 그 안에 아무것도 도움이되지 않는지 확인하는 것을 원하지 않습니다. 이 동작을 억제 할 수 있습니까? 아니면 다른 방법으로 스냅 샷을 만들어야합니까?
pvscan --cache
lvmetad에 새 필터에 대해 알리기 위해 실행 했으며pvscan
이제는 PV가 필터에 의해 거부되고 있지만 문제가 지속된다는 것을 나타냅니다.