Qutil을 사용하여 Windows 호스트에서 Windows 레지스트리 설정


최신 업데이트일: 2019-12-11

개요

Qutil은 Windows 호스트가 QNAP ES NAS에 대한 스토리지 시스템 동작을 올바로 처리할 수 있도록 보장하는 데 필요한 Windows 레지스트리를 설정하는 PowerShell 스크립트입니다. 또한 사용자가 Qutil를 사용하여 최적의 로드 밸런싱 정책으로 설정하는 데 필요한 QNAP LUN을 선택할 수 있습니다.

기본 사양:

항목 설명
지원되는 펌웨어 QTS: 4.2.x 이상
QES: 모든 버전
지원되는 OS Windows Server 2008 이상
복수 언어 영어만

로드 밸런싱 정책

다음 Microsoft Multipath I/O(MPIO) 정책 중에서 선택할 수 있습니다:
장애조치만 해당 - 로드 밸런싱을 수행하지 않는 정책. 이 정책은 단일 활성 경로를 사용하고, 나머지 경로는 대기 경로에 해당합니다. 활성 경로는 모든 I/O를 전송하는 데 사용됩니다. 활성 경로가 실패하면 대기 경로 중 하나가 사용됩니다. 실패한 경로가 다시 활성화되거나 다시 연결되면 활성화되었던 대기 경로가 대기 상태로 돌아갑니다.
라운드 로빈 - 장치별 모듈(DSM)이 균형 잡힌 방식으로 MPIO에 대해 모든 가용 경로를 사용하도록 허용하는 로드 밸런싱 정책. 스토리지 컨트롤러가 활성-활성 모델을 준수하고 관리 애플리케이션이 특별히 로드 밸런싱 정책을 선택하지 않은 경우, 선택되는 기본 정책에 해당합니다.
라운드 로빈(하위 세트 포함) - 대기 경로 세트와 함께 애플리케이션이 라운드 로빈 방식으로 경로 세트를 지정하도록 허용하는 로드 밸런싱 정책. 최소 하나의 경로를 사용할 수 있는 경우, DSM이 요청 처리를 위해 기본 경로 풀에 속한 경로를 사용합니다. DSM은 모든 기본 경로가 실패했을 때만 대기 경로를 사용합니다. 예를 들어, 주어진 4개 경로: A, B, C, D에서 A, B, C가 기본 경로로 나열되고 D가 대기 경로에 해당합니다. 최소 하나의 경로를 사용할 수 있으면 DSM이 라운드 로빈 방식으로 A, B, C 중에서 경로를 선택합니다. 3개 경로가 모두 실패하면 DSM이 대기 경로인 D를 사용합니다. 경로 A, B 또는 C를 사용할 수 있으면 DSM이 경로 D의 사용을 중지하고 A, B, C 중에서 사용 가능한 경로로 전환합니다.
최소 대기열 깊이 - 현재 가장 적은 미해결 I/O 요청을 가진 경로로 I/O를 전송하는 로드 밸런싱 정책. 예를 들어, 경로 1의 LUN 1로 전송하는 I/O 하나와 경로 1의 LUN 2로 전송하는 다른 I/O가 존재하는 것으로 가정합니다. 경로 1에서 누적된 미해결 I/O는 2개이고 경로 2에서는 0개입니다. 따라서 LUN의 다음 번 I/O는 경로 2에서 처리됩니다.
가중 경로 - 각 경로에 가중치를 할당하는 로드 밸런싱 정책. 가중치는 주어진 경로에 대한 상대적 우선순위를 나타냅니다. 수치가 클수록 우선순위가 더 낮습니다. DSM은 사용 가능한 경로 중에서 최소 가중 경로를 선택합니다.
최소 블록 - 현재 처리 중인 최소의 데이터 블록 개수를 가진 경로로 I/O를 전송하는 로드 밸런싱 정책. 예를 들어, 10바이트와 20바이트의 I/O가 두 개인 것으로 가정합니다. 둘 모두 경로 1에서 처리 중이고, 완료된 경로 2를 갖습니다. 경로 1에서 누적된 미해결 I/O 크기는 30바이트입니다. 경로 2는 0입니다. 따라서 다음 번 I/O는 경로 2에서 처리됩니다.

iSCSI 초기자 MPIO 구성

  1. "시작"을 클릭하고 검색 시작에서 "iSCSI"를 입력한 다음, 프로그램에서 "iSCSI 초기자"를 클릭합니다.
  2. 처음으로 Microsoft iSCSI 초기자를 실행한 경우, Microsoft iSCSI 서비스가 실행 중이 아님을 나타내는 메시지를 받게 됩니다. Microsoft iSCSI 초기자가 올바로 실행되려면 해당 서비스를 시작해야 합니다. “예”를 클릭하여 서비스를 시작합니다. Microsoft iSCSI 초기자 속성 창이 열립니다.
  3. “검색” 탭을 클릭합니다. 대상 포털을 추가하려면 "포털 검색"을 클릭한 다음, "대상 포털 검색" 대화상자에 연결할 대상 포털의 IP 주소 또는 이름을 입력합니다. 같은 서브넷에 속하는 이중 컨트롤러의 데이터 포트에 대한 IP 주소가 추가됩니다(관리 포트와는 반대). 기본적으로 TCP 포트를 3260으로 유지하십시오.
  4. 그러면 사용 가능한 iSCSI 대상 및 해당 상태가 “대상” 탭 아래에 표시됩니다. 연결하려는 대상을 선택하고 “연결”을 클릭합니다.
  5. “다중 경로 활성화”를 선택하고 “고급”을 클릭합니다.
  6. “고급 설정” 창에서 “로컬 어댑터”로 “Microsoft iSCSI 초기자”를 선택합니다. “초기자 IP” 드롭다운 목록 및 “대상 포털 IP” 드롭다운 목록에서 각각 IP 주소를 선택합니다. 초기자 IP 및 대상 포털 IP가 같은 서브넷에 있는지 확인하십시오.
  7. “확인”을 클릭하여 창을 닫습니다.
  8. 이러한 iSCSI 대상 중 하나가 성공적으로 연결되었음이 표시됩니다. 이 대상을 선택한 다음, “속성”을 클릭합니다.
  9. “세션” 탭에서 “세션 추가”를 선택합니다.
  10. “다중 경로 활성화”를 선택하고 “고급...”을 클릭합니다.
  11. 다른 서브넷에 속하는 데이터 포트의 IP 주소를 추가합니다. 초기자 IP 및 대상 포털 IP가 같은 서브넷에 있는지 확인하십시오. “확인”을 클릭하여 창을 닫습니다.
  12. 다른 세션이 추가된 것을 확인할 수 있습니다. “확인”을 클릭하여 창을 닫습니다.
  13. MPIO를 포함한 다른 iSCSI 대상을 설정하려면 3단계부터 12단계까지 반복하십시오.
  14. MPIO와 함께 두 대상을 모두 구성한 후, iSCSI 서비스에 영구적으로 구속시킬 iSCSI 볼륨 및/또는 장치를 추가합니다. 영구적으로 구속된 모든 볼륨 및 장치를 컴퓨터에서 사용할 수 있을 때까지 iSCSI 초기자 서비스가 초기화를 완료하지 않습니다. iSCSI 초기자 속성 창에서 “볼륨 및 장치” 탭을 선택한 다음, “자동 구성”을 클릭하여 사용 가능한 모든 장치를 자동으로 구성합니다. 볼륨 목록에서 새 볼륨이 "mpio#disk......"로 명명된 것을 확인할 수 있습니다. “확인”을 클릭하여 창을 닫습니다.

Qutil로 설정되는 레지스트리 값

Windows 호스트가 스토리지 시스템 동작을 올바로 처리하기 위해서는 Qutil에 특정 레지스트리 설정이 필요합니다. 이러한 설정은 Windows 호스트가 데이터 지연 또는 손실에 응답하는 방식에 영향을 줍니다. Windows 호스트가 스토리지 시스템에서 한 컨트롤러의 장애조치와 같은 이벤트를 파트너 컨트롤러에 대해 올바로 처리할 수 있도록 특정 값이 선택되었습니다.

다음의 값이 Qutil에 의해 설정됩니다. 모든 값은 특별히 명시되지 않은 한 십진수입니다. HKLM은 HKEY_LOCAL_MACHINE의 약어입니다.

레지스트리 키(QNAP)
HKLM\SYSTEM\CurrentControlSet\Services\disk \TimeOutValue 60
HKLM\SYSTEM\CurrentControlSet\Control\Class\
{4D36E97B-E325-11CE-BFC1-08002BE10318}\0001(?)\Parameters\DelayBetweenReconnect
10
HKLM\SYSTEM\CurrentControlSet\Control\Class\
{4D36E97B-E325-11CE-BFC1-08002BE10318}\0001(?)\Parameters\LinkDownTime
300
HKLM\SYSTEM\CurrentControlSet\Control\Class\
{4D36E97B-E325-11CE-BFC1-08002BE10318}\0001(?)\Parameters\MaxRequestHoldTime
300
HKLM\SYSTEM\CurrentControlSet\Control\Class\
{4D36E97B-E325-11CE-BFC1-08002BE10318}\0001(?)\Parameters\SrbTimeoutDelta
300
HKLM\SYSTEM\CurrentControlSet\Services\mpio \Parameters\PathVerificationPeriod 30
HKLM\SYSTEM\CurrentControlSet\Services\mpio \Parameters\PDORemovePeriod 600
HKLM\SYSTEM\CurrentControlSet\Services\mpio \Parameters\RetryCount 3
HKLM\SYSTEM\CurrentControlSet\Services\mpio \Parameters\RetryInterval 1
HKLM\SYSTEM\CurrentControlSet\Services\msdsm \Parameters\DsmSupportedDeviceList "QNAP iSCSI 스토리지"
HKLM\SYSTEM\CurrentControlSet\Control\MPDEV \MPIOSupportedDeviceList "QNAP iSCSI 스토리지"
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\DurableHandleV2TimeoutInSecond 240
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\ExtendedSessTimeout 960
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\SessTimeout 240

레지스트리 키(NetApp)
HKLM\SYSTEM\CurrentControlSet\Services\msdsm \Parameters \DsmMaximumRetryTimeDuringStateTransition 120
HKLM\SYSTEM\CurrentControlSet\Services\msdsm \Parameters\ DsmMaximumStateTransitionTime 120
HKLM\SYSTEM\CurrentControlSet\Services\msdsm \Parameters\DsmSupportedDeviceList   "XXX "
HKLM\SYSTEM\CurrentControlSet\Control\Class\ {iSCSI_driver_GUID}\ instance_ID\Parameters \IPSecConfigTimeout 60
HKLM\SYSTEM\CurrentControlSet\Control\Class\ {iSCSI_driver_GUID}\ instance_ID\Parameters \LinkDownTime 30
HKLM\SYSTEM\CurrentControlSet\Services\ClusDisk \Parameters\ManageDisksOnSystemBuses 1
HKLM\SYSTEM\CurrentControlSet\Control\Class\ {iSCSI_driver_GUID}\ instance_ID\Parameters \MaxRequestHoldTime 60
HKLM\SYSTEM\CurrentControlSet\Control\MPDEV \MPIOSupportedDeviceList "xxxx "
HKLM\SYSTEM\CurrentControlSet\Services\mpio \Parameters\PathRecoveryInterval 40
HKLM\SYSTEM\CurrentControlSet\Services\mpio \Parameters\PathVerifyEnabled 0
HKLM\SYSTEM\CurrentControlSet\Services\msdsm \Parameters\PathVerifyEnabled 0
HKLM\SYSTEM\CurrentControlSet\Services\msiscdsm \Parameters\PathVerifyEnabled 0
HKLM\SYSTEM\CurrentControlSet\Services\vnetapp \Parameters\PathVerifyEnabled 0
HKLM\SYSTEM\CurrentControlSet\Services\mpio \Parameters\PDORemovePeriod 130
HKLM\SYSTEM\CurrentControlSet\Services\msdsm \Parameters\PDORemovePeriod 130
HKLM\SYSTEM\CurrentControlSet\Services\msiscdsm \Parameters\PDORemovePeriod 130
HKLM\SYSTEM\CurrentControlSet\Services\vnetapp \Parameters\PDORemovePeriod 130
HKLM\SYSTEM\CurrentControlSet\Services\ontapdsm \Parameters\ReservationTimeout 30
HKLM\SYSTEM\CurrentControlSet\Services\mpio \Parameters\RetryCount 6
HKLM\SYSTEM\CurrentControlSet\Services\msdsm \Parameters\RetryCount 6
HKLM\SYSTEM\CurrentControlSet\Services\msiscdsm \Parameters\RetryCount 6
HKLM\SYSTEM\CurrentControlSet\Services\vnetapp \Parameters\RetryCount 6
HKLM\SYSTEM\CurrentControlSet\Services\mpio \Parameters\RetryInterval 1
HKLM\SYSTEM\CurrentControlSet\Services\msdsm \Parameters\RetryInterval 1
HKLM\SYSTEM\CurrentControlSet\Services\msiscdsm \Parameters\RetryInterval 1
HKLM\SYSTEM\CurrentControlSet\Services\vnetapp \Parameters\RetryInterval 1
HKLM\SYSTEM\CurrentControlSet\Services\disk \TimeOutValue 60
HKLM\SYSTEM\CurrentControlSet\Services\mpio \Parameters\UseCustomPathRecoveryInterval 1

DsmMaximumStateTransitionTime 및 DsmMaximumRetryTimeDuringStateTransition 설정

DsmMaximumStateTransitionTime 및 DsmMaximumRetryTimeDuringStateTransition 설정은 Windows Server 2008, Windows Server 2008 R2 또는 Windows Server 2012 msdsm이 스택에서 상위 레이어에 I/O 오류를 반환하기 전에 ALUA 경로 전환을 대기하는 시간을 지정합니다.

DsmMaximumStateTransitionTime 및 DsmMaximumRetryTimeDuringStateTransition 설정을 통해 스토리지 시스템 장애조치 또는 다른 이벤트 후 경로 상태 전환을 완료할 수 있는 시간을 확보할 수 있습니다. 이들 설정은 Windows Server 2008, Windows Server 2008 R2 및 Windows Server 2012에서 MPIO 구성에 사용됩니다.

DsmSupportedDeviceList 설정

DsmSupportedDeviceList 설정은 DSM이 지정된 공급업체 식별자 및 제품 식별자(VID/PID)를 사용해 스토리지 장치를 클레임해야 함을 지정합니다.

이 설정은 Windows Server 2008, Windows Server 2008 R2 및 Windows Server 2012에 포함된 msdsm에 대해 설정됩니다. msdsm은 항상 다른 DSM에 우선순위를 부여합니다. 다른 DSM이 설치되고 지정된 VID/PID를 사용해 모든 LUN을 클레임하도록 구성된 경우, msdsm에 이 매개변수가 설정된 경우라도 해당 DSM이 지정된 LUN을 처리하게 됩니다.

IPSecConfigTimeout 설정

IPSecConfigTimeout 매개변수는 검색 서비스가 iSCSI 연결을 위한 ipsec를 구성하거나 릴리스할 때까지 iSCSI 초기자가 대기하는 시간을 지정합니다.

이 값을 통해 CHAP를 사용하는 느린 부팅 시스템에서 초기자 서비스를 올바로 시작할 수 있습니다.

LinkDownTime 설정

iSCSI에 한해, LinkDownTime 설정은 장치 대기열에 요청이 보류 중이고 대상의 연결이 끊겼을 때 다시 시도하는 최대 시간(초)을 지정합니다.

MPIO가 설치된 경우, 이 값이 사용됩니다. 그렇지 않으면 MaxRequestHoldTime이 대신 사용됩니다.

ManageDisksOnSystemBuses 설정

시작 디스크, pagefile 디스크, 클러스터 디스크가 모두 동일한 SAN 패브릭에 있도록 SAN 부팅 시스템에 의해 ManageDisksOnSystemBuses 매개변수가 사용됩니다.

ManageDisksOnSystemBuses 매개변수에 대한 자세한 내용은 Microsoft 지원 문서 886569를 참조하십시오.

MaxRequestHoldTime 설정

MaxRequestHoldTime 설정은 대상 연결이 끊기고 연결이 다시 시도될 때 요청이 대기열에 있는 최대 시간(초)을 지정합니다.

이 보류 기간이 지나면 요청이 “장치 없음 오류”와 함께 실패하고 디스크가 시스템에서 제거됩니다. 지원되는 설정을 통해 연결을 활성화하여 최대 예상 스토리지 장애조치 시간을 지속할 수 있습니다.

MPIOSupportedDeviceList

MPIOSupportedDeviceList 설정은 Windows MPIO 구성요소가 지정된 공급업체 식별자 및 제품 식별자(VID/PID)를 사용해 스토리지 장치를 클레임해야 함을 지정합니다.

이 매개변수는 어떤 DSM이 클레임한 장치를 처리하는지를 결정하지 않습니다. DsmSupportedDeviceList 설정이 사용할 DSM을 지정합니다.

PathRecoveryInterval 설정

PathRecoveryInterval 설정은 끊긴 경로를 다시 시도하기 전에 MPIO 구성요소가 대기하는 시간(초)을 지정합니다.

PathRecoveryInterval 설정으로 인해 디스크 장치를 더 이상 사용할 수 없음을 결정하기 전에 MPIO 구성요소가 순간적인 오류에 해당하는 끊긴 경로의 복구를 시도하게 됩니다.

이 매개변수는 시스템상의 모든 DSM에 영향을 줍니다.

PathVerifyEnabled 설정

PathVerifyEnabled 매개변수는 Windows MPIO 드라이버가 주기적으로 DSM이 해당 경로를 확인하도록 요청할지를 지정합니다.

이 매개변수는 시스템상의 모든 DSM에 영향을 줍니다.

PDORemovePeriod 설정

이 매개변수는 장치의 모든 경로가 끊긴 후 시스템 메모리에서 다중 경로 pseudo-LUN이 지속되는 시간을 지정합니다.

RetryCount 설정

RetryCount 매개변수는 대체 경로로의 장애조치 전에 LUN의 현재 경로를 다시 시도하는 횟수를 지정합니다.

RetryCount 설정은 일시적인 경로 문제로부터의 복구를 가능하게 해줍니다. 지정된 재시도 횟수 후 경로가 복구되지 않으면 보다 심각한 네트워크 문제가 발생했을 수 있습니다.

RetryInterval 설정

RetryInterval 매개변수는 실패한 경로의 재시도 사이에 대기하는 시간을 지정합니다. 이 설정은 다시 시도하기 전에 일시적인 문제로부터 복구할 기회를 제공합니다. 이중 컨트롤러 NAS 모델을 사용 중이고, NAS가 인계 상태일 때 iSCSI 또는 SMB 연결이 끊긴 상황이 발생할 경우, 이 값이 기본값에서 변경되었는지를 확인해볼 수 있습니다.

TimeOutValue 설정

TimeOutValue 디스크 매개변수는 시간 초과가 발생하고 위의 애플리케이션에 시간 초과 오류를 전달하기 전에 SCSI 레이어에서 I/O 요청이 보류되는 시간을 지정합니다.

UseCustomPathRecoveryInterval 설정

UseCustomPathRecoveryInterval 설정은 PathRecoveryInterval 설정의 사용을 활성화 또는 비활성화합니다.

이 매개변수는 시스템상의 모든 DSM에 영향을 줍니다.

워크플로 예시

mpclaim으로 모든 MPIO 관리 디스크 열거

"mpclaim" 명령은 로드 밸런싱 정책을 사용하는 모든 MPIO 디스크를 나열할 수 있습니다:
> mpclaim -s -d

mpclaim으로 특정 디스크의 로드 밸런싱 정책 변경

또한 "mpclaim" 명령은 특정 MPIO 디스크에 대한 로드 밸런싱 정책을 변경할 수 있습니다:
> mpclaim -l -d 0 3

모든 MPIO 관리 디스크 열거

먼저 Qutil이 모든 MPIO 디스크를 가져옵니다:
> get-wmiobject -Namespace root\wmi -Class mpio_get_descriptor

모든 MPIO 관리 QNAP 디스크 열거

“6E843B6” 접두어를 포함한 SerialNumber 속성을 필터링해서 Qutil이 QNAP NAS로부터 모든 MPIO 디스크를 가져옵니다:
> (get-wmiobject -Namespace root\wmi -Class mpio_disk_info).driveinfo

각 MPIO QNAP 디스크의 로드 밸런싱 정책 나열

Qutil이 각 MPIO QNAP 디스크의 모든 로드 밸런싱 정책을 나열합니다:
> (get-wmiobject -Namespace root\wmi -Class dsm_querylbpolicy_v2).loadbalancepolicy

LoadBalancePolicy 정의:

0: 정책 삭제
1: 장애조치만
2: 라운드 로빈
3: 라운드 로빈(하위 세트 포함)
4: 최소 대기열 깊이
5: 가중 경로
6: 최소 블록
7: 공급업체별

이 기사가 도움이 되었습니까?

50% 의 사용자들이 도움이 된다고 생각할 것입니다.
피드백을 주셔서 감사드립니다.

이 기사가 어떻게 개선될 수 있을지 말해 주십시오.

추가 피드백을 제공하려면 아래에 포함하십시오.

사양 선택

      더 보기 적게 보기

      다른 국가/지역 사이트:

      open menu
      back to top