밤새 Home Assistant에서 디스크 활동이 반복되는 것은 대개 예약된 작업 때문이며, 저장 장치나 Recorder가 오작동한다는 증거는 아닙니다.
가장 빠른 진단 방법은 보존 기간을 변경하거나 데이터베이스를 옮기기 전에 디스크 활동이 큰 시간을 Home Assistant, 애드온, 데이터베이스, 호스트의 타임스탬프와 맞춰 보는 것입니다. Recorder 유지 관리, 자동 백업, 로그 순환, 카메라 또는 애드온의 쓰기 작업, 호스트 수준의 백업 작업은 모두 비슷한 급증을 일으킬 수 있습니다. 우선 이 현상을 시간 문제로 다루세요. 어떤 프로세스가 쓰기 작업을 수행하는지, 얼마나 오래 지속되는지, 매일 밤 같은 작업이 문제없이 완료되는지를 확인해야 합니다.
설정을 조정하기 전에 디스크 급증을 예약 작업과 대조하세요
반복되는 활동 전후로 한 시간 범위를 정하고 디스크 지연 시간, 쓰기 속도, 프로세스 또는 컨테이너의 I/O, 정확한 시작 및 종료 시각을 기록하세요. 매일 밤 거의 같은 분에 시작되는 패턴은 예약된 유지 관리 작업일 가능성이 높습니다. 반대로 가정 내 활동에 따라 시간이 달라지는 패턴은 통합 구성 요소, 카메라 또는 장치 작업일 가능성이 더 높습니다.
Home Assistant Recorder는 정기적으로 보존 기간 관련 작업을 수행하며, 커뮤니티의 시간 관찰에 따르면 데이터베이스 정리는 이른 아침에 실행되고 장기 통계는 별도의 주기로 계속 처리됩니다. 따라서 디스크가 매번 일정한 밤 시간에 깨어난다면 Recorder 정리 시점을 먼저 비교해 보는 것이 유용합니다.
드라이브가 작동한다는 이유만으로 보존 기간을 줄이거나 기록을 비활성화하거나 데이터베이스를 옮기지 마세요. 먼저 실제 쓰기 작업을 Recorder가 수행하는지 확인해야 합니다. 급증이 데이터베이스 작업보다 먼저 또는 나중에 시작된다면 백업 일정, Docker 또는 애드온 로그, 파일 시스템 스냅샷, NAS 복제, 바이러스 검사, 같은 디스크를 사용하는 미디어 또는 카메라 서비스를 비교하세요.
네 가지 일반적인 원인은 서로 다른 I/O 특성을 보입니다
주요 후보는 Recorder 유지 관리, 자동 백업, 쓰기 작업이 많은 통합 구성 요소 또는 애드온, 호스트 수준의 저장소 작업입니다. 이 작업들은 겹칠 수 있으므로 유용한 증거는 단순히 “디스크 사용량이 많다”는 사실이 아니라, 같은 시간 동안 데이터베이스 파일, 백업 대상, 로그 경로 또는 다른 컨테이너 중 어디에서 쓰기 작업이 발생하는지입니다.
Home Assistant의 자동 백업 시스템은 처음에는 이른 아침 일정으로 작동했으며 이후 사용자가 시간을 설정할 수 있는 기능이 추가되었습니다. 따라서 백업 활동이 데이터베이스 유지 관리 시간과 자연스럽게 겹칠 수 있습니다. 자동 백업 시점과 관련된 릴리스 기록은 밤새 발생하는 모든 I/O를 Recorder의 작업으로 단정하지 말고, 설정된 백업 시간을 확인해야 한다는 점을 보여 줍니다.
아래 특성을 가설로 활용하고 한 번에 하나의 일정만 변경하세요. 다른 Home Assistant 작업은 그대로 둔 상태에서 특정 작업을 옮기거나 비활성화했을 때 디스크 급증도 함께 이동하면 원인이 확인된 것입니다.
원인 1: Recorder 정리 또는 재패킹
- 특징: 예측 가능한 이른 아침 시간에 데이터베이스 중심의 쓰기 작업이 발생합니다.
- 확인 방법: 해당 시간대의 Recorder 로그, 데이터베이스 크기, 저장 장치 지연 시간을 비교합니다.
- IF–THEN: 활동이 정리 또는 재패킹 일정에 맞춰 발생하고 정상적으로 종료된다면, 원인을 알 수 없는 반복 작업이 아니라 예약된 유지 관리입니다.
원인 2: 자동 백업 또는 애드온 백업
- 특징: 애플리케이션 데이터를 읽은 뒤 로컬, USB 또는 네트워크 백업 저장소에 대규모 순차 쓰기를 수행합니다.
- 확인 방법: 백업 작업의 시작 시간과 대상 저장소의 처리량을 비교합니다.
- IF–THEN: 백업 일정을 변경했을 때 디스크 급증 시간도 함께 바뀐다면 데이터베이스 쓰기를 억제하지 말고 백업 시간을 옮기세요.
원인 3: 로그, 카메라 또는 쓰기 작업이 많은 통합 구성 요소
- 특징: 하나의 유지 관리 시간대가 아니라 엔터티 이벤트에 따라 지속적이거나 반복적인 소규모 쓰기가 발생합니다.
- 확인 방법: 빠르게 변하는 엔터티, 디버그 로깅, 카메라 클립, 애드온 데이터베이스를 확인합니다.
- IF–THEN: 예약 작업이 없는 시간에도 쓰기가 계속된다면 Recorder 전체 기능을 줄이지 말고 해당 작업을 발생시키는 요소를 줄이세요.
원인 4: 다른 호스트 작업이 같은 디스크를 공유함
- 특징: 다른 컨테이너, 스냅샷, 스크럽 또는 복제 프로세스가 I/O를 점유하는 동안 Home Assistant의 지연 시간이 증가합니다.
- 확인 방법: Home Assistant 로그뿐 아니라 호스트 수준의 I/O 기여도를 확인합니다.
- IF–THEN: 인접한 작업을 옮겼을 때 밤새 발생하던 경합이 사라진다면 Home Assistant는 원인이 아니라 영향을 받은 쪽입니다.
정상적인 유지 관리와 비정상적인 쓰기 부하를 구분하세요
정상적인 예약 작업은 시작해서 제한된 범위의 작업을 수행한 뒤, 데이터베이스 오류나 이후의 지연 시간 증가 없이 정상 기준선으로 돌아옵니다. 경고 신호는 매일 밤 작업 시간이 늘어나거나, 데이터베이스 손상 또는 잠금 오류가 반복되거나, 파일 시스템이 가득 차거나, 작업이 안정적인 완료 지점에 도달하지 못하는 경우입니다.
Recorder 최적화 사례를 보면 불필요하게 기록되는 상태를 줄여 데이터베이스 증가량을 낮추고, 그 결과 향후 유지 관리 및 백업 작업도 줄일 수 있습니다. 이러한 기록량 감소 방법은 Recorder의 기록량이 실제 문제라는 증거가 확인된 후에만 사용하세요. 디스크 LED가 켜진다는 이유만으로 무조건 적용해서는 안 됩니다.
문제의 기준은 사용자가 체감하는 영향이나 작업 완료 여유의 손실입니다. 밤새 실행되는 작업이 가정에서 활발히 사용하는 시간 전에 끝나고 저장 장치 지연 시간이 정상이라면, 활동 자체는 결함이 아닙니다. 유지 관리가 아침 자동화와 겹치거나, 백업이 반복해서 실패하거나, 데이터베이스가 여유 공간 한도에 가까워진다면 보존 기간, 일정, 저장 장치 또는 작업 분리를 변경해야 합니다.
하룻밤 격리 테스트를 실행하고 원래 시간대를 검증하세요
일반적인 Home Assistant 설정은 유지하고 의심되는 작업 하나만 다른 시간으로 옮기세요. 두 밤에 걸쳐 디스크 쓰기 속도, I/O 대기 시간, 데이터베이스 활동, 컨테이너 수준의 쓰기 작업 주체를 기록하세요. 여러 통합 구성 요소와 백업을 한꺼번에 비활성화하지 마세요. 결과가 개선되더라도 어떤 변경이 영향을 주었는지 알 수 없기 때문입니다.
관련 ZimaSpace의 Home Assistant 백그라운드 작업 분석도 같은 원칙을 사용합니다. 리소스 급증을 하드웨어 용량 문제로 보기 전에 대기 중이거나 예약된 작업의 주체를 확인해야 합니다.
밤새 발생한 쓰기 작업의 주체가 확인되고, 활동 범위가 제한되며, 데이터베이스와 백업이 성공적으로 완료되고, 여유 공간이 정상적으로 유지되며, 원래 시간대에 일반적인 로컬 제어가 영향을 받지 않으면 시스템은 정상으로 판단할 수 있습니다. 동일한 통제 테스트에서 지속적인 오류, 제한 없이 늘어나는 작업 시간 또는 합법적인 예약 작업과 관계없이 지속되는 I/O 지연 시간이 확인될 때만 저장 장치 상태 점검이나 데이터베이스 복구로 확대하세요.
지원 및 팁
더 읽어보기

동시 컨테이너 환경에서 Home Assistant 데이터베이스 연결을 최적화하는 방법
측정된 활성 연결 수와 지연 시간을 바탕으로 외부 Recorder 데이터베이스를 튜닝하세요. 최대 연결 수를 늘리거나 다른 호스트의 풀 설정을 그대로 복사해서는 안 됩니다.

Home Assistant에서 중복 작업 또는 가져오기를 방지하는 방법
추적 정보와 고유한 작업 키를 사용해 자동화와 가져오기를 안전하게 재시도하고, 작업이나 레코드가 중복 생성되지 않도록 하세요.

데이터베이스 볼륨이 가득 찬 후 Home Assistant 복구 방법
먼저 증거를 삭제하지 않고 가득 찬 Recorder 볼륨을 복구한 다음, 증가량을 줄이고 재시작 후에도 기록과 자동화가 유지되는지 입증하세요.

