더 큰 드라이브로 데이터를 이동한 후 Btrfs 밸런싱이 멈추는 이유는 무엇인가요?

에바 왕 는 기술 작가 그리고 이자 ZimaSpace의 상주 장인입니다. 평생을 기술에 열정을 가진 사람으로서 홈랩과 오픈소스 소프트웨어에 열정을 가지고 있으며,복잡한 기술 개념을 쉽게 이해할 수 있는 실습 가이드로 번역하는 데 전문성을 가지고 있습니다.에바는 셀프 호스팅이 어렵지 않고 재미있어야 한다고 믿습니다. 그녀의 튜토리얼을 통해 커뮤니티가 하드웨어 설정의 신비를 풀도록돕고 있습니다. 첫 NAS 구축부터 Docker 컨테이너 마스터링까지.

대용량 드라이브를 추가한 후 Btrfs 밸런스가 멈춘 것처럼 보일 수 있습니다. 재배치 작업에 여전히 사용 가능한 청크 작업 공간이 필요하고 전체 파일 시스템을 이동해야 할 수도 있기 때문입니다.

더 큰 장치로 데이터를 교체하거나 복사해도 모든 Btrfs 블록 그룹이 자동으로 압축되거나 균등하게 분산되거나 재배치 가능한 상태가 되지는 않습니다. 밸런스는 블록 그룹 단위로 작동하며, 임시 작업 공간을 만들고 메타데이터를 업데이트합니다. 또한 가장 느린 장치, 스냅샷, 체크섬 또는 다른 독점 작업의 영향을 받을 수 있습니다. 먼저 실제로 재배치가 멈춘 것인지, 아니면 여전히 진행 중인 느린 전체 밸런스인지 구분해야 합니다.

밸런스가 실행 중인지, 일시 중지되었는지, 대기 중인지 확인

밸런스 상태, 처리된 청크 수, 커널 로그, 디스크 처리량 및 장치별 지연 시간을 확인하세요. 명령이 포그라운드나 백그라운드에서 실행 중인지, 일시 중지되었는지, 취소되었는지 또는 재부팅 후 자동으로 재개되었는지 기록하세요.

밸런스는 사용량이 많은 블록 그룹 하나를 재배치하는 동안 표시되는 카운터가 오랫동안 변하지 않을 수 있습니다. ArchWiki의 Btrfs 지침에서는 밸런스 상태와 파일 시스템 사용량을 확인하여 작업이 계속 진행 중인지 이미 중지된 명령인지 구분하는 방법을 안내합니다.

I/O가 없고 상태 변화도 없으며 커널 로그에 오류가 표시된다면 느린 상태가 아니라 중지된 것으로 처리하세요. 다른 필터로 밸런스를 다시 시작하기 전에 최초 오류 메시지를 보존하세요.

대용량 장치와 파일 시스템의 크기가 조정되었는지 확인

물리적 장치 크기, 파티션 크기, Btrfs 장치 크기 및 파일 시스템 할당량을 비교하세요. 더 큰 교체 디스크를 장착했더라도 기존 파티션 경계나 기존 Btrfs 장치 크기만 노출되고 있을 수 있습니다.

하드웨어 용량, 파티션 테이블, 블록 장치, Btrfs 장치 목록, 파일 시스템 할당 순서로 각 계층을 확인하세요. SUSE는 파일 시스템보다 먼저 장치를 확장해야 한다고 설명합니다. 따라서 Btrfs가 아직 인식하지 못하는 용량은 밸런스에서 사용할 수 없습니다.

ZimaSpace의 드라이브 교체 후 용량이 늘어나지 않는 문제에 관한 문서에서는 재배치 문제로 판단하기 전에 확인해야 할 관련 계층 점검을 제공합니다.

사용 가능한 바이트와 사용 가능한 청크 작업 공간 구분

전체 장치 크기와 Btrfs 블록 그룹에 이미 할당된 용량을 비교하세요. 파일 시스템에 사용자용 여유 공간이 표시되더라도 재배치에 필요한 임시 블록 그룹을 만들 만큼 큰 완전 미할당 영역이 없을 수 있습니다.

Btrfs 밸런스 문서에서는 재배치에 완전히 사용되지 않은 블록 그룹 작업 공간이 필요하다고 설명합니다. 이는 일반적인 파일 수준의 여유 공간과 다르며 밸런스 중 ENOSPC를 발생시킬 수 있습니다.

작업 공간이 부족하다면 먼저 전체 밸런스를 다시 시작하기보다 사용량 필터를 좁게 지정하여 완전히 사용되지 않은 블록 그룹을 회수하세요. 청크 할당에 미치는 영향이 측정되기 전까지 스냅샷을 무분별하게 삭제하지 마세요.

-15% OFF

필터 없이 전체 밸런스를 시작했는지 확인

처음 실행한 명령을 검토하세요. 데이터 또는 메타데이터 필터 없이 밸런스를 실행하면 실제 목적이 사용량이 낮은 청크를 압축하거나 특정 장치에서 할당을 이동하는 것뿐이더라도 전체 파일 시스템을 재배치하려고 합니다.

선택된 모든 블록 그룹을 다시 작성하기 때문에 전체 밸런스에는 여러 시간 또는 며칠이 걸릴 수 있습니다. Linux btrfs-balance 매뉴얼은 필터 없이 실행하면 전체 파일 시스템에서 데이터와 메타데이터를 이동하고 모든 블록 포인터를 업데이트한다고 경고합니다.

상태 출력과 이전 셸 기록을 사용하여 현재 적용된 필터를 확인하세요. 밸런스를 반복해서 취소하고 다시 시작하지 마세요. 중단된 밸런스로 인해 일부만 채워진 블록 그룹이 남아 작업 공간을 계속 사용할 수 있습니다.

느린 장치, 오류 및 충돌하는 독점 작업 확인

SMART 데이터, 전송 오류, 링크 재설정, USB 또는 SATA 시간 초과 및 장치별 지연 시간을 확인하세요. 밸런스 속도는 기존 위치에서 읽기, 새 위치에 쓰기, 체크섬 검증 및 메타데이터 업데이트에 의해 제한됩니다.

스크럽, 장치 추가 또는 제거, 파일 시스템 크기 조정, 스냅샷 삭제, send 또는 receive 및 기타 스토리지 작업도 확인하세요. Red Hat의 Btrfs 관리 가이드는 장치 변경과 밸런스가 재배치 작업이라고 설명합니다. 따라서 디스크에 장애가 발생하지 않았더라도 유지 관리 작업이 겹치면 심각한 경합이 발생할 수 있습니다.

한 장치에서 반복적인 재설정이나 극심한 지연 시간이 나타나면 밸런스를 일시 중지하고 더 많은 재배치를 강제하기 전에 해당 경로를 진단하세요. 불안정한 장치에서 계속 작업하면 성능 문제가 복구 문제로 악화될 수 있습니다.

제어된 재시작을 위해 좁은 필터와 제한 사용

현재 상태를 보존한 후 비어 있거나 사용량이 낮은 블록 그룹을 대상으로 하는 가장 위험이 낮은 필터부터 시작하세요. 한 번에 실행할 청크 수를 제한하여 범위를 늘리기 전에 각 결과를 확인하세요.

사용량 임계값을 점진적으로 높이고 데이터와 메타데이터를 পৃথ로 처리하세요. 메타데이터 재배치는 추가 업데이트를 많이 생성할 수 있으며 평균 사용률이 낮아 보인다는 이유만으로 공격적으로 압축할 필요는 없습니다.

프로세스를 강제 종료하지 말고 지원되는 밸런스 제어 기능으로 일시 중지, 재개 또는 취소하세요. 현재 블록 그룹 작업이 완료되는지, 저장된 밸런스 상태가 다음 작업과 일치하는지 확인하세요.

밸런스 후 분산과 용량 확인

제어된 밸런스 전후의 장치별 할당량, 데이터 및 메타데이터 프로필, 미할당 작업 공간, 파일 시스템 사용량 및 재배치된 청크 수를 비교하세요.

성공적인 결과가 모든 드라이브에서 바이트 사용량이 완벽하게 동일하다는 뜻은 아닙니다. Linux 커널 개요에는 통합 다중 장치 지원과 온라인 크기 조정이 나와 있습니다. 따라서 최종 확인은 올바른 프로필, 사용 가능한 할당량, 정상적인 장치 및 향후 쓰기에 충분한 작업 공간에 초점을 맞춰야 합니다.

밸런스가 완료되거나 의도한 필터 범위에 도달하고, 대용량 장치에 새 할당이 이루어지며, 사용 가능한 청크 작업 공간이 복원되고, 일반적인 쓰기, 스냅샷, 스크럽 및 재부팅이 밸런스를 예기치 않게 다시 시작하지 않고 정상적으로 작동하면 문제가 해결된 것입니다.

지원 및 팁

더 읽어보기

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.