본문 바로가기
공부/Storage

[iSCSI #1] iSCSI 개념, 구조 정리

by haejang 2021. 4. 14.
728x90
728x90

 

[Storage] DAS / NAS / SAN 차이 요약 (참고)

 

iSCSI(아이스카시)란?

  • Internet Small Computer System Interface
  • 인터넷 프로토콜(IP) 기반의 스토리지 네트워킹 표준이며 데이터 스토리지 장치의 연결에 사용
  • 즉, 인터넷을 통해 데이터를 전송하고 보관하게 된다

 

 

iSCSI 관련 개념

  • iSCSI Target : iSCSI 서버 (스토리지 제공) (targetcli 설치 필요)
  • iSCSI Initiator : iSCSI 클라이언트 (iscsi-initiator-utils 설치 필요)
  • IQN (iSCSI Qualified Name) : iSCSI Target/Initiator의 고유 이름 포맷 중 하나
    • 포맷 형태 : Type.Date.Naming_Auth:String_defined_by_example.com_Naming_authority
      • Type : iqn 으로 고정
      • Date : YYYY-MM
      • Naming_Auth : 도메인의 역순 형태
      • String_defined_by_example.com_Naming_authorith : 설명 (옵션)
    • 예시 : iqn.2021-04.com.haejang:target
  • targetcli : LinuxIO를 위한 general management 플랫폼

 

 

iSCSI Target 구조 & targetcli 명령

 

아무것도 구성하기 전
fileio, iscsi 구성 후

o- / ......................................................................................................................... [...]
  o- backstores .............................................................................................................. [...]
  | o- block .................................................................................................. [Storage Objects: 0]
  | o- fileio ................................................................................................. [Storage Objects: 1]
  | | o- file1 ............................................................................ [/iscsi (100.0MiB) write-thru activated]
  | |   o- alua ................................................................................................... [ALUA Groups: 1]
  | |     o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
  | o- pscsi .................................................................................................. [Storage Objects: 0]
  | o- ramdisk ................................................................................................ [Storage Objects: 0]
  o- iscsi ............................................................................................................ [Targets: 1]
  | o- iqn.2021-04.com.haejang:target .................................................................................... [TPGs: 1]
  |   o- tpg1 ............................................................................................... [no-gen-acls, no-auth]
  |     o- acls .......................................................................................................... [ACLs: 2]
  |     | o- iqn.2021-04.com.haejang:node1 ........................................................................ [Mapped LUNs: 1]
  |     | | o- mapped_lun0 ................................................................................ [lun0 fileio/file1 (rw)]
  |     | o- iqn.2021-04.com.haejang:node2 ........................................................................ [Mapped LUNs: 1]
  |     |   o- mapped_lun0 ................................................................................ [lun0 fileio/file1 (rw)]
  |     o- luns .......................................................................................................... [LUNs: 1]
  |     | o- lun0 ....................................................................... [fileio/file1 (/iscsi) (default_tg_pt_gp)]
  |     o- portals .................................................................................................... [Portals: 1]
  |       o- 0.0.0.0:3260 ..................................................................................................... [OK]
  o- loopback ......................................................................................................... [Targets: 0]

 

  • Backstores : iSCSI 서비스로 제공되는 스토리지 리소스. 스토리지 종류 설정
    • block : 디스크를 파티션 한 파티션장치 (논리 볼륨도 가능)
      • 생성 : backstores/block create name=[이름] dev=[디스크 경로]
      • 예시 : backstores/block create name=block1 dev=/dev/nvme1n1
    • fileio : 파일 시스템 중 일부 공간
      • 생성 : backstores/fileio create name=[이름] file_or_dev=[생성할 파일 경로] size=[할당할 사이즈]
      • 예시 : backstores/fileio create name=file1 file_or_dev=/iscsi size=100M
    • pscsi : 물리적인 SCSI 장치
    • ramdisk : RAM 공간의 일부

 

  • iscsi : target에 지정된 이름(iqn)
    • iscsi/ create [iqn포맷 이름] -> 자동으로 해당 iqn에 대한 tpg가 생성
    • tpg : target portal group. initiator들이 target에 연결될 수 있도록 하는 설정들의 그룹
      • ACL (Access Control List) : iSCSI Target에 접속을 허용할 Initiator 리스트
        • iscsi/[target iqn이름]/tpg1/acls/ create [허용할 initiator iqn이름]
      • LUN (Logical Unit Number) : iSCSI Target이 제공하는 논리적 SCSI 장치. Backstore랑 매핑됨
        • iscsi/[target iqn이름]/tpg1/luns/ create [매핑할 backstores 경로]
        • scsi/iqn.2021-04.com.haejang:target/tpg1/luns/ create /backstores/fileio/file1
      • Portal : iSCSI Target의 네트워크 주소 - 기본적으로 0.0.0.0:3260으로 설정되어 있음
        • portal 등록 : iscsi/[target iqn이름]/tpg1/portals/ create [ip주소] [포트(기본값 3260)]
        • portal 삭제 : iscsi/[target iqn이름]/tpg1/portals/ delete [ip주소] [포트]

 

참조

leejhstory.tistory.com/18

harryp.tistory.com/653

harryp.tistory.com/648

 

 

728x90
728x90

댓글