test.dd
운영 체제 이미지 파일 과 LVM 관리 파티션이 있습니다 .- 운영 체제 이미지 파일 크기를 확장한 다음 파티션 크기를 전체로 확장합니다.
- 루프백 장치를 생성한
test.dd
다음 LVM에서 관리하는 파티션 장치를 얻습니다./dev/loop0p1
- 예를 들어 LVM VG(볼륨 그룹)를 활성화하고 그 안에 LV(논리 볼륨)를 얻습니다.
/dev/dm-1
- PV(물리적 볼륨) 크기 늘리기
pvresize /dev/loop0p1
- LV(논리 볼륨) 크기 늘리기
lvextend -l +100%FREE /dev/dm-1
test.dd
내 질문은 (실제로는 단 하나: 다른 곳에 안전하게 복사하는 방법입니다 ):
test.dd
안전하게 복사 할 수 있나요 ? (디스크의 내용이 물리적으로 플러시되었는지 여부는 신경 쓰지 않고test.dd
디스크나 파일 버퍼에서 다른 곳으로 복사하기를 원합니다.)- 아니면
sync
복사하기 전에 전화해야 합니까? - 아니면 복사하기 전에 루프백 장치를 분리해야 합니까?
- 무슨 일이 있어도 루프백 장치를 분리할 수 없으면 어떻게 되나요?
sync
편집: 때로는 매우 느리고 논스톱이 되기 때문에 명령 호출을 꺼려합니다 (예: kill -9는 작동하지 않습니다).
편집: 제가 이 질문을 하는 이유는 다른 상황에서 루프백 장치 및 지원 파일과 관련된 데이터 불일치 문제가 발생했기 때문입니다.
편집: 이제 스크립트를 사용하여 vgchange --activate n --select vg_uuid=$LVM_VG_UUID
볼륨 그룹을 비활성화한 다음 losetup --detach /dev/loop0
복사 udevadm settle
를 시작합니다 test.dd
. 이 모든 문제를 겪지 않고 test.dd를 복사할 수 있는지 궁금합니다.
편집: 명령을 잘못된 순서로 입력해서 죄송합니다. 실제로는 vgchange --activate n --select vg_uuid=$LVM_VG_UUID
-> udevadm settle
-> losetup --detach /dev/loop0
-> cp test.dd... 입니다 .
답변1
나는 정말로 모른다. 저 할 수 있어요희망필요하지는 않지만 LVM에 대해 잘 모르겠습니다.
LVM VG 전체와 루프 장치를 사용하는 다른 모든 것을 비활성화하면 안전할 수 있기를 바랍니다.
Linux 관리에서는 결말이 중복되는 것이 일반적인 표준인 것 같습니다 sync
.
umount
캐시 새로고침, fdisk
전화 fsync
걸기 등
게다가 리눅스에는블록 장치의 마지막 사용자가 장치를 닫을 때 암시적 동기화. 따라서 모든 것을 비활성화했다면 실제로 실행을 피하는 것은 아닙니다 sync /dev/loop0
:-).
그러나 나는 과도한 노출을 피하는 것 sync
, 즉 모든 장비를 헹구는 것에는 확실히 동의합니다.
모든 기능을 비활성화하려면 루핑 장치도 쉽게 비활성화할 수 있습니다. 이렇게 하면 루프 장치를 열어 둔 채로 아무것도 놓친 것이 없고 아직 기록되지 않은 데이터가 있는지 확인하는 데 도움이 됩니다.
이것이 여러분을 행복하게 만들면 커널은 이 LVM 메타데이터를 쓰거나 읽지 않습니다. 모든 것이 사용자 공간에 있습니다. 그리고 쓰기 저장 캐시를 유지하는 LVM 데몬이 없습니다. LV 메타데이터캐시를 읽으십시오.