Fujitsu ETERNUS 백엔드 가이드
Red Hat OpenStack Platform 환경에서 Fujitsu ETERNUS 백엔드를 사용하는 가이드
초록
보다 포괄적 수용을 위한 오픈 소스 용어 교체 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.
1장. 소개 링크 복사링크가 클립보드에 복사되었습니다!
이 문서에서는 Fujitsu ETERNUS Disk Storage System을 블록 스토리지 서비스의 백엔드로 사용하도록 Red Hat OpenStack Platform을 구성하는 방법에 대해 설명합니다. 이 문서에서는 오버클라우드 배포에서 ETERNUS 장치에서 제공하는 파이버 채널 및 iSCSI 백엔드를 정의하는 방법을 다룹니다. 이 프로세스에는 블록 스토리지 서비스의 사용자 지정 백엔드로 두 백엔드 를 모두 정의해야 합니다. 기본적으로 컨트롤러 노드에는 Block Storage 서비스가 포함됩니다.
사전 요구 사항
-
Fujitsu 플러그인의 컨테이너
registry.connect.redhat.com/fujitsu/rhosp13-fujitsu-cinder-volume-161을 사용하여 director를 통해 배포된 Red Hat OpenStack Platform 오버클라우드. 자세한 내용은 공급 업체 플러그인 배포를 참조하십시오. - 블록 스토리지 백엔드에는 Fujitsu ETERNUS Disk Storage System 장치 및 드라이버만 사용할 수 있습니다.
- 오버클라우드 배포에 생성한 director 설치 사용자 를 사용할 수 있습니다. 자세한 내용은 Director 설치 및 사용 에서 스택 사용자 생성 을 참조하십시오.
-
ETERNUS 웹 GUI 또는 CLI를 통해 ETERNUS 장치의
관리자계정에 액세스할 수 있습니다.
Red Hat은 Fujitsu ETERNUS 장치와 함께 파이버 채널 또는 iSCSI 인터페이스 및 해당 드라이버 및 설정 사용을 지원합니다.
사용자 지정 백엔드 정의에 대한 자세한 내용은 사용자 정의 블록 스토리지 백엔드 배포 가이드를 참조하십시오.
2장. Fujitsu ETERNUS 장치 구성 링크 복사링크가 클립보드에 복사되었습니다!
Fujitsu ETERNUS 장치를 블록 스토리지 백엔드로 정의하기 전에 장치의 스토리지 풀 및 포트를 구성합니다. 각 단계에 대한 자세한 내용은 장치 설명서를 참조하십시오.
절차
- 블록 스토리지 서비스와 ETERNUS 장치의 MNT 포트를 호스팅하는 컨트롤러 노드 간 LAN 연결을 구성합니다.
- ETERNUS 장치의 컴퓨팅 노드와 CA 포트 간 SAN 연결을 구성합니다.
-
관리자역할의 계정을 사용하여 ETERNUS 장치에 로그인합니다. - SMI-S of ETERNUS DX를 활성화합니다.
- SSH 키 설정
-
소프트웨어역할이 있는 사용자 계정을 추가합니다. -
고급 복사 기능라이센스를 등록하고 복사 테이블 크기를 구성합니다. -
볼륨의 스토리지 풀을 만듭니다. 나중에 3.1절. “각 Fujitsu ETERNUS 백엔드에 대한 드라이버 정의 생성” 의
EternusPool설정에서 이 풀을 사용합니다. -
선택 사항: 볼륨 스냅샷을 위해 별도의 스토리지 풀을 생성합니다. 이 풀은 3.1절. “각 Fujitsu ETERNUS 백엔드에 대한 드라이버 정의 생성” 의
EternusSnapPool설정을 나타냅니다. 선택 사항:
Snap Data Pool Volume(SDPV)을 생성하여스냅샷 생성 기능에 대한 SDP(SDP)를활성화합니다.작은 정보EternusSnapPool에 Thin Provision Pool을 사용하는 경우 이 단계를 건너뜁니다.-
블록
스토리지 서비스에서 사용할 스토리지 포트를 구성합니다. -
스토리지 포트 포트를CA모드로 설정합니다. 스토리지 포트에 대해
호스트 방지를 활성화하려면 각 포트에 대해 ETERNUS CLI에서 다음 명령을 입력합니다.set <PROTO>-parameters -host-affinity enable -port <CM#> <CA#> <PORT>
set <PROTO>-parameters -host-affinity enable -port <CM#> <CA#> <PORT>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<PROTO>를
fc또는iscsi와 같은 스토리지 프로토콜로 바꿉니다. - <CM#> 및 <CA#>을 포트가 있는 컨트롤러 인클로저 이름으로 바꿉니다.
- <PORT>를 포트 번호로 바꿉니다.
-
<PROTO>를
다음 명령을 사용하여 언더클라우드에서 SSH 키를 생성하고
eternus.ietf파일을 ETERNUS 장치에 업로드합니다.ssh-keygen -t rsa -N "" -f ./eternus ssh-keygen -e -f ./eternus.pub > ./eternus.ietf
ssh-keygen -t rsa -N "" -f ./eternus ssh-keygen -e -f ./eternus.pub > ./eternus.ietfCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고나중에 사용할 수 있도록
eternus파일을 저장합니다. 보안상의 이유로 언더클라우드 또는 오버클라우드에서 복사하거나 이동하지 마십시오.
3장. Fujitsu ETERNUS heat 템플릿 준비 링크 복사링크가 클립보드에 복사되었습니다!
향후 Red Hat OpenStack Platform 오버클라우드 업데이트 중에 설정이 유지되도록 하려면 director를 통해 배포하는 동안 모든 서비스 구성을 수행합니다.
블록 스토리지 서비스를 호스팅하는 ETERNUS 백엔드의 컨트롤러 노드에 다음 구성을 포함합니다.
- 각 백엔드의 드라이버 설정에 대한 XML 구성 파일을 포함합니다.
- ETERNUS 장치와 통신하기 위한 SSH 서버 키가 포함되어 있습니다.
heat 템플릿을 사용하여 director와 함께 두 작업을 오케스트레이션할 수 있습니다. director heat 템플릿의 구문에 대한 자세한 내용은 Advanced Overcloud Guide 의 Heat 템플릿 이해 를 참조하십시오.
다음 템플릿 eternus-temp.yaml 은 필요한 heat 템플릿의 기본 구문을 간략하게 설명합니다.
eternus-temp.yaml
- 1
EternusSetup섹션에는 컨트롤러 노드의 작업을 오케스트레이션하는 리소스가 포함되어 있습니다.- 2
config섹션에는 컨트롤러 노드에서 실행할 명령이 포함되어 있습니다.- 3
- 블록 스토리지 서비스가 호스팅되는 각 컨트롤러 노드에 개인 키 정보를 복사하고, 3.1절. “각 Fujitsu ETERNUS 백엔드에 대한 드라이버 정의 생성” 에서 각 백엔드의 드라이버 설정에 대한 XML 구성 파일을 생성하는 명령을 추가합니다.
이 파일을 director 노드 /home/stack/templates/ 의 사용자 지정 heat 템플릿 디렉터리에 저장합니다.
3.1. 각 Fujitsu ETERNUS 백엔드에 대한 드라이버 정의 생성 링크 복사링크가 클립보드에 복사되었습니다!
블록 스토리지 구성 파일 /etc/cinder/cinder.conf 가 아닌 별도의 XML 파일에서 각 ETERNUS 백엔드의 드라이버 설정을 정의합니다. 다음 설정을 사용하여 각 백엔드에 XML 파일이 있는지 확인합니다.
- EternusIP
- ETERNUS 장치의 SMI-S 연결의 IP 주소입니다. 장치의 MNT 포트의 IP 주소를 사용합니다.
- EternusPort
- ETERNUS 장치의 SMI-S 연결 포트에 대한 포트 번호입니다.
- EternusUser
-
EternusIP연결에 대한소프트웨어역할의 사용자 이름입니다. - EternusPassword
-
EternusIP에서EternusUser의 해당 암호입니다. - EternusPool
- 2장. Fujitsu ETERNUS 장치 구성 볼륨의 스토리지 풀 이름입니다. ETERNUS 장치에서 풀 RAID 그룹 이름 또는 TPP 이름을 사용합니다.
- EternusSnapPool
-
2장. Fujitsu ETERNUS 장치 구성 에서 볼륨 스냅샷의 스토리지 풀 이름입니다. ETERNUS 장치에서 풀 RAID 그룹 이름을 사용합니다. 스냅샷에 대해 다른 풀을 생성하지 않은 경우
EternusPool과 동일한 값을 사용합니다.
다음 xml 예제를 사용하여 파이버 채널 구성을 정의합니다.
eternus-fc.xml
다음 xml 예제를 사용하여 ISCSI 구성을 정의합니다.
eternus-iscsi.xml
이러한 XML 파일 생성을 오케스트레이션하려면 3장. Fujitsu ETERNUS heat 템플릿 준비 의 /home/stack/templates/eternus-temp.yaml 파일의 EternusSetup 리소스의 config 섹션에 bash 명령을 포함합니다. 다음 예제 명령을 사용하여 eternus-fc.xml 및 eternus-iscsi.xml 생성을 오케스트레이션합니다.
sudo cat 명령을 사용하여 필요한 양의 XML 구성 파일을 만듭니다.
cinder 사용자 및 그룹에 대해 이러한 XML 파일의 소유권 및 권한을 설정합니다.
sudo chown cinder:cinder /etc/cinder/eternus-*.xml sudo chmod 0600 /etc/cinder/eternus-*.xml
sudo chown cinder:cinder /etc/cinder/eternus-*.xml
sudo chmod 0600 /etc/cinder/eternus-*.xml
완료된 heat 템플릿의 예는 3.2절. “Fujitsu ETERNUS heat 템플릿의 예” 에서 참조하십시오.
3.2. Fujitsu ETERNUS heat 템플릿의 예 링크 복사링크가 클립보드에 복사되었습니다!
다음 /home/stack/templates/eternus-temp.yaml 파일에는 eternus-fc.xml 및 eternus-iscsi.xml 과 같은 XML 구성 파일 예제를 선언하는 데 필요한 매개변수가 포함되어 있습니다.
/home/stack/templates/eternus-temp.yaml
4장. Fujitsu ETERNUS 환경 파일 생성 링크 복사링크가 클립보드에 복사되었습니다!
환경 파일에는 정의하려는 각 백엔드 및 기타 관련 설정에 대한 설정이 포함되어 있습니다. 환경 파일에 대한 자세한 내용은 Advanced Overcloud Customization 가이드의 환경 파일 을 참조하십시오.
또한 환경 파일은 3장. Fujitsu ETERNUS heat 템플릿 준비 이전에 생성한 heat 템플릿을 등록합니다. heat 템플릿에 정의된 설치 및 에코 명령은 배포 중에 적절한 노드에서 실행됩니다.
다음 예제 환경 파일에는 ETERNUS 장치를 블록 스토리지 백엔드로 정의하는 데 필요한 섹션이 포함되어 있습니다. 또한 3.1절. “각 Fujitsu ETERNUS 백엔드에 대한 드라이버 정의 생성” 및 3.2절. “Fujitsu ETERNUS heat 템플릿의 예” 에서 오케스트레이션된 각 해당 XML 파일에 대한 백엔드 정의를 생성합니다.
eternusbackend-env.yaml
- 1
NodeExtraConfig를 사용하여 코어 Puppet 구성 전에 모든 노드에 대한 사용자 정의 설정을 정의합니다. 그러면 블록 스토리지 서비스가 오버클라우드에 배포되면 다음과 같은 설정이 완료됩니다.- 각 백엔드의 XML 구성 파일이 있습니다.
- 개인 키가 생성됩니다.
- 2
- 다른 백엔드 유형을 비활성화하려면 다음 매개변수를
false로 설정합니다.-
cinderEnableIscsiBackend: 기타 iSCSI 백엔드. -
CinderEnableRbdBackend: Red Hat Ceph Storage. -
CinderEnableNfsBackend: NFS. -
NovaEnableRbdBackend: 임시 Red Hat Ceph Storage.
-
- 3
GlanceBackend매개 변수를 사용하여 이미지 서비스 이미지 스토리지 설정을 정의합니다. 지원되는 값은 다음과 같습니다.-
파일은 각 컨트롤러 노드의/var/lib/glance/images에 이미지를 저장합니다. -
Swift는 이미지 스토리지에 Object Storage 서비스를 사용합니다. -
Cinder는 이미지 스토리지에 블록 스토리지 서비스를 사용합니다.
-
- 4
controllerExtraConfig를 사용하여 모든 컨트롤러 노드에 대한 사용자 정의 설정을 정의합니다.cinder::config::cinder_config클래스는 Block Storage 서비스용입니다. director는 이러한 백엔드 설정을 각 노드의/etc/cinder/cinder.conf파일에 저장합니다.- 5
FJFC/string을 사용하여FJFC라는 백엔드 정의를 구성하고 해당 백엔드 정의에volume_driver매개 변수를 선언합니다.volume_driver매개 변수를 사용하여 백엔드의 파이버 채널 ETERNUS 드라이버를 설정합니다(예:cinder.volume.drivers.fujitsu.eternus_dx.eternus_dx_fc.FJDXFCDriver).- 6
- 드라이버가
cinder_eternus_config_file을 사용하여 백엔드에 사용하는 XML 구성 파일의 경로를 설정합니다. heat 템플릿(예:/home/stack/templates/eternus-temp.yaml)을 통해/etc/cinder/eternus-fc.xml생성을 오케스트레이션합니다. - 7
volume_backend_name은 블록 스토리지 서비스에서 백엔드를 활성화하는 데 사용하는 이름입니다.- 8
FJISCSI/문자열을 사용하여 새 백엔드 정의를 구성합니다.volume_driver매개 변수를 사용하여 백엔드의 iSCSI ETERNUS 드라이버를 설정합니다(예:cinder.volume.drivers.fujitsu.eternus_dx.eternus_dx_iscsi.FJDXISCSIDriver).- 9
cinder_user_enabled_backends클래스를 사용하여 사용자 지정 백엔드를 설정하고 활성화합니다.cinder::config::cinder_config클래스에 정의된 것과 같이 사용자 사용 백엔드에만 이 클래스를 사용합니다.- 10
- 호스트의 사용자 지정 구성 파일을
CinderVolumeOptVolumes가 있는 컨테이너에서 실행되는 cinder-volume 서비스에서 사용할 수 있도록 합니다.
환경 파일을 생성한 후 구성을 배포할 수 있습니다. 환경 파일 /home/stack/templates/eternusbackend-env.yaml 에 대한 자세한 내용은 5장. 구성된 Fujitsu ETERNUS 백엔드 배포 을 참조하십시오.
5장. 구성된 Fujitsu ETERNUS 백엔드 배포 링크 복사링크가 클립보드에 복사되었습니다!
/home/stack/templates/ 에서 eternusbackend-env.yaml 파일을 생성한 후 다음 단계를 완료합니다.
절차
-
stack사용자로 로그인합니다. - 다음 명령을 사용하여 백엔드 구성을 배포합니다.
openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/eternusbackend-env.yaml
$ openstack overcloud deploy --templates \
-e [your environment files] \
-e /home/stack/templates/eternusbackend-env.yaml
오버클라우드를 생성할 때 추가 환경 파일을 전달한 경우 -e 옵션을 사용하여 오버클라우드를 원하지 않는 변경을 수행하지 않도록 여기에서 다시 전달합니다. 자세한 내용은 Director 설치 및 사용 가이드 의 Overcloud 환경 수정 을 참조하십시오.
director 오케스트레이션이 완료된 후 백엔드를 테스트합니다. 6장. Fujitsu ETERNUS 설정 테스트 을 참조하십시오.
6장. Fujitsu ETERNUS 설정 테스트 링크 복사링크가 클립보드에 복사되었습니다!
새로운 ETERNUS 백엔드를 사용하도록 Block Storage 서비스를 구성한 후 각 백엔드에 대한 볼륨 유형 을 선언합니다. 볼륨 유형을 사용하여 새 볼륨을 만들 때 사용할 백엔드를 지정합니다.
- 파이버 채널 백엔드를 생성하고 다음 명령으로 해당 백엔드에 매핑합니다.
cinder type-create FJFC cinder type-key FJFC set volume_backend_name=FJFC
# cinder type-create FJFC
# cinder type-key FJFC set volume_backend_name=FJFC
- iSCSI 백엔드를 만들고 다음 명령을 사용하여 각 백엔드에 매핑합니다.
cinder type-create FJISCSI cinder type-key FJISCSI volume_backend_name=FJISCSI
# cinder type-create FJISCSI
# cinder type-key FJISCSI volume_backend_name=FJISCSI
볼륨 유형에 대한 자세한 내용은 4장. Fujitsu ETERNUS 환경 파일 생성 을 참조하십시오.
-
test_iscsi이라는 1GB iSCSI 볼륨을 생성하여 구성을 확인합니다.
cinder create --volume_type FJISCSI --display_name test_iscsi 1
# cinder create --volume_type FJISCSI --display_name test_iscsi 1
- 파이버 채널 백엔드를 테스트합니다.
cinder create --volume_type FJFC --display_name test_fc 1
# cinder create --volume_type FJFC --display_name test_fc 1