[Linux]iSCSI을 사용하여 SAN(NAS서버) 저장공간 할당하기

“원격 파일시스템을 마운팅하기” 글에서 NFS, SSHFS 및 CIFS에 대해 알아봤는데요, 오늘은 iSCSI(Internet Small Computer System Interface) 프로토콜을 사용해서 SAN(Storage Area Netork)의 저장장치를 블록 수준으로 연결하는 방법을 알아보겠습니다.
iSCSI를 프로토콜을 사용하기 전에 먼저 SAN과 관련된 개념을 이해하고 가는 게 좋을 것 같습니다. SAN은 아키텍처이며 보통 FC(Fiber Channel) SAN이나 iSCSI SAN을 사용하여 구축됩니다. FC SAN은 고성능과 높은 신뢰성이 필요한 대규모 데이터 센터에 적합하며, 그에 따른 높은 비용과 복잡성을 가지고 있습니다. iSCSI SAN은 비용 효율성과 상대적인 간편한 구성으로 중소 규모의 기업 및 원격 위치에 이상적입니다. 하지만, 상대적으로 성능이 낮을 수 있습니다.


FC SAN

FC SAN
출처 : https://www.mycloudwiki.com/san/fc-san-components/

  • 장점 :
    1. 고성능: FC는 높은 대역폭과 낮은 지연 시간을 제공하여 대규모의 데이터를 빠르게 전송할 수 있습니다.
    2. 신뢰성: 전용된 네트워크를 사용하므로 다른 트래픽에 영향을 받지 않고 안정적으로 운영됩니다.
    3. 보안: FC는 일반적으로 물리적인 특성과 함께 데이터를 안전하게 전송할 수 있는 다양한 기능을 제공합니다.
  • 단점 :
    1. 비용: FC는 전용 하드웨어 및 광섬유 케이블이 필요하므로 구축 및 유지 관리 비용이 높을 수 있습니다.
    2. 복잡성: FC 구성은 비교적 복잡하며, 전문 기술자가 필요할 수 있습니다.
    3. 거리 제한: FC는 광섬유 케이블의 제한으로 인해 긴 거리에서의 사용이 어려울 수 있습니다.
  • 구성 요소 :
    1. FC 스위치: 서버 및 스토리지 장치 간의 연결을 관리하는 스위치.
    2. FC 호스트 버스 어댑터 (HBA): 서버에 연결되는 FC 네트워크 카드.
    3. 광섬유 케이블: 스위치, 서버, 스토리지 장치를 연결하는 물리적인 케이블.

 

iSCSI SAN

iSCSI SAN
출처 : https://community.fs.com/article/iscsi-storage-basics-plan-iscsi-san.html

  • 장점 :
    1. 비용 효율적: 기존 IP 네트워크를 사용하므로 전용 하드웨어 및 케이블이 필요하지 않아 비용이 낮습니다.
    2. 유연성: 기존 이더넷 하드웨어를 사용하므로 구성이 간단하며 다양한 환경에 적용할 수 있습니다.
    3. 인터넷 접근 가능: 인터넷을 통한 원격 연결이 가능하므로 지리적으로 떨어진 위치에 있는 스토리지에 쉽게 접근할 수 있습니다.
  • 단점 :
    1. 상대적으로 낮은 성능: FC에 비해 대역폭과 지연 시간이 낮을 수 있습니다.
    2. 다른 트래픽 영향: IP 네트워크를 공유하므로 다른 네트워크 트래픽의 영향을 받을 수 있습니다.
    3. 보안 고려사항: 추가적인 보안 레이어가 필요할 수 있습니다.
  • 구성 요소:
    1. iSCSI Initiator: 서버 측에서 iSCSI 네트워크에 연결하는 소프트웨어 또는 하드웨어.
    2. iSCSI Target: 스토리지 장치 측에서 iSCSI 네트워크에 연결되는 장치.
    3. Ethernet 스위치 및 케이블: 서버, 스토리지 장치 및 네트워크 구성 요소를 연결하는 데 사용되는 구성 요소.

iSCSI을 사용하여 SAN저장소(NAS서버) 할당하기

  1. iSCSI 관련 패키지 설치 및 iSCSI 환경 확인
    • iSCSI Initiator 패키지 설치 및 실행
      [root@rhel7u7 ~]# yum -y install iscsi-initiator-utils
      .... Upgraded: iscsi-initiator-utils-6.2.1.4-8.git095f59c.el8.x86_64 iscsi-initiator-utils-iscsiuio-6.2.1.4-8.git095f59c.el8.x86_64 Complete!
      [root@rhel7u7 ~]# systemctl enable --now iscsid
    • Initiator 이름 확인
      [root@rhel7u7 ~]# cat /etc/iscsi/initiatorname.iscsi
      InitiatorName=iqn.1994-05.com.redhat:f370134ef954
    • Initiator CHAP 인증 설정
      [root@rhel7u7 ~]# vi /etc/iscsi/iscsid.conf
      ...... # ************* # CHAP Settings # ************* # To enable CHAP authentication set node.session.auth.authmethod # to CHAP. The default is None. node.session.auth.authmethod = CHAP # To set a CHAP username and password for initiator # authentication by the target(s), uncomment the following lines: node.session.auth.username = iqn.1994-05.com.redhat:f370134ef954 node.session.auth.password = 123456789012 ......
  2. NAS서버에 iSCSI Initiator 등록하기
  3. iSCSI 저장 공간 할당 및 마운팅 하기
    • iSCSI 사용하기 전에 설치된 Block Device 확인
      [root@rhel7u7 ~]# lsblk
      NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 25G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 24G 0 part ├─rhel-root 253:0 0 22G 0 lvm / └─rhel-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 8G 0 disk └─sdb1 8:17 0 8G 0 part /mnt/sdb1 sdc 8:32 0 8G 0 disk └─sdc1 8:33 0 8G 0 part sr0 11:0 1 4.2G 0 rom /mnt/cdrom
    • 지정한 서버에서 iSCSI Target 검색
      [root@rhel7u7 ~]# iscsiadm -m discovery -t st -p NAS서버_ip_address
      xxxx.xxxx.xxx.xxx:3260,1 iqn.1994-11.com.netgear:rn3138:8fc78dc9:group1
    • 지정한 서버의 iSCSI Target으로 로그인
      [root@rhel7u7 ~]# iscsiadm -m node -T iqn.1994-11.com.netgear:rn3138:8fc78dc9:group1 -p NAS서버_ip_address -l
      Logging in to [iface: default, target: iqn.1994-11.com.netgear:rn3138:8fc78dc9:group1, portal: xxx.xxx.xxx.xxx,3260] (multiple) Login to [iface: default, target: iqn.1994-11.com.netgear:rn3138:8fc78dc9:group1, portal: xxx.xxx.xxx.xxx,3260] successful.
    • Block Device “sdd”가 추가된 것을 확인
      [root@rhel7u7 ~]# lsblk
      NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 25G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 24G 0 part ├─rhel-root 253:0 0 22G 0 lvm / └─rhel-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 8G 0 disk └─sdb1 8:17 0 8G 0 part /mnt/sdb1 sdc 8:32 0 8G 0 disk └─sdc1 8:33 0 8G 0 part sdd 8:48 0 100G 0 disk ├─sdd1 8:49 0 16M 0 part └─sdd2 8:50 0 100G 0 part sr0 11:0 1 4.2G 0 rom /mnt/cdrom
    • sdd는 NTFS 파일시스템입니다. NTFS를 마운팅하기 위한 패키지를 설치하고 아래 절차를 따라 하시면 됩니다.
      [root@rhel7u7 ~]# mkdir -p /mnt/iscsi [root@rhel7u7 ~]# mount -t ntfs-3g /dev/sdd2 /mnt/iscsi [root@rhel7u7 ~]# lsblk
      NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 25G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 24G 0 part ├─rhel-root 253:0 0 22G 0 lvm / └─rhel-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 8G 0 disk └─sdb1 8:17 0 8G 0 part /mnt/sdb1 sdc 8:32 0 8G 0 disk └─sdc1 8:33 0 8G 0 part sdd 8:48 0 100G 0 disk ├─sdd1 8:49 0 16M 0 part └─sdd2 8:50 0 100G 0 part /mnt/iscsi sr0 11:0 1 4.2G 0 rom /mnt/cdrom
      [root@rhel7u7 ~]# ll /mnt/iscsi/
      total 0 drwxrwxrwx 1 root root 0 Oct 27 2023 System Volume Information

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다