NetWorker의 테이프 라이브러리 구성 문제 해결
Summary: 이 문서는 서포터와 고객이 감지된 로봇을 성공적으로 구성할 수 없는 원인을 확인하는 데 도움을 주기 위해 작성되었습니다.
Symptoms
라이브러리 구성이 이전에 문제 없이 작동하다가 갑자기 문제가 발생한 경우 감지 및 구성을 방해할 수 있는 가능한 변경 사항을 고려하십시오.
- 로봇 또는 테이프 장치의 펌웨어 또는 드라이버 업그레이드
- 테이프 하드웨어 또는 기타 라이브러리 구성 요소의 추가, 교체 또는 제거
- NetWorker 소프트웨어 버전 또는 운영 체제 패치 변경
- 호스트와 로봇 간의 스토리지 전송에 대한 모든 변경 사항
라이브러리가 작동하지 않으면 NetWorker 하드웨어 호환성 가이드에서 하드웨어가 지원되는지 확인합니다. 라이브러리가 부분적으로 기능할 수 있음을 기억하십시오. 검색만으로는 유용성이나 지원이 보장되지 않습니다.
- NetWorker Management Console을 사용하여 주크박스를 감지하고 구성하는 데 실패함
- jbconfig를 사용하여 주크박스 감지 및 구성 실패
- jbedit를 사용하여 주크박스 구성을 수정하지 못함
- NetWorker 테이프 라이브러리의 검색 및 구성은 다음 두 가지 사용자 단계로 구성됩니다.
- 디바이스 감지, 속성 열거 및 '구성되지 않은' 특성 생성
- NSR 주크박스 및 NSR 디바이스 테이프 드라이브 오브젝트의 생성 및 연결
- 탐지 또는 액세스 문제로 인한 것이 아닌 테이프 라이브러리 구성 문제는 일반적으로 라이브러리 또는 드라이브에서 탐지된 리소스의 불일치를 가리킵니다.
- 드라이브 일련 번호(드라이브에서 감지되거나 로봇에 캐시됨)
- 충돌하는 장치가 이미 동일한 드라이버 핸들로 구성되어 있습니다.
- 특정 내부 SCSI 명령 응답 문제
- 일관되지 않은 로봇 정보와 물리적 현실
- jbconfig를 사용한 자동 구성은 명령이 실행되는 로컬 호스트로 제한되며 여전히 일련 번호 감지 및 파일 핸들 일치가 필요합니다
- jbconfig(옵션 4)는 이러한 기능이 지원되지 않거나 문제가 있는 경우 자동 감지를 재정의하는 수동 방법입니다
- jbedit은 기존 라이브러리 구성을 편집하는 데 사용할 수 있는 명령줄 도구입니다
Cause
라이브러리 구성 문제의 잘 알려진 원인:
- 구성되지 않은 디바이스 제거 방법(주황색 렌치) (이 문서를 보려면 Dell 지원 계정 필요)
NetWorker의 테이프 라이브러리 구성 기능에 영향을 줄 수 있는 요소 또는 요인을 고려하십시오.
- 로봇 또는 테이프 리소스를 감지하고 적절하게 액세스할 수 없음
- 로봇 드라이버, 펌웨어 또는 내부 로봇 정보의 일관성 없는 결과로 이어지는 문제
- 리소스 가용성 또는 식별에 혼동을 줄 수 있는 파티셔닝과 같은 로봇 기능
- 드라이브 WWN 및 SN을 의도적으로 마스킹하는 동적 World Wide 이름 지정
- 충돌하는 기존 NetWorker 구성 데이터베이스 리소스
- 소프트웨어 버전 변경 후 코드 결함
Resolution
라이브러리 구성 문제를 해결하려면 마지막으로 알려진 변경 사항(있는 경우)을 고려한 후 프로세스를 기본 구성 요소로 이관하고 개별적으로 테스트하여 문제 해결을 진행합니다.
필요한 모든 데이터는 -o:d 스위치와 함께 실행할 때 NSRGet 에 의해 현재 수집됩니다. NetWorker: NSRGet NetWorker 데이터 수집 툴을 사용하는 방법
라이브러리 구성: 준비
- 명명 지속성: 라이브러리 구성이 유효한 상태로 유지되도록 하려면 드라이브에 액세스하는 호스트에서 디바이스 이름이 영구적으로 바인딩되고 변경되지 않도록 해야 합니다. 이렇게 하면 향후 드라이브 순서 문제가 발생할 가능성이 방지됩니다( NetWorker에서 테이프 라이브러리 드라이브 순서 문제 해결 참조)
- Windows의 경우 다음을 참조하세요. Windows용 테이프 디바이스 이름 지속성 구현 (이 문서를 보려면 Dell 지원 계정 필요)
- Linux의 경우 다음을 참조하세요. Linux용 테이프 디바이스 이름 지속성 구현 (이 문서를 보려면 Dell 지원 계정 필요)
- 디바이스 리소스 정리: 디바이스 섹션에서 라이브러리 드라이브로 구성될 독립형 테이프 디바이스가 삭제되었는지 확인합니다.
- 디바이스 검색: 디바이스 섹션에서 스토리지 노드 컨테이너를 마우스 오른쪽 버튼으로 클릭하고 디바이스 검색을 선택한 다음 스캔할 모든 노드를 선택합니다.
라이브러리 구성: 구성 요소
- 드라이브 속성: NetWorker가 NSR 주크박스 구성 객체에서 연결을 구축하려면 디바이스에서 몇 가지 정보가 필요합니다. 일련 번호와 디바이스 핸들입니다. 다음 명령을 사용하여 수동으로 가져올 수 있습니다.
cdi_inq -f <tape drive driver handle> -v inquire -lc
조회 명령과 cdi_inq 명령 사이의 일련 번호가 일치하지 않으면 일반적으로 동적 World Wide 명명의 증거입니다. - 로봇 속성: 드라이브와 로봇은 논리적으로 분리되어 작동하기 때문에 테이프 카트리지 로드 작업을 장치 읽기/쓰기 작업과 조정하기 위해 로봇은 드라이브의 일련 번호를 로봇의 해당 요소 주소와 연결해야 합니다. 이러한 페어링을 가져오려면 다음을 수행합니다.
sjisn <i.t.l or changer driver handle>
- NSR 스토리지 노드: 관리 콘솔 사용자 인터페이스의 NetWorker에서 라이브러리를 구성하는 경우 디바이스 감지 프로세스는 검색된 모든 드라이브 또는 로봇을 '구성되지 않은' 디바이스로 스토리지 노드 리소스에 추가합니다(사용자 인터페이스의 주황색 렌치 아이콘). 별개의 리소스가 아니므로 삭제할 수 없으며 구성 프로세스 후에 사용 가능한 리소스로 대체됩니다.
nsrdb(NetWorker가 실행되는 동안 폴더를 압축할 수 있음)dvdetect -dlv -D9
(UI 탐지 문제를 해결하는 경우) - NSR 주크박스: '구성되지 않은' 라이브러리가 선택되고 사용자 인터페이스에서 '구성'이 실행되면 NSR 주크박스는 위의 연결(요소:일련 번호:장치 핸들)과 로봇에서 수집된 기타 라이브러리 데이터(예: 슬롯, 카트리지 및 I/E 포트 변위)를 사용하여 구축됩니다.
nsrdb: NetWorker가 실행되는 동안 폴더를 압축할 수 있습니다nsrjb: 사람이 읽을 수 있는 더 간단한 버전의 라이브러리 구성 제공jbconfig: 주크박스를 수동으로 구성하는 데 사용할 수 있습니다.jbedit: 사람이 읽을 수 있는 더 간단한 버전의 라이브러리 구성 제공
라이브러리 구성: 억제제
다음은 이전에 탐지 및 액세스가 확인된 후 시도할 수 있는 몇 가지 기본 테스트입니다.
- NetWorker의 테이프 라이브러리 탐지 문제 해결 (이 문서를 보려면 Dell 지원 계정 필요)
- NetWorker의 테이프 라이브러리 액세스 문제 해결 (이 문서를 보려면 Dell 지원 계정 필요)
- NSR 스토리지 노드 확인 또는 삭제: 리소스에는 다음과 같이 주크박스의 적절한 탐지 및 구성을 방해할 수 있는 몇 가지 속성이 있습니다.
- 구성되지 않은 필드 또는 필드 목록 중 하나
- SCSI 타겟 필드 건너뛰기
- 이름 또는 등록 필드 중 하나
NSR Storage Node 리소스는 NetWorker를 종료하고 명령줄에서 리소스 데이터베이스에 연결하여 안전하게 삭제할 수 있습니다. 부트스트랩 백업을 생성하고 nsrdb 폴더의 tar/.zip 파일을 생성하여 항상 리소스 데이터베이스를 먼저 백업합니다
cd <nsr/res directory> nsradmin -d nsrdb del type: nsr storage node (and answer yes to the storage node in question)
수동으로 cdi_inq/inquire / sjisn/sjirjc 리소스를 확인합니다. 테이프 라이브러리의 자동 구성에는 드라이브와 로봇 모두의 데이터를 조정하고 이러한 값 중 일부를 교차 검증해야 하므로 출력의 아무 곳에서나 이상 현상이 나타나는지 확인하십시오.
sjirjc <changer address>
예상되는 드라이브 수, 가져오기/내보내기 요소 수 및 슬롯 수를 확인합니다.
sjisn <changer address>
드라이브 합계를 조회, sjirdtag 및 sjirjc 합계로 비교합니다. 일련 번호와 모델 문자열을 비교하여 출력을 조회합니다.
sjirdtag <changer address>
드라이브 및 슬롯 합계를 다른 출력과 비교합니다. 드라이브가 문제를 나타내는 경우 pres_val=0을 찾습니다.
cdi_inq -f <changer driver handle> -v
일련 번호와 모델 문자열을 비교하여 조회하고 sjisn을 출력합니다.
일련 번호를 감지할 수 없거나 일련 문자열 또는 드라이브 수가 일치하지 않으면 구성이 실패합니다.
- 하드웨어, 펌웨어 또는 NetWorker 코드 문제: 디바이스의 보고 또는 이를 처리하는 코드에 하위 수준의 문제가 있는 경우 다음 환경 변수를 사용하여 디버그를 활성화하고 위의 명령(또는 NSRGet -o:d)을 다시 실행하여 단서를 확인하거나 에스컬레이션을 준비할 수 있습니다.
SJI_DEBUG=9 LUS_DEBUG=9 CDI_DEBUG=9 JBDEBUG=9 SCSI_DEBUG=9
라이브러리 구성 - jbconfig(자동)
- 일반 UI 메커니즘을 사용하여 라이브러리를 감지하지 못하는 경우 jbconfig 명령을 사용해보십시오 - 이는 반 분할 수준에서 작동 할 수 있지만 여전히 UI와 거의 동일한 결과를 제공합니다 (일반 UI 구성에는 없는 라이브러리 이름을 지정할 수 있음).
- jbconfig 대화 상자에서 옵션 2를 선택하여 자동 감지 및 구성을 테스트합니다. 공유 디바이스 처리 또는 NDMP 디바이스를 묻는 메시지가 나타납니다. 원격 호스트와 NDMP는 자동으로 처리되지 않으므로 sjisn 및 inquire 출력을 사용하여 요소별로 호스트/핸들 페어링을 제공해야 합니다.
라이브러리 구성 - jbconfig(수동)
- jbconfig가 옵션 2에서 실패하면 옵션 4로 다시 시도할 수 있으며 라이브러리 유형이 목록에 나타나지 않으면 #54(표준 SCSI 주크박스)를 사용하기만 하면 됩니다. 이 옵션을 사용하려면 모든 매개변수를 수동으로 입력해야 합니다.
- 라이브러리 SCSI 주소 또는 드라이버 파일 핸들, 로봇 제어 호스트의 inquire에 의해 반환됨
- 드라이브를 공유하는 각 스토리지 노드에서 수집된 조회 출력과 비교하여 로봇-로컬 sjisn 출력에 따라 각 호스트:드라이브 요소 페어링에 대한 드라이버 핸들
- 주크박스에 구성되는 드라이브 모델
- sjisn 및 inquire 출력에 일련 번호가 표시되지 않으면 로봇 또는 드라이브가 일련 번호를 지원하지 않을 수 있습니다. 이 경우 남은 유일한 옵션은 라이브러리를 비우고 수동으로 단일 테이프 카트리지를 각 드라이브로 연속해서 이동한 다음 해당 드라이브 요소에 대해 호스트별로 올바른 로컬 핸들을 찾을 때까지 mt -f <device handle> status를 실행하는 것입니다. 이것은 최신 하드웨어에서 드물고 예상치 못한 일입니다.
위의 제안 사항 중 어느 것도 도움이 되지 않으면 디버그에서 수집된 증거가 내부 이상을 제안하는 경우 운영 체제 또는 라이브러리 공급업체에 적절하게 지원을 요청합니다. 그렇지 않으면 구성을 시도하는 동안 디버그 출력을 수집하고 NetWorker 지원 내에서 결과를 에스컬레이션하여 코드 결함 가능성을 확인합니다.