이 페이지의 내용
Junos 디바이스 구성 시 Junos PyEZ 오류 문제 해결
다음 섹션에서는 Junos PyEZ를 사용하여 Junos 디바이스를 구성할 때 발생할 수 있는 오류를 간략하게 설명합니다. 이 섹션에서는 각 오류에 대한 잠재적인 원인과 해결 방법도 제시합니다.
시간 초과 오류 문제 해결
문제
설명
Junos PyEZ 코드는 RpcTimeoutError 메시지 또는 TimeoutExpiredError 메시지를 생성하고 디바이스 구성을 업데이트하지 못합니다.
RpcTimeoutError(host: dc1a.example.com, cmd: commit-configuration, timeout: 30)
원인
NETCONF RPC의 시간 초과에 대한 기본 시간은 30초입니다. 대규모 구성 변경으로 인해 이 값을 초과하면 구성을 업로드하고 커밋하기 전에 작업 시간이 초과될 수 있습니다.
솔루션
기본 시간 제한 간격보다 긴 커밋 시간이 필요할 수 있는 구성 변경을 수용하려면 시간 제한 간격을 적절한 값으로 설정하고 코드를 다시 실행합니다. 간격을 구성하려면 속성을 적절한 값으로 설정 Device
timeout
하거나, 디바이스에서 구성 데이터를 로드하고 커밋할 때 또는 set()
메서드에 commit()
인수를 포함합니다timeout=seconds
. 예를 들어:
dev = Device(host="host") dev.open() dev.timeout = 300 with Config(dev, mode='exclusive') as cu: cu.load(path='junos-config.conf', merge=True) cu.commit(timeout=360) dev.close()
구성 잠금 오류 문제 해결
문제
설명
Junos PyEZ 코드는 구성을 잠글 수 없음을 나타내는 LockError 메시지를 생성합니다.
LockError(severity: error, bad_element: None, message: configuration database modified)
원인
구성 잠금 오류는 다음과 같은 이유로 발생할 수 있습니다.
다른 사용자가 구성에 대한 배타적 잠금을 가지고 있습니다.
-
공유 구성 데이터베이스에 커밋되지 않은 변경 내용이 있습니다.
Junos PyEZ 코드를 실행하는 사용자는 디바이스를 구성할 수 있는 권한이 없습니다.
솔루션
다른 사용자가 구성에 대한 배타적 잠금을 가지고 있거나 구성을 수정한 경우 잠금이 해제되거나 변경 내용이 커밋될 때까지 기다렸다가 코드를 다시 실행합니다. 문제의 원인이 사용자에게 디바이스 구성 권한이 없는 경우, 필요한 권한이 있는 사용자와 함께 프로그램을 실행하거나, 적절한 경우 현재 사용자에게 변경을 수행하는 데 필요한 권한을 부여하도록 Junos 디바이스를 구성합니다.
구성 변경 오류 문제 해결
문제
설명
Junos PyEZ 코드는 권한 문제로 인해 구성을 수정할 수 없음을 나타내는 ConfigLoadError 메시지를 생성합니다.
ConfigLoadError(severity: error, bad_element: scripts, message: permission denied)
원인
이 오류 메시지는 Junos PyEZ 코드를 실행하는 사용자에게 구성을 변경할 수 있는 권한이 있지만 원하는 구성 부분을 변경할 수 있는 권한이 없을 때 생성될 수 있습니다.
솔루션
필요한 권한이 있는 사용자로 프로그램을 실행하거나, 적절한 경우 현재 사용자에게 변경을 수행하는 데 필요한 권한을 부여하도록 Junos 디바이스를 구성합니다.