iSCSI(Internet Small Computer System Interface)는 IP 프로토콜을 통해 스토리지 장치에 접근할 수 있도록 해주는 SCSI 프로토콜입니다. iSCSI를 활용하면 Fiber Channel(FC) 장비 없이도 일반적인 TCP/IP 네트워크를 통해 서버를 공유 네트워크 스토리지에 연결할 수 있습니다.
이 글에서는 Windows Server 2019 환경에서 iSCSI 타겟(가상 디스크)을 구성하고, 다른 서버에서 해당 iSCSI LUN에 연결하는 방법을 단계별로 살펴봅니다(Windows Server 2016 및 2012 R2에서도 동일한 방식으로 구성할 수 있습니다). iSCSI의 대표적인 활용 사례는 다음과 같습니다.
- 파일 서버에 추가 스토리지 공간이 필요할 때, 다른 스토리지 서버의 가상 디스크를 iSCSI로 연결하는 경우
- 여러 서버가 공유 스토리지에 접근해야 하는 장애 조치(Failover) 클러스터를 구축하는 경우
iSCSI 디스크를 사용하려면 먼저 스토리지 서버에서 가상 디스크(일반적인 VHD/VHDX 파일)를 생성한 뒤 이를 iSCSI 타겟으로 게시해야 하며, iSCSI 이니시에이터(다른 서버 또는 장치)가 이 타겟에 연결하는 구조입니다.
목차
- Windows Server에서 iSCSI 타겟 구성하기
- Windows Server에 iSCSI 이니시에이터 설치 및 구성하기
Windows Server에서 iSCSI 타겟 구성하기
가장 먼저 서버 관리자(Server Manager)를 열고 파일 및 저장소 서비스 → 파일 및 iSCSI 서비스에서 iSCSI Target Server 역할을 활성화합니다.

PowerShell을 통해서도 역할을 설치할 수 있습니다.
Install-WindowsFeature -Name FS-iSCSITarget-Server
iSCSI 가상 디스크 생성
다음으로 iSCSI 서버에서 가상 디스크를 생성합니다. 서버 관리자 → 파일 및 저장소 서비스 → iSCSI로 이동한 후, 새 iSCSI 가상 디스크 마법사를 실행합니다.

마법사에서는 가상 디스크 파일이 저장될 물리적 파티션을 선택하고, 새 iSCSI 디스크의 이름, 크기, 유형(고정 크기, 동적 확장, 차등) 및 iSCSI 타겟 이름을 지정합니다.
접근 권한 설정
액세스 서버 단계에서는 iSCSI 타겟에 연결할 수 있는 서버(iSCSI 이니시에이터)를 아래 옵션 중 하나로 지정합니다.
- IQN (사전에 서버에서 iSCSI 이니시에이터를 활성화한 뒤 IQN을 복사해야 합니다)
- DNS 이름
- IP 주소
- MAC 주소
여기서는 IP 주소 옵션을 사용하겠습니다.

CHAP 인증 구성
마법사의 다음 단계는 CHAP 인증 프로토콜 구성입니다. 이니시에이터의 연결을 인증하려면 반드시 설정해야 합니다. CHAP을 활성화하고 사용자 이름과 12자 이상의 암호를 입력한 뒤 다음 → 다음 → 마침을 클릭하여 마법사를 완료합니다. 이후 D:\iSCSIVirtualDisks 폴더에 iscsiDisk2.vhdx 파일이 정상적으로 생성되었는지 확인합니다.
PowerShell로 iSCSI 디스크 생성하기
PowerShell을 사용하면 명령줄에서도 iSCSI 디스크를 생성할 수 있습니다. 다음은 200GB 가상 디스크를 생성하는 예시입니다.
New-IscsiVirtualDisk -Path c:\iSCSIVirtualDisks\iscsiDisk2.vhdx -Size 200GB
기본적으로 Size 매개변수에 지정한 값과 관계없이 4,096KB 크기의 동적 디스크가 생성되며, 이 디스크는 필요에 따라 자동으로 확장됩니다.

생성 시점에 물리적 드라이브의 공간을 미리 예약하는 고정 크기 디스크를 사용하려면 UseFixed 매개변수를 추가합니다.
New-IscsiVirtualDisk -Path c:\iSCSIVirtualDisks\iscsiDisk2.vhdx -Size 200GB –UseFixed
참고: IOPS 요구가 높고 쓰기 작업이 빈번한 디스크에는 고정 크기 VHDX 파일을 사용하는 것이 좋습니다. 동적 디스크는 증분 확장 작업 시 추가적인 시스템 리소스를 소비하기 때문입니다.
iSCSI 타겟 생성 및 확인
이제 타겟 이름을 지정합니다. 이 단계에서 이니시에이터 서버의 IP 주소를 통해 접근을 허용할 수 있습니다.
New-IscsiServerTarget -TargetName "iscsiTarget33" -InitiatorId @("IPAddress:172.17.244.8")
IP 주소 대신 IQN 이름(네트워크 내에서 고유한 iSCSI 장치 식별자)을 사용할 수도 있습니다.
New-IscsiServerTarget -TargetName iscsiTarget33 -InitiatorIds "IQN:1991-05.com.microsoft:win2019test.ddd.com"

설정이 완료되면 아래 명령으로 결과를 확인하는 것이 좋습니다.
Get-IscsiServerTarget | fl TargetName, LunMappings

Get-IscsiTarget cmdlet으로 전체 타겟 이름을 조회한 후, 해당 타겟에 연결할 수 있습니다.
Connect-IscsiTarget -NodeAddress iqn.1991-05.com.microsoft:win2019test-iscsitarget33-target

Windows Server에 iSCSI 이니시에이터 설치 및 구성하기
다음 단계는 두 번째 서버(이니시에이터)에서 앞서 생성한 가상 iSCSI 디스크에 연결하는 것입니다. 제어판을 열어 iSCSI 이니시에이터를 실행하거나, iscsicpl.exe 명령을 실행합니다.

서비스 관리 콘솔(services.msc)에서 Microsoft iSCSI Initiator Service의 시작 유형을 자동으로 설정하거나, 아래 명령을 사용합니다.
Set-Service -Name MSiSCSI -StartupType Automatic
타겟 포털 검색 및 연결
검색(Discovery) 탭에서 포털 검색을 클릭하고 첫 번째 서버(iSCSI 타겟)의 IP 주소를 입력합니다. 스토리지 트래픽을 특정 네트워크 인터페이스로 라우팅하려면 고급을 클릭한 후 드롭다운 목록의 기본값을 다음과 같이 변경합니다.
- 로컬 어댑터 → Microsoft iSCSI Initiator
- 이니시에이터 IP → 172.17.244.8

참고: iSCSI 스토리지에 연결하려면 Windows 방화벽에서 TCP 포트 860과 3260을 열어 두어야 합니다.
이후 대상(Targets) 탭으로 이동하면 새로운 연결이 표시됩니다. 연결 → 고급을 클릭하고, 드롭다운 목록에서 원하는 값을 선택한 뒤 CHAP 로그온 사용에 체크하고 사용자 이름과 12자 암호를 입력합니다.

디스크 초기화 및 포맷
연결된 iSCSI 디스크는 초기에 오프라인 상태이므로 초기화가 필요합니다. 디스크 관리 콘솔에서 새 디스크를 마우스 오른쪽 버튼으로 클릭한 후 온라인 → 디스크 초기화를 차례로 선택합니다. 이어서 새 디스크에 하나 이상의 파티션을 생성하고 드라이브 문자와 레이블을 할당한 뒤, 볼륨을 NTFS로 포맷합니다.
새 디스크를 빠르게 초기화하고 포맷하려면 다음 PowerShell 한 줄 명령을 활용할 수 있습니다.
Get-Disk |Where-Object PartitionStyle -eq 'RAW' |Initialize-Disk -PartitionStyle MBR -PassThru |New-Partition -AssignDriveLetter -UseMaximumSize |Format-Volume -FileSystem NTFS -Confirm:$false
주의: iSCSI 디스크는 ReFS 파일 시스템을 지원하지 않습니다.
이제 iSCSI를 통해 연결된 가상 디스크를 다른 서버에서 일반 로컬 드라이브처럼 자유롭게 사용할 수 있습니다.

이러한 가상 iSCSI 디스크는 Windows Server에서 메모리 기반의 가상 RAM 드라이브를 구성하는 용도로도 활용할 수 있습니다.
PowerShell로 iSCSI 이니시에이터 연결하기
이니시에이터 호스트에서도 PowerShell을 사용해 iSCSI 디스크에 연결할 수 있습니다. 먼저 Get-iSCSITarget cmdlet으로 타겟 IQN을 조회합니다.
그다음 아래 명령으로 iSCSI 타겟에 연결합니다(IQN 입력 필요).
Connect-IscsiTarget –IsPersistent $False

추가로 CHAP 인증을 사용하는 경우, 아래 명령으로 인증 자격 증명을 함께 전달합니다.
Get-iScsiTarget | Connect-iScsitarget –AuthenticationType ONEWAYCHAP –ChapUserName <username> -ChapSecret <secret>
고가용성 및 부하 분산 팁: iSCSI 디스크에 고가용성과 부하 분산을 제공하려면 중복된 네트워크 구성 요소(네트워크 어댑터, 네트워크 스위치 등)를 여러 개 구성하고 MPIO(Multipath I/O) 모듈을 함께 사용하는 것이 좋습니다.