Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

gNOI 운영 체제(OS) 서비스

gNOI 운영 체제(OS) 서비스를 사용하여 대상 네트워크 디바이스의 소프트웨어를 업그레이드합니다.

gNOI OS 서비스를 사용하여 대상 디바이스의 소프트웨어를 업그레이드할 수 있습니다. 프로토 정의 파일은 https://github.com/openconfig/gnoi/blob/master/os/os.proto 에 있습니다.

소프트웨어 설치에는 서비스 RPC에 해당 OS 하는 세 가지 주요 단계가 있습니다.

  • 장착
  • 활성화
  • 다음을 확인합니다.

서비스 RPC를 사용하여 OS 소프트웨어 설치 패키지를 디바이스로 전송하고, 지정된 소프트웨어 버전에 대해 구성을 검증하고, 소프트웨어를 설치할 수 있습니다. 설치된 소프트웨어 버전을 다음 부팅 버전으로 설정하고 소프트웨어 버전을 확인할 수도 있습니다.

참고:

또한 gNOI system 서비스 SetPackage() RPC를 사용하여 디바이스에 소프트웨어를 설치할 수 있습니다. 자세한 정보는 gNOI 시스템 서비스를 참조하십시오.

지원되는 RPC

표 1: 지원되는 os.proto RPC
RPC 설명 릴리스에 도입된 내용
Activate()

다음 재부팅 시 사용할 소프트웨어 버전을 설정합니다.

Activate() 플래그가 no_reboot 생략되거나 로 설정된 경우 대상을 재부팅합니다. False 재부팅이 요청된 소프트웨어 버전을 부팅하지 못하면 대상이 이전 버전으로 롤백됩니다.

참고:

Junos 디바이스는 메시지의 필드를 standby_supervisor 지원하지 않습니다.ActivateRequest

참고:

Junos OS Evolved 릴리스 25.2R1 이전에는 소프트웨어 Activate() 에 대해 현재 구성을 검증하고, 소프트웨어를 설치하고, 소프트웨어 버전을 다음 부팅 버전으로 설정합니다.

Junos OS Evolved 22.2R1

Install()

소프트웨어 설치 패키지를 대상으로 전송하고, 소프트웨어에 대한 구성의 유효성을 검사하고, 소프트웨어를 설치(스테이징)합니다.

지정된 소프트웨어 이미지가 디바이스에 이미 설치되어 있는 경우, 소프트웨어 이미지에 대해 현재 구성을 검증하고 검증된 구성을 해당 소프트웨어 버전과 연관된 실행 구성으로 저장합니다.

참고:

Junos 디바이스는 메시지의 필드를 standby_supervisor 지원하지 않습니다.TransferRequest

참고:

Junos OS Evolved 릴리스 25.2R1 Install() 이전에는 소프트웨어 설치 패키지만 대상에 전송합니다.

Junos OS Evolved 22.2R1

Verify()

실행 중인 소프트웨어 버전을 확인합니다. 이 RPC는 대상이 성공할 때까지 부팅되는 동안 여러 번 호출될 수 있습니다.

참고:

Junos 디바이스는 VerifyResponse를 지원 verify_standby 하지 않습니다.

Junos OS Evolved 22.2R1

OS 서비스 개요

gNOI OS 서비스 RPC를 사용하면 Junos OS Evolved를 실행하는 디바이스에서 소프트웨어를 관리할 수 있습니다. Junos OS Evolved는 여러 버전의 소프트웨어를 저장 매체에 저장합니다. 각 소프트웨어 버전에 대해 Junos OS Evolved는 소프트웨어 버전이 마지막으로 실행되었을 때 실행 중이던 구성도 저장합니다.

표 2 에는 다양한 Junos OS Evolved 릴리스의 RPC 작업이 요약되어 있습니다. Junos OS Evolved 릴리스 25.2R1부터는 즉시 활성화하지 않고 소프트웨어를 설치하고, 설치된 소프트웨어 버전에 대해 현재 구성을 검증하고, 설치된 소프트웨어 버전을 활성화할 수 있습니다.

표 2: OS 서비스 RPC 변경 사항

RPC

Junos OS Evolved 릴리스 24.4R1 및 이전 버전

Junos OS Evolved 릴리스 25.2R1 이상

Install()

소프트웨어 설치 패키지를 디바이스로 전송합니다.

소프트웨어 설치 패키지를 디바이스로 전송합니다.

지정된 소프트웨어 버전(신규 또는 이전에 설치됨)에 대해 현재 구성을 검증합니다.

지정된 소프트웨어 버전이 아직 설치되지 않은 경우 소프트웨어를 설치합니다.

검증된 현재 구성을 지정된 소프트웨어 버전과 연관된 실행 구성으로 저장합니다.

Activate()

지정된 소프트웨어 버전에 대해 현재 구성을 검증합니다.

소프트웨어를 설치합니다.

지정된 소프트웨어 버전을 다음 부팅 버전으로 설정합니다.

지정된 소프트웨어 버전을 다음 부팅 버전으로 설정합니다.

(선택 사항) 디바이스를 재부팅합니다.

(선택 사항) 디바이스를 재부팅합니다.

Verify()

실행 중인 소프트웨어 버전을 확인합니다.

실행 중인 소프트웨어 버전을 확인합니다.

Junos OS Evolved 릴리스 25.2R1 및 이후 버전에서는 RPC가 Install() 지정된 소프트웨어 설치 패키지를 대상 디바이스의 디렉터리로 /var/tmp/ 전송하고, 소프트웨어에 대한 구성을 검증하며, 해당 소프트웨어 버전이 디바이스에 아직 설치되지 않은 경우 소프트웨어를 설치합니다. 대상 파일명은 메시지 필드 version 에 정의된 값입니다.TransferRequest RPC는 Activate() 지정된 소프트웨어 버전을 다음 부팅 버전으로 설정하고 선택적으로 디바이스를 재부팅하여 소프트웨어를 활성화합니다. 설치된 소프트웨어 버전을 활성화할 수 있습니다.

기존 소프트웨어 버전을 실행 Install() 하고 지정하는 경우, Install() 소프트웨어에 대해 현재 구성을 검증하고 검증된 구성을 해당 소프트웨어 버전과 연관된 실행 구성으로 저장합니다. 소프트웨어 버전이 다음 부팅 버전으로 설정된 경우, Install() 그 과정에서 비활성화합니다. 따라서 특정 소프트웨어 버전이 최근 구성 변경과 함께 작동하는지 확인할 수 있습니다.

네트워크 디바이스 구성

시작하기 전에:

  • gRPC 서비스 구성에 설명된 대로 네트워크 디바이스에서 gRPC 서비스를 구성합니다.
  • gNOI 서비스 구성에 설명된 대로 gNOI 작업을 지원하도록 네트워크 관리 시스템을 구성합니다.

서비스 RPC를 OS 사용하는 데 추가 구성은 필요하지 않습니다.

예: 설치 및 활성화

이 예제에서 클라이언트는 다음 작업을 수행하는 Python 애플리케이션을 실행 gnoi_os_install_activate.py 합니다.

  • 로컬 네트워크 관리 시스템에서 네트워크 디바이스로 소프트웨어 패키지를 복사합니다.

  • 소프트웨어 이미지에 대해 구성을 검증합니다.

  • 네트워크 디바이스에 패키지를 설치합니다.

  • 네트워크 디바이스를 재부팅하여 새 소프트웨어 이미지를 활성화합니다.

애플리케이션은 메시지를 사용하여 InstallRequest() RPC를 Install() 호출하여 파일을 전송합니다. 애플리케이션은 각 10% 전송 완료 간격에서 진행률 메시지를 내보내 파일 전송 진행률을 추적합니다. 파일 전송이 성공하면 시스템은 소프트웨어 이미지에 대해 구성을 검증하고, 스토리지 정리를 수행하고, 이미지를 설치합니다. 그런 다음 애플리케이션은 RPC를 Activate() 호출하여 새 이미지를 다음 부팅 이미지로 설정하고 대상을 다시 부팅합니다.

애플리케이션은 채널을 설정하기 위해 모듈을 grpc_channel 가져옵니다. 이 모듈은 grpc_channel gNOI 서비스 구성에 설명되어 있습니다. 응용 프로그램의 인수는 파일에 저장 args_os_install_activate.txt 됩니다. 응용 프로그램 및 인수 파일은 다음과 같습니다.

gnoi_os_install_activate.py

args_os_install_activate.txt

참고:

Junos OS Evolved 릴리스 23.4R1부터 , Install(), 및 Verify() RPC의 Activate()필드는 version 패키지 이름 대신 소프트웨어 버전 문자열(에 /system/state/software-version표시된 대로)을 사용합니다.

애플리케이션 실행

클라이언트가 응용 프로그램을 실행하면 응용 프로그램은 로컬 장치에서 네트워크 장치의 디렉터리로 /var/tmp 패키지를 복사하고 패키지를 설치한 다음 장치를 다시 부팅하여 설치를 완료합니다.

변경 내역 표

기능 지원은 사용 중인 플랫폼과 릴리스에 따라 결정됩니다. 기능 탐색기를 사용하여 플랫폼에서 기능이 지원되는지 확인합니다.

출시
설명
25.2R1-EVO
Junos OS Evolved 릴리스 25.2R1 Install() 부터 RPC는 소프트웨어 설치 패키지를 디바이스에 복사하고, 지정된 소프트웨어 버전에 대해 구성을 검증하고, 소프트웨어를 설치하며, RPC는 Activate() 지정된 소프트웨어 버전을 다음 부팅 버전으로 설정합니다. 이전 릴리스 Install() 에서는 소프트웨어 설치 패키지를 디바이스에 복사하고 Activate() 소프트웨어에 대한 구성을 검증하고 소프트웨어를 설치하고 소프트웨어 버전을 다음 부팅 버전으로 설정합니다.
25.2R1-EVO
Junos OS Evolved 릴리스 25.2R1부터는 설치된 소프트웨어 이미지에서 RPC를 실행 Install() 하여 소프트웨어 이미지에 대해 현재 구성을 검증하고 검증된 구성을 해당 소프트웨어 버전과 연관된 실행 구성으로 저장할 수 있습니다.
23.4R1-EVO
Junos OS Evolved 릴리스 23.4R1부터 , Install(), 및 Verify() RPC의 Activate()필드는 version 패키지 이름 대신 소프트웨어 버전 문자열(에 /system/state/software-version표시된 대로)을 사용합니다.