프로젝트

일반

사용자 정보

실행

태스크 #12292

iSCSI 자료조사

김 성은님이 일년 이상 전에 추가함. 약 2달 전에 수정됨.

상태:
해결
우선 순위:
보통
담당자:
시작 시간:
완료 기한:
진척도:

100%

추정 시간:
14:00 시간
난이도:

설명

  • target + LIO

    • 현재 ASE 버전에서 target 설치시 기본 구성
  • Backstore

    • block
      • 시스템 내 블록 장치를 공유
    • filio
      • 파일 시스템 중 일부를 블록장치처럼 공유
    • pscsi
      • CD 드라이브, 테이프 등 SCSI 장치를 공유
    • ramdisk
      • RAM 공간의 일부를 공유
      • 휘발성
  • TGP(Target Group Portal)

    • IQN
      • LUN
      • ACL
    • iSER 설정
      • iSCSI Extentions for RDMA
  • Failover

    • Pacemaker
      • iSCSITarget
        • Target 서버의 정보등을 Failover
      • iSCSILogicalUnit
        • LUN 관련 내용을 Failover
    • DRBD
  • ALUA

    • Asymetric Logical Unit Access
    • LUN으로 접근 가능한 경로가 여러가지일 때 사용할 정책
    • AO: Active optimized
      • 최적 경로
      • 성능에 이점
      • 기본값
    • AN: Active Non-Optimized
      • 장애시 사용 가능
  • SCSI targets

    • LIO
    • TGT
      • The Linux SCSI target framework
      • scsi-tgt
    • iET
      • iSCSI Enterprise Target
    • SCST
      • The generic SCSI target subsystem for Linux

논의 필요

  • 정책
    • 듀얼 컨트롤러가 아니거나 DRBD, SAN 등을 사용하지 않을 경우 Failover 불가능
      • 사용 강제 / 생성시 유의 / 생성 불가 등
실행 #1

김 성은님이 일년 이상 전에 변경

실행 #2

김 성은님이 약 일년 전에 변경

  • 담당자 항목을 지정했습니다. (김 성은)
실행 #3

김 성은님이 약 일년 전에 변경

  • 상태 항목을 변경했습니다 (신규 => 해결)

로드맵 자료 조사 했던 내용의 기록용 일감입니다

해결 처리 합니다

https://hedgedoc.gluesys.com/i6wFYO1tQ8eIBDbgfDCGIA

실행 #4

김 성은님이 약 일년 전에 변경

iSCSI 구성 방법

iSCSI Target 설치

  1. yum install targetcli
  2. systemctl enable target --now

Target 설정

  1. targetcli
  2. backstore/block/ create dev=/dev/mapper/maptha name=lun0
  3. iscsi/ create wwn=iqn.2025-10.xxx.yyy
  4. iscsi/iqn.2025-10.xxx.yyy/tpg1/luns create /backstores/block/lun0
  5. iscsi/iqn.2025-10.xxx.yyy/tpg1/portals create 서비스IP ip_port=포트번호

DRBD + iSCSI 구성 방법

iSCSI Target 설치

  1. yum install targetcli
  2. systemctl enable target --now

DRBD 설치

다운로드

  1. wget https://linbit.gateway.scarf.sh//downloads/drbd/9/drbd-9.2.14.tar.gz
  2. wget https://linbit.gateway.scarf.sh//downloads/drbd/utils/drbd-utils-9.32.0.tar.gz
  3. tar -xvf drbd-9.2.14.tar.gz
  4. tar -xvf drbd-utils-9.32.0.tar.gz

DRBD 빌드 및 설치

  1. yum install -y kernel-devel kernel-headers gcc flex
  2. cd drbd-9.2.14
  3. make
  4. make install
  5. modprobe drbd
  6. cd -

DRBD util 빌드 및 설치

  1. cd drbd-utils-9.32.0
  2. ./configure
  3. make
    • Userland tools build was successful 나오면 빌드 자체는 성공
  4. make install

DRBD 구성

모든 노드에서 vim /usr/local/etc/drbd.d/test.res 아래 내용 작성

resource test {
    protocol C;
    startup {
        wfc-timeout       0;      ## Infinite!
        degr-wfc-timeout  120;    ## 2 minutes.
    }   
    disk {
        on-io-error detach;
        resync-rate 300M;
    }   
    net {
        timeout             30;     #  3 seconds  (unit = 0.1 seconds)
        connect-int         5;     # 5 seconds  (unit = 1 second)
        ping-int            5;     # 5 seconds  (unit = 1 second)
        max-buffers         20000;
        max-epoch-size      20000;
    }   

    on iSCSITest-1 {
        device /dev/drbd1;
        disk /dev/sdb;
        address 31.31.31.1:7788;
        meta-disk internal;
    }   
    on iSCSITest-2 {
        device /dev/drbd1;
        disk /dev/sdb;
        address 31.31.31.2:7788;
        meta-disk internal;
    }   
}
  1. 모든 노드에서 drbdadm create-md test
  2. 모든 노드에서 drbdadm up test
  3. 1번 노드에서 drbdadm primary test --force

Pacemaker 구성

Web-UI 에서 service 템플릿까지 생성 후 진행

# 템플릿 생성 후 환경

 Clone Set: rsc_bond1-group-clone [rsc_bond1-group]
     Started: [ iSCSItest-1 iSCSItest-2 ]
 Clone Set: Service-group-clone [Service-group]
     Started: [ iSCSItest-1 iSCSItest-2 ]
 Resource Group: VIP-group-1
     vip_32.32.32.1     (ocf::heartbeat:IPaddr2):       Started iSCSItest-2

리소스 생성

  1. pcs resource create drbd ocf:linbit:drbd drbd_resource=test ignore_missing_notifications=true drbdconf='/usr/local/etc/drbd.conf'
  2. pcs resource create target ocf:heartbeat:iSCSITarget iqn='iqn.2025-09.com.test' portals='32.32.32.1:1444'
  3. pcs resource create lun0 ocf:heartbeat:iSCSILogicalUnit lun=0 path=/dev/drbd1 target_iqn=iqn.2025-09.com.test

그룹화

  1. pcs resource master drbd
    • 이때 생성되는 Master/Slave 클론은 drbd-master
  2. pcs resource group add iscsi target lun0

제약조건 추가

  1. pcs constraint colocation add started VIP-group-1 with master drbd-master
    • VIP 그룹이 올라가 있는 노드가 Master
  2. pcs constraint colocation add master drbd-master with started iscsi
    • drbd Master 노드에서 iscsi target 제공

최종 구성

[root@iSCSItest-2 ~]# pcs status
Cluster name: iSCSItest
Stack: corosync
Current DC: iSCSItest-1 (version 2.0.0-4.el7-8cf3fe749e) - partition with quorum
Last updated: Mon Sep 22 17:31:27 2025
Last change: Mon Sep 22 17:29:15 2025 by root via cibadmin on iSCSItest-1

2 nodes configured
15 resources configured

Online: [ iSCSItest-1 iSCSItest-2 ]

Full list of resources:

 Clone Set: rsc_bond1-group-clone [rsc_bond1-group]
     Started: [ iSCSItest-1 iSCSItest-2 ]
 Clone Set: Service-group-clone [Service-group]
     Started: [ iSCSItest-1 iSCSItest-2 ]
 Resource Group: VIP-group-1
     vip_32.32.32.1     (ocf::heartbeat:IPaddr2):       Started iSCSItest-2
 Master/Slave Set: drbd-master [drbd]
     Masters: [ iSCSItest-2 ]
     Slaves: [ iSCSItest-1 ]
 Resource Group: iscsi
     target     (ocf::heartbeat:iSCSITarget):   Started iSCSItest-2
     lun0       (ocf::heartbeat:iSCSILogicalUnit):      Started iSCSItest-2

standby / unstandby 확인 완료

추가 고려 사항

DRBD를 사용하지 않을 경우

  • 위에서 DRBD 와 관련된 내용을 수행하지 하지 않음
  • ocf:heartbeat:iSCSILogicalUnit 리소스 에이전트 생성시 path 값을 SAN에서 받아온 LUN 경로로 변경

DRBD + LVM 환경 설정 시

현재 Web-UI 에서는 설정 불가
추가적인 constraint 설정 필요 할 것으로 예상됨

  1. pcs constraint colocation add master drbd-master with started Filesystem_RA
실행 #5

김 성은님이 9달 전에 변경

  • 진척도 항목을 변경했습니다 (0 => 100)
  • 추정 시간 항목을 지정했습니다. (14:00 시간)
  • 난이도 항목을 지정했습니다. (쉬움)
  • 점수 항목을 변경했습니다 (0.00 => 2.50)

기존에 있던 DRBD + iSCSI 구성을 참고 했으므로 난이도는 낮음이 될 것 같습니다

실행 #6

김 지현님이 약 2달 전에 변경

  • 유형 항목을 변경했습니다 (문서 작성 => 태스크)
  • 프로젝트 항목을 변경했습니다 (92 => perl-GMS-Plugin-iSCSI)
  • 난이도 항목을 지웠습니다. (쉬움)
  • 점수 항목을 지웠습니다. (2.50)
실행

내보내기 Atom PDF

클립보드 이미지 추가 (최대 크기: 50 MB)