TrueNAS Scale 에서 iSCSI 사용해보기

 

안녕하세요. 달소입니다.

이번글에서는 TrueNAS에서 기본지원하는 마지막 공유방법인 iSCSI 공유에 대해서 알아보고 설정을 진행해보겠습니다.

 

보편적으로 많이 쓰이는 SMB, NFS는 아니지만 서버쪽에서 사용되는 iSCSI 입니다.

 
iSCSI에 대해서

1. iSCSI란 무엇인가요? (쉬운 비유)

SMB나 NFS가 "네트워크 폴더"를 빌려주는 방식이라면, iSCSI는 "네트워크 하드디스크"를 통째로 빌려주는 방식입니다.

  • SMB/NFS (파일 레벨 접근):
    • 클라이언트 PC는 TrueNAS에게 "저기 movies 폴더 안에 있는 abc.mp4 파일 좀 줘" 라고 파일 단위로 요청합니다.
    • TrueNAS가 파일 시스템(ZFS)을 관리하며, 클라이언트는 그저 폴더를 빌려 쓸 뿐입니다.
    • 비유: 식당에 가서 "김치찌개 주세요" 라고 주문하는 것과 같습니다. 주방(TrueNAS)에서 모든 것을 요리하고 손님(클라이언트)은 완성된 요리만 받습니다.
  • iSCSI (블록 레벨 접근):
    • 클라이언트 PC는 TrueNAS에게 "너의 저장 공간 중 500GB 덩어리를 나에게 통째로 줘" 라고 **하드디스크의 일부(블록)**를 직접 요청합니다.
    • 클라이언트 PC는 이 공간을 마치 자신의 컴퓨터에 직접 연결된 로컬 하드디스크(D드라이브, E드라이브 등)처럼 인식하고, 직접 포맷하고 파일 시스템을 설치해서 사용합니다. TrueNAS는 그저 공간만 빌려줄 뿐, 그 안에서 무슨 일이 일어나는지는 신경 쓰지 않습니다.
    • 비유: 마트에서 "돼지고기 500g, 김치 한 포기 주세요" 라고 재료를 사 오는 것과 같습니다. 재료(저장 공간)를 가져와서 내 집(클라이언트) 주방에서 직접 요리(포맷, 파일 관리)를 해야 합니다.

2. iSCSI의 장점과 단점

장점

  1. 높은 호환성: 클라이언트 입장에서는 그냥 로컬 디스크로 보이기 때문에, 로컬 디스크에서만 작동하는 프로그램(특정 데이터베이스, 백업 솔루션, 윈도우 디스크 관리 등)을 네트워크 스토리지에서 사용할 수 있습니다.
  2. 뛰어난 성능: 파일 단위가 아닌 블록 단위로 직접 데이터를 주고받기 때문에, 특히 데이터베이스나 가상화 환경에서 NFS보다 더 높은 성능을 보이는 경우가 많습니다.
  3. 클라이언트의 완벽한 제어: 클라이언트가 저장 공간을 직접 포맷(NTFS, ext4 등)하고 관리하므로, 원하는 파일 시스템을 자유롭게 사용할 수 있습니다.

단점

  1. 복잡한 설정: SMB나 NFS에 비해 설정 과정이 훨씬 복잡합니다. 서버(Target)와 클라이언트(Initiator) 양쪽에서 여러 단계를 거쳐야 합니다.
  2. 공유의 어려움: 기본적으로 iSCSI LUN(저장 공간 덩어리)은 오직 하나의 클라이언트만 독점적으로 연결할 수 있습니다. 여러 PC가 동시에 하나의 iSCSI 드라이브에 접속하면 파일 시스템이 손상됩니다. (클러스터 파일 시스템 등 특수한 경우는 제외)
  3. 네트워크 의존성: 모든 디스크 I/O가 네트워크를 통해 이루어지므로, 안정적이고 빠른 네트워크 환경이 필수적입니다.

TrueNAS에서 설정하기

TrueNAS 관리콘솔에서 iSCSI 공유대상 마법사로 진행합니다.

image.png

 

image.png

 

데이터 세트도 여기서 그냥 만들어줬습니다.

image.png

 

크기와 공유플랫폼도 지정이 필요한데 Proxmox가 따로없어서 최신 OS라고 한번해봤습니다.

 

image.png

 

 

image.png
image.png

 

iscsi의 경우 블록단위의 디스크를 만드는것이기때문에 지정한 용량만큼의 디스크를 항상 사용하고있다고 보면됩니다.

 

image.png

 

생성된 iSCSI에 지정된 호스트만 접근하게 하고싶다면 iSCSI의 설정에 가서 인증 네트워크를 지정해주면됩니다.

 

image.png

 

iSCSI 연결하기 (Proxmox)

이제 생성한 iSCSI 디스크를 Proxmox에서 연결해보겠습니다.

Proxmox 스토리지 -> iSCSI 로 추가합니다.

 

image.png

portal에 ip를 입력

생성한 iscsi 디스크가 보입니다.

image.png

 생성하고 나면 이렇게 노드에서도 사용이 가능합니다.

image.png

 

이렇게 연결하고나서 VM을 생성할때 스토리지를 iscsi로 지정해주면

아래처럼 사용가능한 블록디스크를 붙일 수 있습니다.

 

image.png

 

OS를 설치할때 보니 아래처럼 2.5G 대역폭을 거의 다 뽑아주는 걸 볼 수 있습니다.

image.png

 

iSCSI 연결하기 (Windows)

윈도우에서도 이 가상디스크를 연결할 수 있습니다.

image.png

 

image.png

 

대상에 ip를 넣고 빠른연결을 하면 생성한 iSCSI가 나오고 연결을 누르시면됩니다.

image.png

 

이상태에서 diskmgmt.msc, 디스크 관리로 가면

image.png

디스크가 보이는데 포맷 후 사용하시면 됩니다.

image.png

 

그냥 D드라이브입니다 ㅎㅎ

image.png

 

wifi 임을 감안해도 smb에 비해 오히려 속도가 떨어지는부분은 좀 아쉽네요

image.png

대시보드에서 봐도 뭔가 속도를 제대로 활용하지 못하는 느낌입니다.
Proxmox에서는 OS 설치시에도 거의 속도를 다 뽑아줬는데 윈도우 종특인것같은 느낌도..ㅎㅎ

image.png

 

무튼 간단하게 알아본 iSCSI에 대한 설정부분입니다.

더 좋은 팁이나 정보가 있다면 댓글로 달아주세요~