IBM Cloud Docs
iSCSI 의 볼륨을 Red Hat Enterprise Linux 8에 올리십시오

iSCSI 의 볼륨을 Red Hat Enterprise Linux 8에 올리십시오

이 튜토리얼은 Red Hat Enterprise Linux® 8 운영 체제를 사용하는 서버에 IBM Cloud® Block Storage for Classic 볼륨을 마운트하는 방법을 안내합니다. 여기서는 사용자 호스트의 한 네트워크 인터페이스에서 스토리지 어레이의 두 대상 IP 주소로의 두 연결을 작성합니다.

Linux® 의 다른 운영 체제를 사용하는 경우, 특정 배포판의 문서를 참조하고, 다중 경로가 경로 우선 순위를 위해 ALUA를 지원하는지 확인하십시오.

시작하기 전에

여러 호스트가 협력하여 관리하지 않고 동일한 Block Storage for Classic 볼륨을 마운트하는 경우 데이터가 손상될 위험이 있습니다. 여러 호스트가 동시에 볼륨을 변경하는 경우 볼륨 손상이 발생할 수 있습니다. CSV (Microsoft Cluster Shared Volumes), Red Hat Global File System (GFS2), VMware® VMFS등과 같은 데이터 손실을 방지하기 위해 클러스터 인식 공유 디스크 파일 시스템이 필요합니다. 자세한 내용은 호스트의 OS 설명서를 참조하십시오.

방화벽을 우회하는 VLAN을 통해 스토리지 트래픽을 실행하는 것이 가장 좋습니다. 소프트웨어 방화벽을 통해 스토리지 트래픽을 실행하면 대기 시간이 늘어나서 결국 스토리지 성능이 저하됩니다. 스토리지 트래픽을 고유 VLAN 인터페이스로 라우팅하는 데 대한 자세한 정보는 FAQ를 참조하십시오.

시작하기 전에, Block Storage for Classic 볼륨에 액세스할 수 있는 호스트가 권한이 있는지 확인하십시오. 자세한 내용은 다음을 참조하세요. 콘솔에서 호스트 승인 CLI에서 호스트 승인 Terraform을 사용하여 호스트 승인.

iSCSI 및 다중 경로 유틸리티를 설치하십시오.

시스템이 업데이트되어 있고, iscsi-initiator-utilsdevice-mapper-multipath 패키지가 포함되어 있는지 확인하십시오. 다음 명령을 사용하여 패키지를 설치하십시오.

sudo dnf -y install iscsi-initiator-utils device-mapper-multipath

다중 경로 설정

mpathconf 유틸리티를 사용하여 DM Multipath를 설정하면, 다중 경로 구성 파일 /etc/multipath.conf 이 생성됩니다.

  • /etc/multipath.conf 파일이 존재한다면, mpathconf 유틸리티를 사용하여 편집할 수 있습니다.
  • /etc/multipath.conf 파일이 없는 경우 mpathconf 유틸리티에서 처음부터 /etc/multipath.conf 파일을 작성합니다.

Mpathconf 유틸리티에 대한 자세한 정보는 mpathconf(8)매뉴얼 페이지를 참고하세요.

  1. --enable 옵션과 함께 mpathconf 명령어를 입력합니다.

    # mpathconf --enable --user_friendly_names n
    
  2. /etc/multipath.conf 파일을 최소한의 구성으로 편집하십시오.

    defaults {
    user_friendly_names no
    max_fds max
    flush_on_last_del yes
    queue_without_daemon no
    dev_loss_tmo infinity
    fast_io_fail_tmo 5
    }
    # All data in the following section must be specific to your system.
    blacklist {
    wwid "SAdaptec*"
    devnode "^hd[a-z]"
    devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
    devnode "^cciss.*"
    }
    devices {
    device {
    vendor "NETAPP"
    product "LUN"
    path_grouping_policy group_by_prio
    features "2 pg_init_retries 50"
    no_path_retry queue
    prio "alua"
    path_checker tur
    failback immediate
    path_selector "round-robin 0"
    hardware_handler "1 alua"
    rr_weight uniform
    rr_min_io 128
    }
    }
    

    설정 파일의 초기 기본값 섹션은 다중 경로 장치의 이름이 /dev/mapper/mpath n의 형식을 갖도록 시스템을 구성합니다. 여기서 mpath n 은 장치의 WWID입니다.

  3. 구성 파일을 저장하고 필요한 경우 편집기를 종료하십시오.

  4. 다음 명령을 실행하십시오.

    systemctl start multipathd.service
    

    다중 경로 데몬을 시작한 후에 다중 경로 구성 파일을 편집해야 하는 경우, 변경 사항을 적용하려면 반드시 " systemctl reload multipathd.service " 명령을 실행해야 합니다.

    RHEL 8에서 장치 매퍼 다중 경로 기능 사용에 대한 자세한 내용은 장치 매퍼 다중 경로 구성하기를 참조하십시오.

/etc/iscsi/initiatorname.iscsi 파일 업데이트

IBM Cloud® 콘솔에서 IQN으로 /etc/iscsi/initiatorname.iscsi 파일을 업데이트하십시오. 값은 소문자로 입력하십시오.

InitiatorName=<value-from-the-Portal>

인증 정보 구성

/etc/iscsi/iscsid.conf 에서 IBM Cloud® 콘솔의 사용자 이름과 비밀번호를 사용하여 다음 설정을 편집하십시오. CHAP 이름에는 대문자를 사용하십시오.

node.session.auth.authmethod = CHAP
node.session.auth.username = <Username-value-from-Portal>
node.session.auth.password = <Password-value-from-Portal>
discovery.sendtargets.auth.authmethod = CHAP
discovery.sendtargets.auth.username = <Username-value-from-Portal>
discovery.sendtargets.auth.password = <Password-value-from-Portal>

다른 CHAP 설정은 주석 처리된 상태로 두십시오. IBM Cloud® 스토리지는 단방향 인증만 사용합니다. 상호 CHAP를 사용하지 마십시오.

스토리지 디바이스 검색 및 로그인

Iscsiadm 유틸리티는 iSCSI 대상을 검색하고 로그인하는 데 사용되는 명령줄 도구이며, open-iscsi 데이터베이스에 액세스하고 관리하는 데도 사용됩니다. 더 자세한 정보는 iscsiadm(8)매뉴얼 페이지를 참고하세요. 이 단계에서는 IBM Cloud® 콘솔에서 확보한 대상 IP 주소를 사용하여 디바이스를 검색하십시오.

  1. iSCSI 어레이에 대해 검색을 실행하십시오.

    iscsiadm -m discovery -t sendtargets -p <ip-value-from-IBM-Cloud-console>
    

    IP 주소 정보와 접속 세부 사항이 표시되면 검색에 성공한 것입니다.

  2. iSCSI 어레이에 로그인하십시오.

    iscsiadm -m node --login
    

구성 확인

  1. iSCSI 세션이 설정되었는지 유효성 검증하십시오.

    iscsiadm -m session -o show
    
  2. 다중 경로가 있는지 유효성 검증하십시오.

    multipath -l
    

    이 명령은 경로를 보고합니다. 올바르게 구성되었다면, 각 볼륨은 하나의 그룹을 가지며, 경로 수는 iSCSI 세션 수와 동일합니다. 단일 경로로 볼륨을 연결하는 것도 가능하지만, 서비스 중단 방지를 위해 두 경로 모두에 연결이 설정되어 있어야 합니다.

    MPIO가 올바르게 구성되지 않은 경우 네트워크 가동 중단이 발생하거나 IBM Cloud® 팀이 유지보수를 수행할 때 스토리지 디바이스의 연결이 끊기고 오프라인으로 표시될 수 있습니다. MPIO는 이러한 이벤트 동안 추가적인 연결 수준을 제공하고, 활성 읽기/쓰기 작업이 있는 볼륨에 대한 세션을 유지합니다.

  3. 연결된 디바이스의 파티션 테이블을 나열하십시오.

    fdisk -l | grep /dev/mapper
    

    기본적으로 스토리지 디바이스는 /dev/mapper/<wwid>에 첨부됩니다. WWID는 볼륨이 존재하는 동안 지속됩니다. 이 명령은 다음 예와 비슷한 내용을 보고합니다.

    Disk /dev/mapper/3600a0980383030523424457a4a695266: 73.0 GB, 73023881216 bytes
    

    이 예에서 문자열 3600a0980383030523424457a4a695266 은 WWID입니다. 애플리케이션은 WWID를 사용해야 합니다. multipath.conf 의 "user_friendly_names" 또는 "alias" 키워드를 사용하여 읽기 쉬운 이름을 지정할 수도 있습니다. 자세한 내용은 multipath.conf 매뉴얼 페이지를 참조하십시오.

    이제 볼륨이 마운트되어 호스트에서 액세스 가능합니다. 그런 다음 파일 시스템을 작성할 수 있습니다.

파일 시스템 작성(선택사항)

다음 단계에 따라 새로 마운트된 볼륨에서 파일 시스템을 작성하십시오. 파일 시스템은 볼륨을 사용하는 대부분의 애플리케이션에서 필요합니다. 2TB 미만인 드라이브의 경우 fdisk를 사용하고 2TB보다 큰 디스크의 경우 parted를 사용하십시오.

fdisk로 파일 시스템 작성

  1. 디스크 이름을 가져오십시오.

    fdisk -l | grep /dev/mapper
    

    리턴되는 디스크 이름은 /dev/mapper/XXX와 비슷하게 표시됩니다.

  2. 디스크에서 파티션을 작성하십시오.

    fdisk /dev/mapper/XXX
    

    XXX는 1단계에서 리턴된 디스크 이름을 나타냅니다.

  3. 새 파티션에서 파일 시스템을 작성하십시오.

    fdisk –l /dev/mapper/XXX
    
    • XXXp1 와 비슷하게, 새 파티션이 디스크와 함께 나열되고, 그 뒤에 크기, 유형(83), 그리고 Linux® 가 나열됩니다.

    • 파티션 이름은 다음 단계에서 필요하기 때문에 기록해 두십시오. XXXp1이 파티션 이름입니다.

    • 파일 시스템을 작성하십시오.

      mkfs.ext3 /dev/mapper/XXXp1
      
  4. 파일 시스템에 대한 마운트 지점을 작성하고 이를 마운트하십시오.

    • 파티션 이름 PerfDisk 또는 파일 시스템을 마운트하려는 위치를 작성하십시오.

      mkdir /PerfDisk
      
    • 파티션 이름을 사용하여 스토리지를 마운트하십시오.

      mount /dev/mapper/XXXp1 /PerfDisk
      
    • 새 파일 시스템이 나열되는지 확인하십시오.

      df -h
      
  5. 자동 마운트 om 부트를 사용하려면 새 파일 시스템을 시스템의 /etc/fstab 파일에 추가하십시오.

    • 다음 행을 /etc/fstab의 끝에 추가하십시오(3단계의 파티션 이름 사용).
    /dev/mapper/XXXp1    /PerfDisk    ext3    defaults,_netdev    0    1
    

    더 자세한 정보를 원하시면, Linux /etc/fstab 파일을 참고하세요.

parted로 파일 시스템 작성

많은 Linux® 배포판에는 parted 가 사전 설치되어 있습니다. 그러나 필요할 경우 다음 명령을 실행하여 설치할 수 있습니다.

# dnf install parted

parted를 사용하여 파일 시스템을 작성하려면 다음 단계를 수행하십시오.

  1. parted 대화형 셸을 시작합니다.

    parted
    
  2. 디스크에서 파티션을 작성하십시오.

    1. 별도로 지정하지 않는 한, parted 유틸리티는 기본 드라이브를 사용합니다. 대부분의 경우 기본 드라이브는 /dev/sda 입니다. select 명령을 사용하여 파티션하려는 디스크로 전환하십시오. XXX는 새 디바이스 이름으로 대체하십시오.

      select /dev/mapper/XXX
      
    2. print 를 실행하여 올바른 디스크에 있는지 확인하십시오.

      print
      
    3. GPT 파티션 표를 작성하십시오.

      mklabel gpt
      
    4. Parted는 기본 및 논리 디스크 파티션 작성에 사용할 수 있으며 수행 단계는 동일합니다. 파티션을 생성하기 위해, 이 유틸리티는 mkpart 를 사용합니다. 작성하려는 파티션 유형에 따라 primary 또는 logical과 같은 기타 매개변수를 제공할 수도 있습니다.

      mkpart
      

      나열된 단위는 기본적으로 메가바이트(MB) 단위입니다. 10GB 파티션을 작성하려면 1에서 시작하여 10000에서 끝납니다. 원하면 unit TB를 입력하여 크기 단위를 TB로 변경할 수도 있습니다.

    5. partedquit를 종료하십시오.

      quit
      
  3. 새 파티션에서 파일 시스템을 작성하십시오.

    mkfs.ext3 /dev/mapper/XXXp1
    

    이 명령을 실행할 때는 올바른 디스크와 파티션을 선택하는 것이 중요합니다. 파티션 표를 인쇄하여 결과를 확인하십시오. 파일 시스템 열 아래에, " ext3 "를 볼 수 있습니다.

  4. 파일 시스템에 대한 마운트 지점을 작성하고 이를 마운트하십시오.

    • 파티션 이름 PerfDisk 또는 파일 시스템을 마운트하려는 위치를 작성하십시오.
    mkdir /PerfDisk
    
    • 파티션 이름을 사용하여 스토리지를 마운트하십시오.
    mount /dev/mapper/XXXp1 /PerfDisk
    
    • 새 파일 시스템이 나열되는지 확인하십시오.
    df -h
    
  5. 자동 마운트 om 부트를 사용하려면 새 파일 시스템을 시스템의 /etc/fstab 파일에 추가하십시오.

    • 다음 행을 /etc/fstab의 끝에 추가하십시오(3단계의 파티션 이름 사용).
    /dev/mapper/XXXp1    /PerfDisk    ext3    defaults,_netdev    0    1
    

    더 자세한 정보를 원하시면, Linux /etc/fstab 파일을 참고하세요.

마운트된 볼륨의 콘텐츠에 대한 사용자 권한 관리

시스템 관리자는 마운트된 볼륨의 데이터에 대한 액세스를 관리할 수 있습니다. 파일 시스템이 준비되면, chownchmod 명령을 사용하여 개별 사용자 및 그룹에 읽기, 쓰기, 실행 권한을 할당함으로써 접근 제어를 구체화할 수 있습니다. 자세한 내용은 Red Hat 튜토리얼: 사용자, 그룹 및 기타 사용자에 대한 Linux 권한을 관리하는 방법을 참조하세요.

MPIO 구성 확인

MPIO가 올바르게 구성되지 않은 경우 네트워크 가동 중단이 발생하거나 IBM Cloud® 팀이 유지보수를 수행할 때 스토리지 디바이스의 연결이 끊기고 오프라인으로 표시될 수 있습니다. MPIO는 이러한 이벤트 동안 추가적인 연결 수준을 제공하고, 활성 읽기/쓰기 작업이 있는 볼륨에 대한 세션을 유지합니다.

  • 다중 경로에서 디바이스를 선택하는지 확인하려면 현재 구성을 나열하십시오. 올바르게 구성된 경우 각 볼륨에 대해 단일 그룹이 존재하며, iSCSI 세션 수와 동일한 수의 경로가 있습니다.

    multipath -l
    
    root@server:~# multipath -l
    3600a09803830304f3124457a45757067 dm-1 NETAPP,LUN C-Mode
    size=20G features='1 queue_if_no_path' hwhandler='0' wp=rw
    |-+- policy='round-robin 0' prio=-1 status=active
    | `6:0:0:101 sdd 8:48 active ready running
    `-+- policy='round-robin 0' prio=-1 status=enabled
     `- 7:0:0:101 sde 8:64 active ready running
    

    예제의 문자열 3600a09803830304f3124457a45757067 는 볼륨의 고유 WWID입니다. 각 볼륨은 볼륨이 존재하는 동안 지속되는 고유 WWID로 식별됩니다.

  • 모든 디스크가 있는지 확인하십시오. 올바른 구성에서는 두 개의 디스크가 동일한 식별자로 출력에 표시되고 동일한 크기의 /dev/mapper 목록이 동일한 식별자로 표시될 수 있습니다. /dev/mapper 디바이스는 다중 경로에서 설정하는 디바이스입니다.

    fdisk -l | grep Disk
    
    • 올바른 구성의 예제 출력.
    root@server:~# fdisk -l | grep Disk
    Disk /dev/sda: 500.1 GB, 500107862016 bytes Disk identifier: 0x0009170d
    Disk /dev/sdc: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1
    Disk /dev/mapper/3600a09803830304f3124457a45757066: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1
    

    WWID는 다중 경로가 작성하는 디바이스 이름에 포함됩니다. 애플리케이션에서 WWID를 사용하는 것이 좋습니다.

    • 잘못된 구성 출력의 예입니다. /dev/mapper 디스크가 없습니다.
    root@server:~# fdisk -l | grep Disk
    Disk /dev/sda: 500.1 GB, 500107862016 bytes Disk identifier: 0x0009170d
    Disk /dev/sdc: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1
    
  • 다중 경로 장치 목록에 로컬 디스크가 포함되어 있지 않음을 확인하려면, 상세 수준 3으로 현재 구성을 표시하십시오. 다음 명령의 출력은 디바이스를 표시하고 블록 목록에 추가된 디바이스도 표시합니다.

    multipath -l -v 3 | grep sd <date and time>
    
  • 두 번째 경로가 다운된 상태에서 볼륨이 프로비저닝되고 연결되면, 호스트는 처음 검색 스캔을 실행할 때 단일 경로를 볼 수 있습니다. 이 드문 현상이 발생하면 IBM Cloud® 상태 페이지에서 호스트의 스토리지 액세스 기능에 영향을 미치는 이벤트가 진행 중인지 확인하시기 바랍니다. 이벤트가 보고되지 않으면, 모든 경로가 제대로 검색되었는지 확인하기 위해 다시 검색 스캔을 수행하십시오. 이벤트가 진행 중인 경우 단일 경로로 스토리지를 연결할 수 있습니다. 그러나 이벤트가 완료된 후 경로가 다시 스캔되어야 합니다. 재검색 후에도 두 경로 모두 발견되지 않으면 지원 케이스를 만들어 적절하게 조사할 수 있도록 하십시오.

Block Storage for Classic 볼륨 마운트 해제

  1. 파일 시스템을 마운트 해제하십시오.
    umount /dev/mapper/XXXp1 /PerfDisk
    
  2. 해당되는 대상 포털에 기타 볼륨이 없으면 대상에서 로그아웃할 수 있습니다.
    iscsiadm -m node -T <TARGET NAME> -p <PORTAL IP:PORT> --logout
    
  3. 해당되는 대상 포털에 기타 볼륨이 없으면 추가 로그인 시도의 방지를 위해 대상 포털 레코드를 삭제하십시오.
    iscsiadm -m node -o delete -T <TARGET IQN> -p <PORTAL IP:PORT>
    
    자세한 내용은 iscsiadm 매뉴얼을 참고하세요.