'dmsetup'을 사용하여 영구 스냅샷 장치를 생성할 수 없습니다.

'dmsetup'을 사용하여 영구 스냅샷 장치를 생성할 수 없습니다.

dmsetup다음을 수행할 수 있는 스냅샷 장치를 만들려고 합니다 .fsck에 의한 변경 사항 롤백.

제가 전화를 잘못 건 것 같아요 dmsetup. 예는 다음과 같습니다.

$ truncate -s 4096 real snapshot               
$ losetup --show -f real                       
/dev/loop0                                     
$ losetup --show -f snapshot                   
/dev/loop1                                     
$ sudo dmsetup -v create snapdev --table '0 8 snapshot /dev/loop0 /dev/loop1 P 1'
device-mapper: reload ioctl on snapdev  failed: Input/output error
Command failed

오류 메시지의 마지막 두 공백이 snapdev약간 이상합니다.

그러나 P지속성을 N비지속성으로 변경하면 모든 것이 잘 작동합니다.

$ sudo dmsetup -v create snapdev --table '0 8 snapshot /dev/loop0 /dev/loop1 N 1'
Name:              snapdev
State:             ACTIVE
Read Ahead:        256
Tables present:    LIVE
Open count:        0
Event number:      0
Major, minor:      254, 4
Number of targets: 1

내가 뭘 잘못했나요?

답변1

영구 스냅샷에 사용하려면 장치의 처음 몇 블록이 \0.이 예 처음 32개 블록을 0으로 만듭니다.

이 바이트는 SnAp\001영구 스냅샷 장치의 시작 부분에 기록됩니다..

기본 장치의 첫 번째 블록은 영구 스냅샷 장치의 블록 16에 매핑됩니다. (데이터는 바이트 오프셋 8192 또는 0x2000에서 시작됩니다).

스냅샷 장치(지정되지 않은) 최소 크기가 필요합니다.. 4MB이면 충분합니다.

자원:

관련 정보