메인 콘텐츠로 건너뛰기 탐색으로 건너뛰기 푸터로 건너뛰기
디자인 파트너 프로그램: 무료로 가입하고 평생 BUSINESS 플랜 혜택을 누리세요

모니터링

머신 상태, 컨테이너, 서비스, 저장소를 모니터링하고 진단을 실행합니다.

모니터링

Rediacc는 머신 상태, 실행 중인 컨테이너, 서비스, 저장소 상태 및 시스템 진단을 검사하는 내장 모니터링 명령을 제공합니다.

머신 상태

머신에 대한 포괄적인 상태 보고서를 가져옵니다.

rdc machine health --name server-1

다음을 보고합니다.

  • 시스템: 가동 시간, 디스크 사용량, 데이터스토어 사용량
  • 컨테이너: 실행 중, 정상, 비정상 수
  • 스토리지: SMART 상태
  • 문제: 식별된 문제

머신 가독성 출력을 위해 --output json을 사용하십시오.

컨테이너 목록

머신의 모든 저장소에서 실행 중인 컨테이너를 봅니다.

rdc machine containers --name server-1
설명
이름컨테이너 이름
상태가동 시간 또는 종료 이유
상태값실행 중, 종료됨 등
상태 확인정상, 비정상, 없음
CPUCPU 사용률
메모리메모리 사용량 / 제한
저장소컨테이너를 소유하는 저장소

옵션:

  • --health-check, 컨테이너에 대한 활성 상태 확인 수행
  • --output json, 머신 가독성 JSON 출력

JSON 출력에는 전체 컨테이너 세부 정보(labels, port_mappings, image, id)와 repository(해석된 이름), repository_guid(원본 GUID), domainautoRoute가 포함됩니다.

서비스 목록

머신에서 Rediacc와 관련된 systemd 서비스를 봅니다.

rdc machine services --name server-1
설명
이름서비스 이름
상태활성, 비활성, 실패
하위 상태실행 중, 종료됨 등
재시작재시작 횟수
메모리서비스 메모리 사용량
저장소연결된 저장소

옵션:

  • --stability-check, 불안정한 서비스 표시(실패, 3회 이상 재시작, 자동 재시작)
  • --output json, 머신 가독성 JSON 출력

JSON 출력에는 repository(해석된 이름) 및 repository_guid(원본 GUID)가 포함된 전체 서비스 세부 정보가 포함됩니다.

저장소 목록

상세한 통계와 함께 머신의 저장소를 봅니다.

rdc machine repos --name server-1
설명
이름저장소 이름
크기디스크 이미지 크기
마운트마운트됨 또는 마운트 해제됨
DockerDocker 데몬 실행 중 또는 중지됨
컨테이너컨테이너 수
디스크 사용량저장소 내 실제 디스크 사용량
수정됨마지막 수정 시간

옵션:

  • --search <text>, 이름 또는 마운트 경로로 필터링
  • --output json, 머신 가독성 JSON 출력

JSON 출력에는 name(해석된 이름)과 guid(원본 GUID)가 포함되며, 각 저장소의 containers(domain, autoRoute, repository/repository_guid 포함) 및 services 배열이 중첩됩니다.

스토리지 상태

머신의 모든 저장소에서 BTRFS 단편화 및 reflink 공유를 검사합니다.

rdc machine query --name server-1 --storage-health
설명
크기LUKS 이미지 파일 크기(저장소가 보이는 모습)
고유이 저장소만 소유하는 실제 고유 데이터
공유BTRFS reflink을 통해 저장소 간에 재사용되는 데이터 블록(무료 복사)
익스텐트파일 익스텐트 수(높을수록 더 단편화됨)
단편화단편화 수준: 낮음, 중간 또는 높음

요약은 BTRFS reflink으로 인한 총 절감액을 보여줍니다.

14 repos, 224.3 GB virtual size
Unique data: 323.7 MB | Shared: 224.0 GB | Efficiency: 99.9%
  • 가상 크기는 모든 저장소 이미지 크기의 합입니다. 이것은 저장소가 보이는 모습이지만 reflink을 통해 공유된 블록을 이중으로 계산합니다.
  • 고유 데이터는 하나의 저장소에만 존재하는 저장소 데이터가 소비하는 실제 스토리지입니다. 이것이 저장소를 삭제하면 해제되는 용량입니다.
  • 공유는 BTRFS reflink을 통해 저장소 간에 재사용되는 데이터입니다. 저장소를 포크하면 reflink 복사본이 생성되어 어느 한쪽이 새 데이터를 쓸 때까지 블록을 공유하며, 그 시점에서 블록이 분기됩니다.
  • 효율은 reflink을 통해 재사용되는 데이터의 비율입니다. 높을수록 좋습니다. 동일한 부모에서 많은 포크가 있는 머신은 거의 100% 효율을 보입니다.

높은 단편화와 공유 블록이 없는 저장소는 btrfs filesystem defragment로 안전하게 조각 모음할 수 있습니다. 공유 블록이 있는 저장소는 조각 모음을 수행하면 안 됩니다. 조각 모음은 공유 블록을 고유한 복사본으로 교체하여 디스크 사용량을 증가시킵니다.

스캔은 병렬로 실행되며 저장소의 수와 크기에 따라 5~15초가 걸립니다. --storage-health가 지정되지 않은 경우 쿼리 출력 후 한 줄의 힌트가 알림으로 표시됩니다.

BTRFS 스크럽

Rediacc는 모든 머신에서 주간 BTRFS 스크럽을 자동으로 예약합니다. 스크럽은 데이터스토어의 모든 데이터 블록을 읽고, 체크섬을 검증하며, 손상을 보고합니다. 이는 조용한 데이터 손상(비트 부식)이 백업 및 포크로 전파되기 전에 감지합니다.

스크럽은 최대 1시간의 무작위 지연과 함께 매주 일요일 02:00 현지 시간(머신 시간대)에 실행됩니다. 실행 중인 서비스에 방해가 되지 않도록 최저 I/O 우선순위(ionice idle, nice 19)로 실행됩니다. SSD 기반 머신에서 데이터스토어 100GB당 약 8분이 소요됩니다.

스크럽 타이머는 renet 업그레이드 후 첫 번째 데몬 시작 시 자동으로 설치됩니다. 향후 renet 버전에서 스크럽 정책이 변경되면 다음 데몬 시작 시 사용자 조치 없이 자동으로 업데이트됩니다.

스크럽 상태

마지막 스크럽 결과는 BTRFS 볼륨 외부(/var/lib/rediacc/scrub-last-result.json)에 저장되므로 볼륨에 문제가 있어도 읽을 수 있습니다. rdc machine query --system 출력에는 scrub_status 필드가 포함됩니다.

"scrub_status": {
  "last_run_human": "3 days ago",
  "status": "ok",
  "total_errors": 0,
  "uncorrectable": 0,
  "duration_seconds": 312
}
상태의미
ok마지막 스크럽이 오류 없이 완료됨
never_run스크럽이 아직 실행되지 않음(타이머가 방금 설치됨)
overdue마지막 스크럽이 14일 이상 전
errors_found스크럽이 체크섬 불일치를 발견함(total_errorsuncorrectable 수 확인)
failed스크럽 프로세스가 0이 아닌 코드로 종료됨

uncorrectable이 0보다 크면 영향을 받은 블록을 자동으로 복구할 수 없습니다(단일 디스크 BTRFS에는 중복 복사본이 없음). 가장 최근 백업에서 영향을 받은 저장소를 복원하십시오.

수동 스크럽

즉시 스크럽을 실행하려면(예: 전원 장애 또는 디스크 마이그레이션 후):

rdc term connect -m server-1 -c "sudo renet maintenance scrub --datastore /mnt/rediacc"

결과는 동일한 JSON 파일에 저장되며 다음 rdc machine query --system에서 즉시 확인할 수 있습니다.

볼트 상태

배포 정보를 포함한 머신의 완전한 개요를 가져옵니다.

rdc machine vault-status --name server-1

다음을 제공합니다.

  • 호스트명 및 가동 시간
  • 메모리, 디스크 및 데이터스토어 사용량
  • 총 저장소 수, 마운트된 수, Docker 실행 수
  • 저장소별 상세 정보

머신 가독성 출력을 위해 --output json을 사용하십시오.

연결 테스트

클라우드 어댑터 전용. 로컬 어댑터에서는 rdc term connect -m server-1 -c "hostname"을 사용하여 연결을 확인하십시오.

머신에 대한 SSH 연결을 확인합니다.

rdc machine test-connection --ip 203.0.113.50 --user deploy

보고 내용:

  • 연결 상태(성공/실패)
  • 사용된 인증 방법
  • SSH 키 구성
  • 공개 키 배포 상태
  • known hosts 항목

옵션:

  • --port <number>, SSH 포트(기본값: 22)
  • --save -m server-1, 검증된 호스트 키를 머신 구성에 저장

진단(doctor)

Rediacc 환경의 포괄적인 진단 검사를 실행합니다.

rdc doctor
카테고리확인 항목
환경Node.js 버전, CLI 버전, SEA 모드, Go 설치, Docker 가용성
Renet바이너리 위치, 버전, CRIU, rsync, SEA 내장 자산
구성활성 구성, 어댑터, 머신, SSH 키
가상화시스템이 로컬 가상 머신을 실행할 수 있는지 확인(rdc ops)

각 확인 항목은 OK, 경고 또는 오류를 보고합니다. 문제를 해결할 때 첫 번째 단계로 사용하십시오.

종료 코드: 0 = 모두 통과, 1 = 경고, 2 = 오류.