영구 운영 체제에서 썸 드라이브를 사용할 때 casper-rw
운영 체제를 종료한 후 썸 드라이브를 너무 일찍 꺼내면 영구 파티션이 손상되는 일이 발생합니다.
불행하게도 ubuntustudio-20.04.2에서는 화면이 검은색일 때 종료 버튼을 클릭한 후 최대 1분의 시간이 걸렸지만 파티션에 과도한 쓰기 작업이 발생했습니다 casper-rw
. 따라서 막대를 너무 일찍 당기면 쉽게 파손될 수 있습니다.
이러한 사고를 복구하기 위해 casper-rw
QUELLE 및 ZIEL 변수를 적절하게 설정한 후 백업 파티션을 생성하고 명령을 사용합니다(슈퍼유저가 된 후).
time cp -a "${QUELLE}/upper" "${ZIEL}"
time cp -a "${QUELLE}/work" "${ZIEL}"
time cp -a "${QUELLE}/lost+found" "${ZIEL}"
내 스크립트가 실행되면
- 매우 낮은 CPU 활동
- RAM 사용량이 거의 없음
htop
cp -a
상태 D에서 프로세스가 매우 오랜 시간이 걸린다 는 것을 보여줍니다 .
내가 올바르게 이해했다면(수정해 주세요) 이는 USB 스틱의 컨트롤러가 이러한 많은 읽기 및 쓰기 작업을 효과적으로 처리할 수 없기 때문에 컴퓨터가 매우 자주 기다려야 함을 의미합니다(USB3 소켓의 USB3 장치임에도 불구하고!). .
허락할 수 있는 방법이 있나요 cp -a
속도를 높이기 위해 더 큰 버퍼를 사용하고 이상적으로는 전체 파일을 순차적으로 작성합니까?
답변1
upper
먼저 디렉터리 및 (존재하는 경우) 파티션을 work
SSD 의 일부 디렉터리에 복사하면 복사 속도를 크게 높일 수 있는 것 같습니다 . 이 단계는 2분 조금 넘게 걸립니다. 그런 목적으로 사용할 수 있습니다 .lost+found
casper-rw
cp -a
별도의 파티션에 있는 동일한 스틱에 백업하려는 경우 SSD에서 USB 스틱으로 복사하는 데 cp -a
약 31분이 소요됩니다(약 66500개 파일의 4,1 GiB 데이터, USB3 소켓의 USB3 스틱). . rm -rf "${ZIEL}/upper"; rm -rf "${ZIEL}/work"; rm -rf "${ZIEL}/lost+found
현재 콘텐츠가 백업 파티션에 복사되기 전에 파티션의 이전 콘텐츠가 지워졌습니다 .
재사용하기 전에 파티션을 이런 식으로 지우면 차이가 있는지, 아니면 순 콘텐츠가 거기에 배치되기 전에 파티션을 포맷하면 속도가 더 빨라지는지 아는 사람이 있습니까? 파손된 경우 casper-rw
백업에서 콘텐츠를 복원하기 전에 포맷해야 합니다.
물론 backup.tar.gz
. 이렇게 하면 기록할 데이터의 양이 줄어들고 특히 두 번째 단계에서는 그로부터 이익을 얻을 수 있습니다.
답변2
sync
대상에 즉시 쓰기를 강제하는 데 사용합니다 .
파일을 만들고 cp
대상 파일 시스템에 나타날 때 해당 파일이 실제로 저장 매체에 있는지는 아직 보장되지 않습니다.
그 이유는 데이터가 실제로 대상 저장 장치에 있을 때까지 더 빠르고 사용자 친화적인 다양한 내부 버퍼 사이에서 먼저 가져오기 때문입니다. 대상 장치에 데이터를 쓰는 것은 실제로 백그라운드에서 수행되며 많은 CPU 주기를 소비하지 않으므로 활동 모니터에서 이를 확인하기 어려울 수 있습니다.
sync
복사 후에 다음을 사용하여 언제든지 버퍼에서 대상 저장 장치로 즉시 강제로 쓰기를 시도할 수 있습니다 .cp ${QUELLE} ${ZIEL} && sync
또한 rsync
변경되었거나 새로운 파일을 대상으로 복사하는 데만 사용하는 것을 고려하십시오.