XenServer

스토리지 멀티패싱

파이버 채널 및 iSCSI 스토리지 백엔드에 대해 동적 멀티패싱 지원을 사용할 수 있습니다.

XenServer®는 일반적인 Linux 멀티패싱 솔루션인 Linux 네이티브 멀티패싱(DM-MP)을 멀티패스 핸들러로 사용합니다. 그러나 XenServer는 스토리지 장치의 공급업체별 기능을 인식할 수 있도록 이 핸들러에 추가 기능을 보완합니다.

멀티패싱을 구성하면 부분적인 연결 손실이 발생할 경우 원격 스토리지 트래픽에 대한 이중화를 제공합니다. 멀티패싱은 이중화 및 처리량 증가를 위해 여러 경로를 통해 스토리지 트래픽을 스토리지 장치로 라우팅합니다. 단일 LUN에 최대 16개의 경로를 사용할 수 있습니다. 멀티패싱은 활성-활성 구성입니다. 기본적으로 멀티패싱은 스토리지 어레이 유형에 따라 라운드 로빈 또는 멀티버스 로드 밸런싱을 사용합니다. 모든 경로는 정상 작동 중에 활성 트래픽을 가지므로 처리량이 증가합니다.

중요:

SR을 생성하기 전에 풀의 모든 호스트에 대해 멀티패싱을 활성화하는 것이 좋습니다. 멀티패싱을 활성화하기 전에 SR을 생성하는 경우, 멀티패싱을 활성화하려면 호스트를 유지 관리 모드로 전환해야 합니다.

NIC 본딩도 스토리지 트래픽에 대한 이중화를 제공할 수 있습니다. iSCSI 스토리지의 경우, 가능한 한 NIC 본딩 대신 멀티패싱을 구성하는 것이 좋습니다.

멀티패싱은 다음 시나리오에서 효과적이지 않습니다.

  • NFS 스토리지 장치
  • NIC 수가 제한되어 있고 iSCSI 트래픽과 파일 트래픽(NFS 또는 SMB)을 동일한 NIC를 통해 라우팅해야 하는 경우

이러한 경우 NIC 본딩을 대신 사용하는 것을 고려하십시오. NIC 본딩에 대한 자세한 내용은 네트워킹을 참조하십시오.

전제 조건

멀티패싱을 활성화하기 전에 다음 문이 참인지 확인하십시오.

  • 스토리지 서버에서 여러 대상(target)을 사용할 수 있습니다.

    예를 들어, 주어진 포털에서 sendtargets에 대해 쿼리된 iSCSI 스토리지 백엔드는 다음 예와 같이 여러 대상을 반환합니다.

      iscsiadm -m discovery --type sendtargets --portal 192.168.0.161
      192.168.0.161:3260,1 iqn.strawberry:litchie
      192.168.0.204:3260,2 iqn.strawberry:litchie
    

    그러나 단일 대상을 노출하는 어레이에 대해 iSCSI 멀티패스를 활성화하기 위한 추가 구성을 수행할 수 있습니다. 자세한 내용은 단일 대상만 노출하는 어레이를 위한 iSCSI 멀티패스를 참조하십시오.

  • iSCSI에 한해, 제어 도메인(dom0)은 멀티패스 스토리지에서 사용되는 각 서브넷에 IP 주소를 가집니다.

    스토리지에 연결하려는 각 경로에 대해 NIC가 있고 각 NIC에 IP 주소가 구성되어 있는지 확인하십시오. 예를 들어, 스토리지에 4개의 경로를 원한다면, 각각 IP 주소가 구성된 4개의 NIC가 있어야 합니다.

  • iSCSI에 한해, 모든 iSCSI 대상 및 이니시에이터는 고유한 IQN을 가집니다.

  • iSCSI에 한해, iSCSI 대상 포트는 포털 모드에서 작동합니다.

  • HBA에 한해, 여러 HBA가 스위치 패브릭에 연결됩니다.

  • 보조 인터페이스를 구성할 때, 각 보조 인터페이스는 별도의 서브넷에 있어야 합니다. 예를 들어, 스토리지용 보조 인터페이스 두 개를 더 구성하려면, 세 개의 다른 서브넷에 IP 주소가 필요합니다. 즉, 관리 인터페이스용 서브넷 하나, 보조 인터페이스 1용 서브넷 하나, 보조 인터페이스 2용 서브넷 하나입니다.

    멀티패스 iSCSI 다이어그램

    이 다이어그램은 멀티패스 iSCSI 구성에서 호스트의 두 NIC가 서로 다른 서브넷에 있어야 함을 보여줍니다. 이 다이어그램에서 호스트의 NIC 1은 스위치 1 및 두 스토리지 컨트롤러의 NIC 1과 함께 NIC 2, 스위치 2 및 스토리지 컨트롤러의 NIC 2와 다른 서브넷에 있습니다.

멀티패스 활성화

XenCenter® 또는 xe CLI에서 멀티패스를 활성화할 수 있습니다.

XenCenter를 사용하여 멀티패스를 활성화하려면

  1. XenCenter Resources 창에서 호스트를 마우스 오른쪽 버튼으로 클릭하고 Enter Maintenance Mode를 선택합니다.

  2. 유지 보수 모드 아이콘(파란색 사각형)과 함께 호스트가 Resources 창에 다시 나타날 때까지 기다린 후 계속 진행합니다.

  3. 호스트의 General 탭에서 Properties를 클릭한 다음 Multipathing 탭으로 이동합니다.

  4. 멀티패싱을 활성화하려면 이 서버에서 멀티패싱 활성화 확인란을 선택합니다.

  5. 새 설정을 적용하려면 확인을 클릭합니다. XenCenter가 새 스토리지 구성을 저장하는 동안 잠시 지연됩니다.

  6. 리소스 창에서 호스트를 마우스 오른쪽 버튼으로 클릭하고 유지 관리 모드 종료를 선택합니다.

  7. 풀의 모든 호스트에서 멀티패싱을 활성화하려면 이 단계를 반복합니다.

풀의 모든 호스트에서 멀티패싱을 활성화해야 합니다. 모든 케이블 연결과 iSCSI의 경우 서브넷 구성이 각 호스트의 해당 NIC와 일치해야 합니다.

xe CLI를 사용하여 멀티패싱을 활성화하려면

  1. XenServer 호스트에서 콘솔을 엽니다.

  2. 다음 명령을 사용하여 호스트의 모든 PBD를 분리합니다.

    xe pbd-unplug uuid=<pbd_uuid>
    <!--NeedCopy-->
    

    xe pbd-list 명령을 사용하여 PBD의 UUID를 찾을 수 있습니다.

  3. 다음 명령을 사용하여 multipathing 매개변수 값을 true로 설정합니다.

    xe host-param-set uuid=<host uuid> multipathing=true
    <!--NeedCopy-->
    
  4. 서버에 단일 경로 모드로 실행 중이지만 여러 경로가 있는 기존 SR이 있는 경우:

    • 영향을 받는 SR에 가상 디스크가 있는 실행 중인 게스트를 마이그레이션하거나 일시 중단합니다.

    • 멀티패싱을 사용하여 다시 연결하려면 영향을 받는 SR의 PBD를 다시 연결합니다.

       xe pbd-plug uuid=<pbd_uuid>
       <!--NeedCopy-->
      
  5. 풀의 모든 호스트에서 멀티패싱을 활성화하려면 이 단계를 반복합니다.

풀의 모든 호스트에서 멀티패싱을 활성화해야 합니다. 모든 케이블 연결과 iSCSI의 경우 서브넷 구성이 각 호스트의 해당 NIC와 일치해야 합니다.

멀티패싱 비활성화

XenCenter 또는 xe CLI에서 멀티패싱을 비활성화할 수 있습니다.

XenCenter를 사용하여 멀티패싱 비활성화

  1. XenCenter 리소스 창에서 호스트를 마우스 오른쪽 버튼으로 클릭하고 유지 관리 모드 시작을 선택합니다.

  2. 계속하기 전에 호스트가 유지 관리 모드 아이콘(파란색 사각형)과 함께 리소스 창에 다시 나타날 때까지 기다립니다.

  3. 호스트의 일반 탭에서 속성을 클릭한 다음 멀티패싱 탭으로 이동합니다.

  4. 멀티패싱을 비활성화하려면 이 서버에서 멀티패싱 사용 확인란을 선택 취소합니다.

  5. 새 설정을 적용하려면 확인을 클릭합니다. XenCenter가 새 스토리지 구성을 저장하는 동안 잠시 지연됩니다.

  6. 리소스 창에서 호스트를 마우스 오른쪽 버튼으로 클릭하고 유지 관리 모드 종료를 선택합니다.

  7. 풀의 모든 호스트에서 멀티패싱을 구성하려면 이 단계를 반복합니다.

xe CLI를 사용하여 멀티패싱 비활성화

  1. XenServer 호스트에서 콘솔을 엽니다.

  2. 다음 명령을 사용하여 호스트의 모든 PBD를 분리합니다.

    xe pbd-unplug uuid=<pbd_uuid>
    <!--NeedCopy-->
    

    xe pbd-list 명령을 사용하여 PBD의 UUID를 찾을 수 있습니다.

  3. 다음 명령을 사용하여 multipathing 매개변수 값을 false로 설정합니다.

    xe host-param-set uuid=<host uuid> multipathing=false
    <!--NeedCopy-->
    
  4. 단일 경로 모드로 실행 중이지만 여러 경로를 가진 기존 SR이 서버에 있는 경우:

    • 영향을 받는 SR에 가상 디스크가 있는 실행 중인 게스트를 마이그레이션하거나 일시 중단합니다.

    • 영향을 받는 SR의 PBD를 뽑았다가 다시 연결하여 다중 경로를 사용하여 다시 연결합니다:

       xe pbd-plug uuid=<pbd_uuid>
       <!--NeedCopy-->
      
  5. 풀의 모든 호스트에서 다중 경로를 비활성화하려면 이 단계를 반복합니다.

다중 경로 구성

추가적인 임시 다중 경로 구성 수정을 하려면 /etc/multipath/conf.d 디렉터리에 .conf 접미사가 붙은 파일을 생성합니다. 이 파일에 추가 구성을 추가합니다. 다중 경로는 .conf으로 끝나는 파일을 디렉터리에서 알파벳순으로 검색하고 해당 파일에서 구성 정보를 읽습니다.

/etc/multipath.conf 파일을 편집하지 마십시오. 이 파일은 XenServer 업데이트 시 덮어쓰여집니다. 다중 경로 구성에 영구적인 변경 사항을 적용하려면, 당사의 파트너 엔지니어링 팀에 변경 사항을 영구적으로 추가하도록 요청할 수 있는 스토리지 공급업체에 문의하십시오.

단일 서브넷의 iSCSI 다중 경로

단일 서브넷에서 대상 및 IQN을 노출하는 스토리지 어레이와 함께 iSCSI 다중 경로를 사용하도록 XenServer를 구성할 수 있습니다. 예를 들어, 다음 단계를 따라 Dell EqualLogic PS 및 FS 통합 시리즈 스토리지 어레이를 설정할 수 있습니다.

기본적으로 XenServer는 iSCSI 대상당 하나의 연결만 설정합니다. 따라서 기본 구성에서는 페일오버 및 로드 밸런싱을 위해 NIC 본딩을 사용하는 것이 좋습니다. 이 섹션에 설명된 구성 절차는 단일 서브넷 또는 대상에 대해 여러 iSCSI 연결이 설정되는 대체 구성을 설명합니다. NIC 본딩은 필요하지 않습니다.

참고:

다음 구성은 단일 서브넷을 통해 대상 및 IQN을 노출하는 스토리지 어레이에만 독점적으로 연결된 서버에서만 지원됩니다. 이러한 스토리지 어레이는 XenServer와 함께 이 절차에 대해 검증되어야 합니다.

다중 경로를 구성하려면:

  1. 보호하려는 모든 데이터를 백업합니다.

  2. XenCenter 리소스 창에서 호스트를 마우스 오른쪽 버튼으로 클릭하고 유지 관리 모드 시작을 선택합니다.

  3. 호스트가 유지보수 모드 아이콘(파란색 사각형)과 함께 리소스 창에 다시 나타날 때까지 기다린 후 계속하십시오.

  4. 호스트의 일반 탭에서 속성을 클릭한 다음 멀티패싱 탭으로 이동합니다.

  5. 멀티패싱을 활성화하려면 이 서버에서 멀티패싱 활성화 확인란을 선택합니다.

  6. 확인을 클릭하여 새 설정을 적용합니다. XenCenter가 새 스토리지 구성을 저장하는 동안 잠시 지연됩니다.

  7. 호스트 콘솔에서 2개에서 4개의 Open-iSCSI 인터페이스를 구성합니다. 각 iSCSI 인터페이스는 별도의 경로를 설정하는 데 사용됩니다. 다음 단계는 두 인터페이스에 대한 프로세스를 보여줍니다.

    1. 두 개의 iSCSI 인터페이스를 구성하고 다음 명령을 실행합니다.

      iscsiadm -m iface --op new -I c_iface1
      iscsiadm -m iface --op new -I c_iface2
      

      인터페이스 이름에 c_ 접두사가 있는지 확인하십시오. 인터페이스가 이 명명 표준을 사용하지 않으면 무시되고 대신 기본 인터페이스가 사용됩니다.

      참고:

      이 구성은 모든 연결에 기본 인터페이스가 사용되도록 합니다. 이는 모든 연결이 단일 인터페이스를 사용하여 설정되고 있음을 나타냅니다.

    2. 다음 명령을 사용하여 iSCSI 인터페이스를 xenbr1 및 xenbr2에 바인딩합니다.

      iscsiadm -m iface --op update -I c_iface1 -n iface.net_ifacename -v xenbr1
      iscsiadm -m iface --op update -I c_iface2 -n iface.net_ifacename -v xenbr2
      

      참고:

      이 구성은 제어 도메인(xenbr1 및 xenbr2 포함) 및 xenbr0에 대해 구성된 네트워크 인터페이스가 관리에 사용된다고 가정합니다. 또한 스토리지 네트워크에 사용되는 NIC 카드는 NIC1 및 NIC2라고 가정합니다. 그렇지 않은 경우, 네트워크 토폴로지를 참조하여 이러한 명령에 사용할 네트워크 인터페이스 및 NIC 카드를 확인하십시오.

  8. XenCenter 리소스 창에서 호스트를 마우스 오른쪽 버튼으로 클릭하고 유지보수 모드 종료를 선택합니다. 아직 VM을 재개하지 마십시오.

  9. 호스트 콘솔에서 다음 명령을 실행하여 세션을 검색하고 로그인합니다.

    iscsiadm -m discovery -t st -p <IP of SAN>
    iscsiadm -m node -L all
    
  10. 다음 명령을 사용하여 이전 세션 정보가 포함된 오래된 항목을 삭제합니다.

    cd /var/lib/iscsi/send_targets/<IP of SAN and port, use ls command to check that>
    rm -rf <iqn of SAN target for that particular LUN>
    
    cd /var/lib/iscsi/nodes/
    rm -rf <entries for that particular SAN>
    
  11. LUN을 분리하고 다시 연결합니다. 다음 방법 중 하나로 수행할 수 있습니다.

    • 풀의 모든 호스트에서 이전 단계를 완료한 후 XenCenter를 사용하여 전체 풀의 LUN을 분리하고 다시 연결할 수 있습니다.
    • 또는 각 호스트의 PBD를 분리하고 제거한 다음 SR을 복구할 수 있습니다.

      1. 다음 명령을 실행하여 PBD를 분리하고 제거합니다.

        1. SR의 UUID를 찾습니다.

          xe sr-list
          
        2. SR과 연결된 PBD 목록을 가져옵니다.

          xe pbd-list sr-uuid=<sr_uuid>
          
        3. 이전 명령의 출력에서 SCSI ID가 일치하지 않는 iSCSI 스토리지 리포지토리의 PBD UUID를 찾습니다.

        4. 식별한 PBD를 분리하고 제거합니다.

          xe pbd-unplug uuid=<pbd_uuid>
          xe pbd-destroy uuid=<pbd_uuid>
          
      2. XenCenter에서 스토리지를 복구합니다.

  12. 이제 VM을 다시 시작할 수 있습니다.

스토리지 멀티패싱