ext4에서 btrfs로 변환: 변환 중에 실수로 시스템 전원이 꺼지면 데이터가 손실됩니까?

ext4에서 btrfs로 변환: 변환 중에 실수로 시스템 전원이 꺼지면 데이터가 손실됩니까?

3TB 80% 전체 ext4 블록 장치를 btrfs로 변환하고 프로세스와 관련된 위험을 추정하고 싶습니다.

변환 중에 실수로 시스템 전원이 꺼지면 데이터도 손실되나요?

btrfs에 대한 2년간의 경험에서 파일 시스템은 정전 사고 중에 중간 정도만 안전한 것으로 입증되었습니다. 연속으로 두 번 이상 전원이 끊기면 내 데이터 중 일부가 파괴되었습니다.

답변1

디스크에 대한 컨트롤러 쓰기 작업 실패로 인해 데이터가 손실될 가능성이 가장 높으며 전체 디스크 파티션 테이블이 손상될 수도 있습니다.

말했듯이 사전에 백업을 만드십시오. 그러나 변환 작업 자체는 원본 데이터가 건드리지 않도록 설계되었습니다. Btrfs는 원본 FS 버전의 스냅샷을 만들고 사용 가능한 블록을 사용하여 추가 작업을 수행합니다.

100GB 파티션에 새로운 ext4 FS를 생성하고 실행하는 경우

#df -h
Filesystem                        Size  Used Avail Use% Mounted on
/dev/sda3                          99G   60M   94G   1% /ext4convert2btrfs

그런 다음 마운트를 해제하고 변환을 실행합니다.

#unmount /ext4convert2btrfs
#btrfs-convert /dev/sda3
creating btrfs metadata.
creating ext2fs image file.
cleaning up system chunk.
conversion complete.

그런 다음 run df를 다시 마운트하면 다음과 같은 내용이 표시됩니다.

Filesystem                        Size  Used Avail Use% Mounted on
/dev/sda3                         100G  1.8G   66G   3% /ext4convert2btrfs

나머지 공간은 기본 FS 스냅샷에서 사용됩니다. 스냅샷을 안전하게 제거하고 원본 데이터 덮어쓰기를 허용하는 시기는 시스템 관리자만이 결정할 수 있습니다.

여유 공간을 복구하고 변환을 영구적으로 만들려면 다음을 수행하십시오.

#cd /ext4convert2btrfs
#btrfs subvol delete ext2_saved
#btrfs balance start /ext4convert2btrfs
#df -h
Filesystem                        Size  Used Avail Use% Mounted on
/dev/sda3                         100G  544K   99G   1% /ext4convert2btrfs

그게 다야 :)

답변2

파티션 변환 중 정전이 발생하면 데이터가 손상될 수 있습니다. 이를 위해 해당 작업을 수행하기 전에 항상 백업을 만드는 것이 좋습니다.

그러나 Btrfs-convert에는 변환을 되돌리는 스위치가 있으므로 취소해야 할 경우를 -r대비해 이 스위치를 사용할 수 있습니다 . deconvert또한 여기에 있는 답변 중 하나에서 복구가 일반적으로 훨씬 빠르다는 사용자 보고서를 발견했습니다.https://askubuntu.com/questions/256652/ext4-to-btrfs-conversion-how-long-can-it-take-space-requirements

변환은 상대적으로 빠르므로 실행하는 데 며칠이 걸릴 것으로 예상해서는 안됩니다. 최근 SSD 드라이브에서 ~20Gb 파티션을 변환했는데 몇 초 밖에 걸리지 않았습니다. 3TB의 데이터가 HDD에 있다고 가정하면 시간이 더 오래 걸립니다.

관련 정보