이 장에서는 LSM(라이브러리 스토리지 모듈) 간 전달 작업 중 라이브러리 성능을 극대화하는 방법에 대해 설명합니다. ACSLS는 여러 방식으로 전달 작업을 최소화하기 위한 작업을 수행합니다. 이러한 ACSLS 기능을 사용해서 전달 작업을 최소화하면 성능을 향상시킬 수 있습니다. 이러한 기능은 다음과 같습니다.
동시 마운트 및 마운트 해제 요청을 충분히 전송
여러 SL8500에 연결
LSM 간 전달 작업 최소화
마운트 해제 중 카트리지 Float 작업
라이브러리에 카트리지 넣기
라이브러리에서 카트리지 꺼내기
라이브러리에서 비어 있는 스토리지 셀 유지 관리
ACSAPI 요청 및 ACSLS 명령으로 전달 작업 최소화
ACSAPI 요청 및 ACSLS 명령 사용
일부 클라이언트 응용 프로그램은 한 번에 하나의 단일 요청만 처리하는 단순 SCSI 매체 교환기 라이브러리용으로 설계되어 있습니다. 하지만 ACSLS와 SL8500 및 SL3000 라이브러리는 동시에 여러 요청을 처리하도록 설계되었습니다. 각 라이브러리는 해당 대기열에 최소 40-50개의 동시 요청을 포함할 수 있으며, ACSLS 대기열은 기본적으로 제한이 없습니다.
클라이언트는 동시에 수백 개의 마운트 및 마운트 해제 요청을 ACSLS에 전송할 수 있습니다. 라이브러리 성능을 극대화하기 위해 클라이언트는 라이브러리에 있는 모든 로봇 등을 작동 상태로 유지하기 위해 충분히 많은 요청을 ACSLS에 전송해야 합니다.
클라이언트가 제한된 개수의 동시 요청 수만 ACSLS에 전송할 수 있는 경우 여러 클라이언트를 ACSLS에 연결할 수 있습니다. 예를 들어, 특정 클라이언트 응용 프로그램이 한 번에 하나의 단일 마운트 또는 마운트 해제 요청만 ACSLS에 전송할 수 있는 경우, SL8500당 12-16개 클라이언트 응용 프로그램을 ACSLS에 연결함으로써, 동시 마운트 및 마운트 해제 요청을 충분히 전송하여 SL8500의 모든 로봇을 작동 상태로 유지할 수 있습니다.
라이브러리 로봇을 작동 상태로 유지하기 위해 동시 요청이 얼마나 많이 필요한지를 이해하려면 다음 단락을 참조하십시오.
라이브러리는 장치가 로드되어 준비될 때까지 ACSLS에 마운트 응답을 반환하지 않습니다. 이 방식에서 ACSLS는 마운트가 성공했는지 여부를 알 수 있습니다.
스토리지 셀이 약 3000개 정도인 소규모 SL8500에서는 로봇이 카트리지를 드라이브로 이동하는 데 약 10-15초 정도가 걸립니다.
하지만, LTO 드라이브가 카트리지를 로드하고 준비 상태가 되려면 약 19초가 걸립니다.
한 레일에서 하나의 로봇이라도 사용 중인 상태로 유지하기 위해서는 이 레일에서 최소한 3개의 마운트 요청이 겹쳐서 수행되어야 합니다.
이렇게 하면 카트리지를 수신 중인 첫번째 드라이브가 로드되어 준비되는 동안 로봇이 다른 마운트를 처리할 수 있습니다. 레일당 로봇이 2개인 경우, 레일당 최소 4개의 동시 마운트 또는 마운트 해제가 필요합니다.
SL8500에는 레일이 4개 있으므로, SL8500에 있는 모든 로봇을 작동 상태로 유지하려면 SL8500당 12-16개의 동시 마운트 및 마운트 해제 요청이 필요합니다.
이러한 모든 동시 요청은 단일 ACSAPI 클라이언트로부터 시작될 수도 있고, 12-16개의 서로 다른 클라이언트에서 시작될 수도 있습니다. 이러한 서로 다른 클라이언트는 각각 한 번에 하나의 단일 요청만 실행하고 다음 요청을 실행하기 전 응답을 대기합니다.
ACSLS 서버가 전달 포트를 통해 연결된 SL8500 스트링을 관리하는 경우 해당 스트링의 각 SL8500에 연결합니다. 이렇게 하면 상태를 응답하거나 카트리지 이동을 시작하는 요청을 라이브러리로 경로 지정하여 ACSLS가 라이브러리 성능을 최적화할 수 있습니다.
한 스트링에 있는 여러 SL8500에 연결하는 방법에 대한 자세한 내용은 다중 TCP/IP 지원을 참조하십시오.
테이프 라이브러리 성능을 향상시키기 위해서는 한 라이브러리에서 다른 라이브러리로의 전달 작업을 최소화하는 것이 중요합니다. 카트리지 및 드라이브가 연결된 라이브러리에 있는 경우, 드라이브 및 카트리지가 동일 LSM(라이브러리 내 레일)에 있을 때 테이프 마운트를 수행하는 것이 항상 좋습니다. 마운트 시 필요한 전달 작업이 적을수록 성능이 더욱 향상됩니다.
그림 L-1에서는 카트리지 및 드라이브가 다른 LSM에 있을 때 필요할 수 있는 전달 작업을 보여줍니다.
자세한 내용은 엘리베이터 및 PTP 작업 최소화,작업 로드를 지원하도록 테이프 드라이브 구성 및 카트리지 위치 관리를 참조하십시오.
카트리지가 마운트 해제될 때 ACSLS는 카트리지의 이전 홈 셀이 드라이브와 다른 LSM에 있을 때마다 새 홈 셀을 지정함으로써 LSM 간의 전달 작업을 방지하려고 노력합니다. 이 동작은 ACSLS의 기본 동작입니다. 이 기능을 사용 안함으로 설정하려면 LSM에 대해 "Extended Store" 기능을 사용합니다. 마운트 해제 중인 카트리지는 LSM 간 이동을 방지하기 위해 새 홈 셀로 "Float"됩니다.
ACSLS는 모든 스토리지 셀이 가득 찬 경우 마운트 해제 시에 카트리지를 LSM으로 "Float"할 수 없습니다. 마찬가지로, 카트리지를 꽉 찬 LSM에 넣을 때는 카트리지를 셀이 비어 있는 LSM으로 전달해야 합니다.
성능을 최적화하기 위해서는 StreamLine 액세스를 위해 라이브러리에 유지할 필요가 없는 카트리지를 식별하고 라이브러리에서 그러한 카트리지를 꺼내야
합니다. 또한 모든 LSM에 빈 스토리지 셀이 포함되도록 가득 찬 LSM에서 빈 셀이 충분히 많은 다른 LSM으로 카트리지를 이동할 수도 있습니다. 활성 LSM에서 가장 오래 전에 액세스한 카트리지 이동을 참조하십시오.
주:
라이브러리에서 카트리지 관리는 라이브러리에서 마운트 요청 작업이 없을 때 수행되어야 합니다.ACSLS와 클라이언트 응용 프로그램 사이에는 마운트 및 마운트 해제에 대한 시간 초과를 조정해야 합니다. 클라이언트의 시간 초과는 SL8500 레일과 라이브러리 간 전달이 필요한 마운트 및 마운트 해제가 완료될 수 있도록 충분히 길어야 합니다. 특히 여러 요청이 전달 포트를 기다릴 수 있는 경우에는 이러한 여러 동시 요청이 완료될 수 있도록 충분히 길어야 합니다.
ACSLS는 또한 임시 라이브러리 또는 테이프 드라이브가 중단된 동안 요청을 자동으로 대기열에 넣고 라이브러리 또는 드라이브를 사용할 수 있을 때 이를 다시 시도합니다. 이러한 방식은 중복 전자 부품 전환 중에, 라이브러리 또는 드라이브를 재부트할 때 또는 라이브러리의 액세스 도어가 열려 있을 때 요청이 실패하지 않도록 방지합니다.
마운트 및 마운트 해제를 대기열에 넣는 기본 시간(MOUNT_RETRY_TIME_LIMIT
)은 20분입니다. 고객은 언제라도 이 값을 5에서 80분 사이의 값으로 설정할 수 있습니다. ACSLS는 또한 모든 MOUNT_RETRY_DELAY
를 검사해서 대기열에 넣은 요청을 처리하기 위해 라이브러리를 사용할 수 있는지 여부를 확인합니다. 이러한 모든 변수는 동적 변수입니다. 즉, ACSLS가 실행되는 동안 변경할 수 있으며, 변경사항은 즉시 적용됩니다.
대규모 라이브러리 컴플렉스의 요청이 완료될 수 있도록 ACSAPI 클라이언트의 요청을 조정하십시오. 또한 ACSAPI 클라이언트의 마운트 및 마운트 해제 시간 초과를 사용해서 MOUNT_RETRY_TIME_LIMIT
를 조정합니다.
카트리지를 라이브러리에 넣으면 CAP에서 가장 가까운 LSM에서 각 카트리지에 홈 셀이 지정됩니다. CAP가 있는 LSM에 빈 셀이 있으면 이 LSM에서 홈 셀이 지정됩니다. CAP가 있는 LSM이 가득 찼으면 빈 셀이 있는 가장 가까운 LSM에서 홈 셀이 지정됩니다.
성능을 최적화하기 위해서는 카트리지와 호환되는 테이프 드라이브가 있는 LSM에 카트리지를 넣으십시오
. 예를 들어, 9940 카트리지는 T9840B 테이프 드라이브만 있는 LSM이 아니라 T9940B 테이프 드라이브가 있는 LSM에 넣습니다
. 그렇지 않으면 9940 카트리지를 T9940B 테이프 드라이브가 있는 LSM으로 전달해야 합니다.
라이브러리에서 카트리지를 꺼낼 때는 해당 카트리지를 지정된 CAP로 이동해야 합니다.
성능을 최적화하기 위해서는 카트리지가 있는 LSM의 CAP로 카트리지를 꺼냅니다
. 카트리지가 여러 LSM에 배치된 경우, 대부분의 카트리지에서 가장 가까운 CAP를 선택합니다.
이러한 ACSAPI 요청 및 ACSLS cmd_proc
명령은 LSM 간의 불필요한 전달 작업을 방지하는 데 도움이 될 수 있습니다.
다음은 클라이언트에서 ACSLS로의 ACSAPI 요청 및 cmd_proc
를 사용해서 입력된 ACSLS 명령에 모두 적용됩니다. "요청"이라는 용어는 ACSAPI 요청 및 cmd_proc
명령 모두에 사용됩니다.
이 항목은 사용자가 선택한 데이터 카트리지 또는 특정 스크래치(비어 있는) 카트리지를 마운트하는 데 적용됩니다. 다음 명령을 사용합니다.
query mount
mount
지정된 카트리지(vol_id)에 대해 카트리지와 가까운 순서로 카트리지의 매체 유형과 호환되는 드라이브 목록을 반환합니다. (가장 가까운 LSM에 있는 호환되는 드라이브가 먼저 나열됩니다.)
ACSLS 7.3 이상 릴리스에서는 카트리지에서 동일한 전달 거리에 있는 드라이브는 가장 오래 전에 사용된 순서로 나열됩니다.
예제: 카트리지의 LSM 내에서 카트리지가 마운트 해제된 이후 가장 오래된 호환되는 드라이브가 먼저 표시되고, 그 다음으로 오래된 드라이브가 두번째로 표시됩니다.
명령: query mount
vol_id
다음 절에서는 ACSLS에서 선택된 스크래치 카트리지 마운트에 대해 설명합니다.
지정된 스크래치 풀에 대해 지정된 스크래치 풀에 있는 카트리지의 매체 유형과 호환되는 모든 드라이브 목록이 반환됩니다. 특정 매체 유형을 지정하여 지정된 매체 유형과 호환되는 항목으로만 드라이브를 제한할 수 있습니다.
반환된 드라이브 목록은 순서에 따라 정렬되며, 가장 밀도가 높은 스크래치 풀에 가장 가까운 드라이브가 먼저 표시됩니다.
명령:
ACSAPI
cmd_proc
query mount scratch
query mount * pool_id [media media_type]
특정 매체 유형 또는 ALL_MEDIA_TYPE
(cmd_proc
명령의 media *
)을 지정할 수 있습니다. ANY_MEDIA_TYPE
은 지원되지 않습니다.
주:
ALL_MEDIA_TYPE
이 지정된 경우 가장 밀도가 높은 스크래치 풀을 확인하기 위해 드라이브와 호환되는 매체가 있는 카트리지가 선택됩니다.지정된 드라이브에 대해 스크래치(비어 있는) 카트리지를 선택하고 이를 마운트합니다. 선택적으로, 지정된 스크래치 풀에서 카트리지를 선택하거나 및/또는 지정된 매체 유형의 카트리지를 선택합니다. ACSLS는 드라이브에 가장 가까운 LSM에 있는 호환되는 스크래치 카트리지를 선택합니다. 모든 카트리지를 돌아가면서 사용하기 위해, 선택한 LSM 내에서 액세스 날짜가 가장 오래된 호환되는 카트리지가 선택됩니다.
명령:
ACSAPI
cmd_proc
mount scratch
mount *
drive_id [
pool_id] [media
media_type]
ACSAPI 요청의 경우에는 drive_id, pool_id 및 media_type
을 지정해야 합니다. (media_type에는 특정 매체 유형, ALL_MEDIA_TYPE
또는 ANY_MEDIA_TYPE
을 지정할 수 있습니다.)
cmd_proc
mount *
명령의 경우 pool_id가 지정되지 않았으면 기본적으로 일반 풀(풀 0)로 지정됩니다.
특정 매체 유형을 식별할 수 있습니다. media *
를 지정하면 ANY_MEDIA_TYPE
이 선택됩니다. 매체를 지정하지 않으면 ALL_MEDIA_TYPE
이 선택됩니다.
특수 media_type 값 ANY_MEDIA_TYPE 및 ALL_MEDIA_TYPE은 다음과 같이 처리됩니다.
ALL_MEDIA_TYPE
이 지정되었으면 매체 유형이 드라이브와 호환되는 카트리지가 선택됩니다. (이 동작은 media_compatibility
파일을 기반으로 합니다.)
ANY_MEDIA_TYPE
이 지정되었으면 scratch_preferences
파일이 드라이브에 마운트할 선호 매체 목록을 식별합니다.
이 절에서는 테이프 라이브러리 성능 향상을 위해 ACSAPI 요청 및 명령을 사용하는 방법에 대해 설명합니다.
다음 설명 중에서 "요청"이라는 용어는 ACSAPI 요청 및 cmd_proc
명령 모두에 사용됩니다.
특정 카트리지를 마운트하는 경우(vol_id
가 알려진 경우):
mount
요청 앞에 query mount
요청을 둡니다.
첫번째 "사용 가능한" 드라이브를 선택하고, mount
요청에서 이 드라이브를 지정합니다.
특정 드라이브에 스크래치 카트리지를 마운트할 때는 다음 두 옵션을 선택할 수 있습니다.
특정 드라이브에 가장 가까운 스크래치 카트리지를 선택하려는 경우:
mount scratch
요청을 사용해서 드라이브와 스크래치 풀(선택사항)을 지정합니다.
ACSAPI
요청의 경우에는 다음 중 하나를 지정합니다.
ALL_MEDIA_TYPE
(호환되는 매체가 선택됨)
ANY_MEDIA_TYPE
(스크래치 선호 목록 사용).
cmd_proc
명령의 경우에는 다음 중 하나를 선택합니다.
매체 유형 지정 안함(호환되는 매체가 선택됨)
media *
지정(스크래치 선호 목록 사용)
드라이브 목록에서 특정 드라이브를 선택하고 가장 가까운 스크래치 카트리지를 선택하려는 경우:
드라이브를 선택한 후 스크래치 테이프 선택: 이렇게 하면 스크래치 카트리지에 가까운 드라이브가 선택됩니다.
query mount scratch
요청을 입력하여 원하는 스크래치 풀에서 대부분의 스크래치 매체에 사용 가능한 가장 가까운 드라이브를 식별합니다.
mount scratch
요청을 입력하여 선택한 드라이브에서 스크래치 카트리지를 마운트합니다. 선택적으로, 스크래치 풀을 지정합니다.
ACSAPI
요청의 경우 다음 중 하나를 지정합니다.
ALL_MEDIA_TYPE
(호환되는 매체가 선택됨) 또는
ANY_MEDIA_TYPE
(스크래치 선호 목록 사용)
cmd_proc
명령의 경우에는 다음 중 하나를 수행합니다.
매체 유형 지정 안함(호환되는 매체가 선택됨) 또는
media *
지정(스크래치 선호 목록 사용)