웹사이트 검색

Citrix XenServer 스토리지 저장소를 만들고 추가하는 방법 - 4부


이 XenServer 시리즈의 네 번째 기사에서는 스토리지 솔루션에 대해 설명합니다. 네트워킹과 마찬가지로 XenServer의 스토리지 솔루션도 처음에는 파악하기 어려운 경우가 많습니다. 구성을 시작하기 전에 XenServer 스토리지와 관련된 새로운 용어와 개념을 논의해야 합니다.

업데이트: 2016년 5월 Citrix는 XenServer 7 플랫폼의 새 버전을 출시했습니다. 설치 방법은 다음과 같습니다. XenServer 7을 새로 설치합니다.

XenServer에서는 기존 스토리지 용어 목록에 몇 가지 새로운 용어를 도입했습니다. IT 시스템을 사용할 때 개념을 이해하는 것은 항상 중요하지만, 스토리지는 네트워킹 개념을 다룬 이전 기사만큼 중요하지는 않습니다. 그러나 이 문서에서는 이러한 저장소 개념을 설명하고 명확하게 설명하는 데 시간이 걸릴 것입니다.

XenServer 스토리지에 대해 가장 먼저 기억해야 할 점은 실제 XenServer 호스트를 위한 스토리지가 있고 XenServer 호스트에서 실행될 게스트 또는 가상 컴퓨터를 위한 스토리지도 있다는 것입니다. 개념적으로 이는 이해하기 쉽지만 관리자가 각 스토리지 측면의 목적에 익숙하지 않은 경우 이를 관리하는 것은 어려운 작업이 될 수 있습니다.

첫 번째 용어는 'SR' 또는 스토리지 저장소로 알려져 있습니다. 이는 가상 컴퓨터 디스크가 저장되고 검색되는 물리적 매체를 나타내기 때문에 XenServer 스토리지에서 가장 중요한 용어입니다. 스토리지 저장소는 XenServer 호스트에 물리적으로 연결된 로컬 스토리지, iSCSI/파이버 채널 LUN, NFS 네트워크 파일 공유 또는 Dell/NetApp 스토리지 어플라이언스의 스토리지를 포함하여 여러 가지 유형의 스토리지 시스템 중 하나일 수 있습니다.

스토리지 리포지토리는 공유 또는 전용이 가능하며 빠른 복제, 스파스 할당(가상 머신의 필요에 따라 스토리지 프로비저닝), 크기 조정이 가능한 가상 디스크 이미지(나중에 자세히 설명)와 같은 다양한 유용한 기능을 지원할 수 있습니다.

스토리지 리포지토리인 SR은 물리적 블록 장치(보다 일반적으로 'PBD'라고 함)를 통해 XenServer 호스트에 논리적으로 연결됩니다. PBD는 단순히 저장 위치에 대한 참조입니다. 이러한 PBD 개체를 XenServer 호스트에 "연결"하여 해당 호스트가 해당 스토리지 저장소에 대한 정보를 읽고 쓸 수 있도록 할 수 있습니다.

저장소 저장소의 주요 목적은 가상 머신 가상 디스크 이미지(VDI) 파일을 저장하는 것입니다. VDI 파일은 XenServer 호스트에서 실행되는 가상 컴퓨터에 대한 운영 체제 및 기타 파일을 보관하기 위해 할당된 SR의 지점입니다. VDI 파일은 여러 가지 유형 중 하나일 수 있습니다. 유형은 저장소 저장소 유형에 따라 결정됩니다.

XenServer의 일반적인 VDI 유형은 논리 볼륨 관리자가 관리하는 LV(논리 볼륨), VHD(가상 하드 디스크)이거나 Dell 또는 NetApp 스토리지 장치의 LUN(논리 단위 번호)일 수 있습니다. 참고: 이 문서에서는 Dell 스토리지 장치의 LUN을 사용합니다.

이러한 VDI 파일은 일반적으로 'VBD'라고 불리는 가상 블록 장치라는 개체를 통해 논리적으로 가상 머신에 연결됩니다. 이러한 VBD 개체는 가상 게스트에 연결될 수 있으며, 이를 통해 게스트 컴퓨터는 각 SR의 특정 VDI에 저장된 데이터에 액세스할 수 있습니다.

XenServer의 네트워킹과 마찬가지로 스토리지에 대해 읽는 것도 중요하지만 이러한 각 항목 간의 관계를 볼 수 있으면 개념이 확고해지는 경우가 많습니다. XenServer 스토리지 개념을 나타내는 데 사용되는 일반적인 다이어그램은 선형 방식으로 읽는 경우가 많기 때문에 처음 접하는 사람들에게 혼란을 주는 경우가 많습니다. 아래는 Citrix에서 빌린 이미지 중 하나입니다.

많은 사람들은 이 글을 왼쪽에서 오른쪽으로 선형적으로 읽으면서 각 부분이 별도의 물리적 장치라고 생각합니다. 이는 사실이 아니며 XenServer 스토리지 작동 방식에 대해 많은 혼란을 야기하는 경우가 많습니다. 아래 그래픽은 덜 선형적이지만 보다 실용적인 방식으로 개념을 설명하려고 시도합니다.

위의 그래픽으로 인해 개인이 XenServer 스토리지에 대해 더 이상 혼란을 느끼지 않기를 바랍니다. 두 번째 이미지는 하나의 실제 네트워크 연결을 통해 XenServer와 게스트를 원격 스토리지에 연결하는 데 사용되는 논리적 연결(PBDVBD)을 표시하려는 시도입니다.

개념화가 방해가 되지 않는 상태에서; 구성이 시작될 수 있습니다. 이 시리즈의 첫 번째 기사를 떠올려 보면, 이 가이드에서는 가상 머신(게스트) 디스크의 스토리지로 Dell PS5500E iSCSI 스토리지 장치를 사용하고 있습니다. 이 가이드에서는 Dell iSCSI 장치 구성을 안내하지 않습니다.

시스템 설정:

  1. XenServer 6.5 설치 및 패치(시리즈의 1부)
  2. Dell PS5500E iSCSI 장치(필요한 경우 환경 정보를 대체하기 위해 다른 iSCSI 장치를 사용할 수 있음)
  3. XenServer 네트워크 인터페이스가 구성되었습니다(시리즈의 3부).
  4. iSCSI 장치와 XenServer는 ping 유틸리티를 통해 논리적으로 서로를 볼 수 있습니다.
  5. CIFS(SAMBA) 서버는 CD ISO 파일 공유를 실행하고 호스팅합니다(필수는 아니지만 매우 유용함).

Citrix XenServer 스토리지 저장소 생성

이 첫 번째 프로세스는 XenServer 호스트에서 Dell PS5500E까지 소프트웨어 iSCSI 이니시에이터를 생성하는 단계를 거칩니다.

이 특정 LUNChallenge-Handshake 인증 프로토콜(CHAP)을 사용하여 승인된 특정 당사자만 iSCSI 볼륨에 액세스하도록 제한합니다.

스토리지 저장소를 생성하려면 기존 'xe' 명령이 실행됩니다. 스토리지 저장소를 생성하기 전에 적절한 iSCSI 정보를 얻어야 합니다.

'sr-probe' 매개변수를 'xe' 유틸리티에 전달하면 XenServer가 스토리지 장치에 iSCSI IQN(iSCSI 정규 이름)을 쿼리하도록 지시합니다.

첫 번째 명령은 처음에는 강렬해 보이지만 보기만큼 나쁘지는 않습니다.


xe sr-probe type=lvmoiscsi device-config:target=X.X.X.X device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap"

이 첫 번째 명령은 스토리지 저장소 구성을 위한 SCSI IQN을 수집하는 데 필요합니다. 계속 진행하기 전에 이 명령의 모든 부분을 살펴보겠습니다.

  1. sr-probe – 이 XenServer 호스트용으로 생성된 볼륨에 대한 정보를 iSCSI 장치에 쿼리하는 데 사용됩니다.
  2. type= XenServer에 스토리지 저장소 유형을 알리는 데 사용됩니다. 이는 어떤 시스템을 사용하는지에 따라 달라집니다. Dell PS5500을 사용하기 때문에 이 명령에는 iSCSI를 통한 lvm이 사용됩니다. 반드시 저장장치 종류에 맞게 수정하세요.
  3. device-config:target= XenServer에 IP 주소로 쿼리할 iSCSI 장치를 알려주는 데 사용됩니다.
  4. device-config:chapuser= 이는 iSCSI 장치에 인증하는 데 사용됩니다. 이 예에서는 "tecmint " 사용자를 위해 이전에 iSCSI 볼륨이 생성되었습니다. 이 명령으로 사용자 이름과 비밀번호를 보내면 iSCSI 장치는 저장소 저장소 생성을 완료하는 데 필요한 정보로 응답합니다.
  5. device-config:chappassword= 위 CHAP 사용자 이름의 비밀번호입니다.

명령을 입력하고 제출하면 XenServer는 iSCSI 장치에 로그인을 시도하고 실제로 이 iSCSI 장치를 스토리지 저장소로 추가하는 데 필요한 일부 정보를 반환합니다.

다음은 이 명령에서 테스트 시스템이 반환한 내용입니다.


Error code: SR_BACKEND_FAILURE_96
Error parameters: , The SCSIid parameter is missing or incorrect , <?xml version"1.0" ?>
<iscsi-target-iqns>
        <TGT>
                 <Index>
                              0
                 </Index>
                 <IPAddress>
                 </IPAddress>
                 <TargetIQN>
                              iqn.2001-05.com.equallogic:0-8a096-0d9a4ab02-46600020343560ef-xenct-xen2
                 </TargetIQN>
        </TGT>
        <TGT>
                 <Index>
                 
                 </Index>
                 <IPAddress>

                 </IPAddress>
                 <TargetIQN>

                 </TargetIQN>
        </TGT>
</iscsi-target-iqns>

여기서 강조표시된 부분은 iSCSI IQN으로 알려져 있습니다. 이는 매우 중요하며 저장소 저장소의 SCSIid를 결정하는 데 필요합니다. 이 새로운 정보를 사용하면 이전 명령을 수정하여 SCSIid를 얻을 수 있습니다.


xe sr-probe type=lvmoiscsi device-config:target=X.X.X.X device-config:targetIQN=iqn.2001-05.com.equallogic:0-8a0906-0d9a4ab02-46600020343560ef-xenct-xen2 device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap"

명령에 추가된 유일한 것은 targetIQN 스탠자입니다. 이 새 명령을 실행하면 시스템은 iSCSI 스토리지 저장소를 생성하는 데 필요한 마지막 정보로 응답합니다. 마지막 정보는 SCSI ID입니다.


Error code: SR_BACKEND_FAILURE_107
Error parameters: , The SCSIid parameter is missing or incorrect , <?xml version"1.0" ?>
<iscsi-target>
        <LUN>
                 <vendor>
                        EQLOGIC
                 </vendor>
                 <serial>
                 </serial>
                 <LUNid>
                         0
                 </LUNid>
                 <size>
                         107379425280
                 </size>
                 <SCSIid>
                         36090a028b04a9a0def60353420006046
                 </SCSIid>
        </LUN>
</iscsi-target>

이제부터 iSCSI 스토리지 저장소를 만드는 데 필요한 모든 부분을 사용할 수 있게 되었으며 이제 이 특정 XenServer에 이 SR을 추가하는 명령을 실행할 차례입니다. 결합된 정보로부터 Storage Repository를 생성하는 과정은 다음과 같습니다.


xe sr-create name-label="Tecmint iSCSI Storage" type=lvmoiscsi content-type=user device-config:target=X.X.X.X device-config:port=3260 device-config:targetIQN=iqn.2001-05.com.equallogic:0-8a0906-0d9a4ab02-46600020343560ef-xenct-xen2 device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap" device-config:SCSIid=36090a028b04a9a0def60353420006046

모든 것이 순조롭게 진행되면 시스템은 iSCSI 장치에 연결한 다음 새로 추가된 저장소 저장소의 UUID를 반환합니다.


bea6caa4-ecab-8509-33a4-2cda2599fb75

UUID 출력은 좋은 신호입니다! 모든 시스템 관리 작업과 마찬가지로 항상 명령이 성공했는지 확인하는 것이 좋습니다. 이는 또 다른 'xe' 명령을 사용하여 수행할 수 있습니다.


xe sr-list name-label="Tecmint iSCSI Storage"
샘플 출력

uuid ( RO)                 : bea6caa4-ecab-8509-33a4-2cda2599fb75
          name-label ( RW) : Tecmint iSCSI Storage
    name-description ( RW) :
                host ( RO) : xenct-xen2
                type ( RO) : lvmoiscsi
        content-type ( RO) : user

CLI 출력에서 이 XenServer는 Dell iSCSI 장치에 성공적으로 연결되었으며 게스트 VDI 파일을 저장할 준비가 되었습니다.

ISO 저장소 저장소 생성

다음 일련의 단계에서는 ISO 라이브러리를 생성하는 과정을 안내합니다. ISO 파일은 일반적으로 CD(컴팩트 디스크) 설치 미디어의 이미지입니다.

이러한 ISO 파일용으로 특수 저장소 저장소를 생성하면 새 게스트 설치를 매우 빠르게 완료할 수 있습니다. 관리자가 새 게스트를 만들려는 경우 풀의 XenServer에 물리적으로 CD를 넣을 필요 없이 이 ISO 라이브러리에 있는 ISO 파일 중 하나를 선택하기만 하면 됩니다.

가이드의 이 부분에서는 사용자가 작동하는 SAMBA 서버를 가지고 있다고 가정합니다. SAMBA 서버가 설정되지 않은 경우 Red Hat/Fedora에서 이 작업을 완료하는 방법에 대한 이 기사를 자유롭게 읽어 보십시오(나중에 Debian SAMBA 서버 가이드를 제공할 예정입니다).

  1. 파일 공유를 위해 Samba 서버 설정

첫 번째 단계는 SAMBA ISO 라이브러리에 필요한 자격 증명과 구성 정보를 수집하는 것입니다. 사용자 이름, 비밀번호 및 연결 정보를 사용할 수 있게 되면 간단한 'xe' 명령 변형을 사용하여 SAMBA 라이브러리를 XenServer에 연결할 수 있습니다.


xe-mount-iso-sr //<servername>/ISO -o username=<user>,password=<password>

이 명령은 실패하지 않는 한 화면에 아무 것도 출력하지 않습니다. 실제로 SAMBA ISO 공유가 마운트되었는지 확인하려면 또 다른 'xe' 명령을 실행하세요.


xe sr-list
샘플 출력

uuid ( RO)                 : 1fd75a51-10ee-41b9-9614-263edb3f40d6
          name-label ( RW) : Remote ISO Library on: //                  /ISO
    name-description ( RW) :
                host ( RO) : xenct-xen2
                type ( RO) : iso
        content-type ( RO) : iso

이제 이 XenServer 호스트는 iSCSI 스토리지 저장소CIFS ISO 라이브러리로 구성되어 가상 머신(게스트)용 설치 미디어를 저장합니다.

다음 단계는 가상 머신을 생성하고 해당 시스템을 이전 네트워킹 기사의 적절한 네트워크에 연결하는 것입니다.