A/B 이중 시스템은 JelinaOS 신뢰성의 핵심입니다. 커널과 시스템에 각각 완전한 복사본 두 개를 보관하고 한쪽에서 실행하며 다른 쪽에 업데이트합니다. 이 페이지는 일상적인 관련 작업을 안내합니다.
현재 부팅 파티션 확인
섹션 제목: “현재 부팅 파티션 확인”jelina-info출력에서 현재 부팅 파티션(A 또는 B)과 시스템 정상 상태를 확인합니다. 장치는 항상 한쪽 시스템에서 실행하고 다른 쪽은 백업으로 유지합니다.
시스템 전환 방식
섹션 제목: “시스템 전환 방식”현재 System A 실행 중 │ ▼ 업데이트를 System B에 쓰기 ▼ 재부팅 후 B로 자동 전환 ▼ 부팅 검증 성공 → B 계속 실행 │ ▼ 검증 실패 → A로 자동 복귀(업무에 영향 없음)- 시스템이 자동 전환하므로 수동 개입이 필요하지 않습니다.
- 두 시스템 내용은 서로 백업 역할을 하며 모두 공장 출하 상태를 유지합니다.
- 실행 중 모든 사용자 쓰기는 데이터 파티션에 저장되어 전환과 무관합니다.
업데이트와 복귀
섹션 제목: “업데이트와 복귀”정상 업데이트
섹션 제목: “정상 업데이트”- 시스템 업데이트로 업데이트를 시작합니다.
- 예비 파티션에 기록하는 동안 장치는 계속 실행됩니다.
- 재시작 후 새 시스템으로 자동 전환하고 검증합니다.
새 버전에 문제가 있어 되돌려야 한다면 다음을 수행합니다.
- 시스템 업데이트 기능에서 이전 버전으로 복귀하도록 지정합니다.
- 원래 파티션으로 전환하고 검증합니다.
- 장치가 정상 실행을 재개합니다.
시스템 롤백 서비스로 수동 복귀할 수도 있습니다. root/kernel 롤백은 재시작 후 적용되며 애플리케이션 영역 롤백은 즉시 적용됩니다.
systemctl restart jelina-rollback@root # 시스템 파티션 롤백(재부팅 후 적용)systemctl restart jelina-rollback@kernel # 커널 파티션 롤백(재부팅 후 적용)systemctl restart jelina-rollback@app # 애플리케이션 영역 롤백(즉시 적용)systemctl restart jelina-rollback@adv # 구성 요소 영역 롤백(즉시 적용)롤백 전에 시스템은 현재 실제 마운트와 구성의 일치를 검증하여 중복 작업을 방지합니다.
부팅 카운터와 단계별 복구
섹션 제목: “부팅 카운터와 단계별 복구”시스템은 **부팅 카운터(bootcount)**로 상태를 추적하여 단계별 자동 복구를 수행합니다.
- 부팅할 때마다 증가하고 정상 부팅이 성공하면 자동으로 0이 됩니다.
- 충돌, 정전이나 워치독 재시작으로 부팅에 실패하면 계속 증가합니다.
- 연속 부팅 실패 시 자동 복구에 진입합니다. 먼저 복구 부팅을 시도하고 계속 실패하면 시스템 파티션과 커널 파티션을 차례로 롤백합니다.
- 복구에 성공하면 정상 부팅으로 돌아가고 카운터를 다시 초기화합니다.
이 기능은 업그레이드나 장애로 장치가 재시작 루프에 빠지지 않고 자동으로 사용 가능한 상태를 회복하도록 합니다.
부팅 검증 방식
섹션 제목: “부팅 검증 방식”매 부팅마다 현재 파티션을 검증합니다.
- 검증 성공: 정상적으로 시스템에 진입합니다.
- 검증 실패: 다른 시스템을 자동 시도하여 사용 가능한 상태로 진입하도록 합니다.
이를 통해 장치가 “켜면 작동하고 고장 나면 되돌아갈 수 있어” 무인 환경의 신뢰성을 보장합니다.
자주 묻는 질문
섹션 제목: “자주 묻는 질문”현재 실행 파티션을 어떻게 확인하나요?
jelina-info를 실행하여 부팅 파티션 정보를 확인합니다.
두 파티션의 내용은 동기화되나요? 아닙니다. 두 시스템은 각각 출하 상태를 유지하며 사용자 데이터는 데이터 파티션에 통합 저장됩니다. 버전 관계는 시스템 업데이트 기능으로 관리합니다.
부팅 파티션을 수동 선택할 수 있나요?
일상 사용에서는 자동 관리하므로 필요하지 않습니다. 특수 유지보수에서는 플랫폼의 부팅 관리 기능을 사용할 수 있습니다. Rockchip은 jelina-rk-bootctl 도구를 제공하며 구체적인 사용법은 명령 도움말을 따릅니다.