Computer >> 컴퓨터 >  >> 시스템 >> Windows Server

Windows Server 2016/2012 R2에서 MPIO 설치 및 구성하는 방법

이 글에서는 Windows Server 2016/2012 R2에서 MPIO를 설치하고 구성하는 방법을 살펴봅니다. MPIO(Multi-Path Input/Output, 다중 경로 입출력)는 중복 경로를 활용하여 데이터 스토리지 시스템(또는 스토리지 서버)까지 장애 허용형 전송 경로를 구축할 수 있게 해주는 기술입니다. 서버와 스토리지 사이의 추가 경로는 스위치, 케이블, 어댑터 또는 NIC 같은 중복 물리 구성 요소를 통해 생성됩니다. 다만 이러한 이중화 구조에는 한 가지 단점이 있습니다. 운영체제가 동일한 LUN을 경로마다 서로 다른 디스크로 인식할 수 있다는 점입니다.

서버가 여러 iSCSI 이니시에이터 어댑터 또는 여러 파이버 채널 포트를 통해 하나의 논리 디스크(LUN)에 접근할 수 있는 경우, MPIO 모듈이 설치되어 있지 않으면 디스크 관리자는 실제 LUN 개수보다 많은 디스크(= LUN당 경로 수 × 제공된 LUN 수)를 표시하게 됩니다.

아래 스크린샷은 MPIO가 없는 Windows가 실제로는 동일한 LUN인데도 서로 다른 두 개의 드라이브로 인식하는 모습을 보여줍니다(제공된 디스크 목록은 Get-Disk PowerShell cmdlet으로 확인할 수 있습니다).

Windows Server 2016/2012 R2에서 MPIO 설치 및 구성하는 방법

운영체제가 MPIO를 지원하면 제공된 각 디스크를 한 대의 디스크로만 인식합니다. MPIO가 활성화되면 서버는 여러 경로를 통해 스토리지의 데이터에 접근할 수 있어 LUN 접근 속도가 빨라지고, 여러 네트워크 또는 HBA 어댑터를 활용할 수 있습니다.
MPIO는 하나 이상의 구성 요소에 장애가 발생하면 대체 논리 경로를 사용할 수 있으며, 이때 운영체제는 데이터 접근 일관성을 유지하면서 다른 경로로 LUN에 접근합니다. 따라서 MPIO는 장애 허용형 스토리지 및 데이터 접근 시스템의 핵심 구성 요소이며, MPIO 모듈은 동일한 LUN에 대한 부하를 여러 경로에 분산할 수도 있습니다.

팁: 운영체제가 MPIO를 지원하지 않는다면 데이터 손실을 방지하기 위해 LUN까지의 경로를 하나만 남겨두세요. 서버에서 파이버 채널 포트 하나 또는 iSCSI 이니시에이터 어댑터 하나만 활성화하고, 스토리지 시스템과 SAN/네트워크 스위치 수준에서도 LUN으로의 추가 경로를 비활성화해야 합니다.

Windows Server 2016/2012 R2에 MPIO 설치하기

Windows Server는 Windows Server 2008 R2부터 MPIO(Multipath I/O)를 지원합니다. Microsoft MPIO는 스토리지에 대한 다중 연결을 통해 고가용성과 부하 분산을 제공하며, 특정 프로토콜에 종속되지 않고 iSCSI, 파이버 채널(Fibre Channel), SAS를 이용한 디스크 배열 및 스토리지 연결을 지원합니다.

기본적으로 Windows Server에서 MPIO 모듈은 비활성화되어 있습니다. Windows Server 2016에서 MPIO를 설치하는 방법은 두 가지입니다.

  • 그래픽 인터페이스에서 서버 관리자(Server Manager) 콘솔 사용
  • PowerShell 명령줄 사용

서버 관리자를 이용해 MPIO 활성화

  1. 서버 관리자를 엽니다.
  2. 기능(Features) 목록에서 Multipath I/O를 찾아 체크합니다.Windows Server 2016/2012 R2에서 MPIO 설치 및 구성하는 방법
  3. MPIO 설치를 마친 뒤 서버를 재시작합니다.

PowerShell로 Multipath-IO 설치

PowerShell 콘솔을 관리자 권한으로 실행한 뒤, 아래 명령으로 Windows Server 기능을 설치합니다.

Add-WindowsFeature -Name 'Multipath-IO'

Windows Server 2016/2012 R2에서 MPIO 설치 및 구성하는 방법

MPIO가 제대로 설치되었는지 확인하려면 다음 명령을 실행합니다.

Get-WindowsFeature -Name 'Multipath-IO'

Windows Server 2016/2012 R2에서 MPIO 설치 및 구성하는 방법

참고: MPIO를 제거하려면 다음 명령을 입력하세요.

Remove-WindowsFeature -Name 'Multipath-IO'

Windows Server 2016에서 MPIO 구성

MPIO 모듈을 설치한 후에는 여러 경로로 접근 가능한 LUN에 대해 MPIO를 활성화해야 합니다. 기본적으로 Windows는 디스크로의 각 연결을 서로 다른 논리 디스크(LUN)로 인식합니다.

팁: MPIO 구성 요소 중에는 MSDSM(Microsoft Device Specific Module)이라는 특수 모듈이 있어 부하 분산 정책을 관리할 수 있습니다. 기본적으로 MPIO는 표준 Microsoft DSM과 함께 설치되지만, 대부분의 경우 스토리지 제조업체(IBM DSM, HP DSM MPIO 등)가 제공하는 DSM 모듈을 설치하는 것이 좋습니다. 일반적으로 네이티브 DSM은 제조업체가 자사 하드웨어의 동작 조건과 특성을 기반으로 만들기 때문에 Microsoft의 것보다 더 나은 성능과 더 많은 기능을 제공합니다.

Microsoft DSM 모듈(MSDSM)이 연결 유형에 따라 SAN 디스크를 자동으로 병합하도록 허용하세요. MSDSM은 스토리지까지 여러 경로를 가진 LUN을 자동으로 감지하며, 대부분의 주요 스토리지 장치를 지원합니다.

명령 프롬프트에서 다음과 같이 설정할 수 있습니다.

  • SAS 디스크: Enable-MSDSMAutomaticClaim -BusType SAS
  • iSCSI 디스크: Enable-MSDSMAutomaticClaim -BusType iSCSI

참고: mpclaim 도구(Windows 2008 R2부터 제공)를 사용해도 동일한 작업을 수행할 수 있습니다. 아래 명령은 시스템이 감지한 모든 장치를 스캔하여 여러 경로를 가진 장치를 찾아 MPIO 지원을 활성화합니다.

mpclaim.exe -r -i -a ""

GUI에서도 DSM을 활성화할 수 있습니다. 서버 관리자를 열고 도구(Tools) 메뉴에서 MPIO를 선택합니다(또는 mpiocpl 명령 실행).

Discover Multi-Paths 탭으로 이동해 Add support for SAS devices(iSCSI 스토리지를 사용하는 경우 Add support for iSCSI devices)를 체크하고 Add를 클릭합니다. 그런 다음 서버를 재시작합니다.

Windows Server 2016/2012 R2에서 MPIO 설치 및 구성하는 방법

재시작 후 장치 관리자(또는 디스크 관리)를 열어 서버에 표시되는 디스크(LUN) 수가 절반으로 줄었는지 확인합니다(스토리지 장치로의 경로가 두 개인 경우).

MPIO 지원이 활성화된 장치 목록은 MPIO Devices 탭에서 관리하거나 Get-MSDSMSupportedHw 명령으로 확인할 수 있습니다.

Windows Server 2016/2012 R2에서 MPIO 설치 및 구성하는 방법

새 MPIO 장치는 Add 버튼을 클릭하거나 PowerShell에서 다음 명령으로 추가할 수 있습니다.

New-MSDSMSupportedHw -VendorId <vend> -ProductId <product>

클러스터를 구축하는 경우 반드시 모든 노드에서 MPIO를 구성해야 합니다.

iSCSI 타깃을 2개의 경로로 연결하면서 MPIO를 사용하려면 타깃 연결 시 iSCSI LUN을 선택하고 Connect를 클릭한 뒤 Enable multi-path 옵션을 체크합니다.

Windows Server 2016/2012 R2에서 MPIO 설치 및 구성하는 방법

그런 다음 Advanced를 클릭하여 서로 다른 이니시에이터 IP 주소와 서로 다른 타깃 IP 주소를 바인딩합니다.

Windows Server 2016/2012 R2에서 MPIO 설치 및 구성하는 방법

현재 MPIO 설정은 PowerShell로 확인할 수 있습니다.

Get-MPIOSetting

Windows Server 2016/2012 R2에서 MPIO 설치 및 구성하는 방법

PathVerificationState     : Disabled
PathVerificationPeriod : 30
PDORemovePeriod : 20
RetryCount : 3
RetryInterval : 1
UseCustomPathRecoveryTime : Disabled
CustomPathRecoveryTime : 40
DiskTimeoutValue : 60

MPIO 타이머 설정은 다음과 같이 변경할 수 있습니다(예: 올 플래시 배열에 권장되는 설정 활성화).

Set-MPIOSetting -NewPathRecoveryInterval 20 -CustomPathRecovery Enabled -NewPDORemovePeriod 30 -NewDiskTimeout 60 -NewPathVerificationState Enabled

사용 가능한 MPIO 부하 분산 정책은 다음과 같습니다.

  • FOO — Fail Over Only(장애 조치 전용)
  • RR — Round Robin(라운드 로빈)
  • LQD — Least Queue Depth(최소 큐 깊이)
  • LB — Least Blocks(최소 블록)

부하 분산 정책을 변경하려면 다음 명령을 사용합니다.

Set-MSDSMGlobalLoadBalancePolicy -Policy RR

연결된 LUN 속성의 MPIO 탭에서도 부하 분산 정책을 선택할 수 있습니다. 아래 예시에서는 배열에 Round Robin 정책이 선택되어 있습니다.

Windows Server 2016/2012 R2에서 MPIO 설치 및 구성하는 방법

MPIO 모듈에서 사용 가능한 PowerShell 명령 전체 목록을 보려면 다음 명령을 실행합니다.

Get-Command -Module Mpio

Windows Server 2016/2012 R2에서 MPIO 설치 및 구성하는 방법

Windows Server의 SAN(디스크) 정책

Windows에는 호스트에 디스크가 연결될 때 해당 디스크를 자동으로 마운트할지 여부를 결정하는 특별한 디스크 정책(SAN Policy)이 있습니다.

현재 SAN 정책 설정은 diskpart로 확인할 수 있습니다. 기본값은 SAN에 대한 OfflineShared 정책입니다.

diskpart
DISKPART> san

이 SAN 정책 때문에 재시작 후 외부 스토리지 LUN이 오프라인 상태로 전환될 수 있습니다. 관련 내용은 "관리자가 설정한 정책으로 인해 디스크가 오프라인 상태입니다(The Disk Is Offline Because of Policy Set by an Administrator)" 문서를 참고하세요.

디스크를 자동으로 마운트하려면 SAN 정책 값을 OnlineAll로 변경합니다.

DISKPART> san policy=OnlineAll

Windows Server 2016/2012 R2에서 MPIO 설치 및 구성하는 방법

설정 가능한 SAN 정책 값은 다음과 같습니다.

OfflineAll모든 디스크가 기본적으로 오프라인 상태
OfflineInternal내부 버스에 연결된 모든 디스크가 오프라인 상태
OfflineSharediSCSI, FC 또는 SAS로 연결된 모든 디스크가 오프라인 상태
OnlineAll모든 디스크가 자동으로 온라인 상태로 전환됨(권장)