IT창고

OpenStack 블록 스토리지 서비스(Cinder) 본문

OpenStack

OpenStack 블록 스토리지 서비스(Cinder)

영이26 2019. 10. 15. 09:51

 

 

1) 블록 스토리지 서비스 개요

OpenStack Block Storage 서비스 (Cinder)는 가상 머신에 영구 스토리지를 추가한다. 블록 스토리지는 볼륨 관리를위한 인프라를 제공하고 OpenStack Compute와 상호 작용하여 인스턴스 볼륨을 제공한다. 또한 이 서비스를 통해 볼륨 스냅 샷 및 볼륨 유형을 관리 할 수 ​​있다.

 

 

블록 스토리지 서비스의 구성 요소

① cinder-api

API 요청을 승인하고이를 cinder-volume조치로 라우팅한다.

 

② cinder-volume

블록 스토리지 서비스와 직접 상호 작용하고 또한 메시지 대기열을 통해 이러한 프로세스와 상호 작용한다. cinder-volume서비스는 읽고 상태를 유지하기 위해 블록 스토리지 서비스로 전송 쓰기 요청에 응답한다. 드라이버 아키텍처를 통해 다양한 스토리지 제공 업체와 상호 작용할 수 있다.

 

③ cinder-scheduler 데몬

볼륨을 생성 할 최적의 스토리지 제공자 노드를 선택한다. nova-scheduler의 구성 요소와 비슷하다.

 

④ cinder-backup 데몬

이 cinder-backup서비스는 모든 유형의 볼륨 백업을 백업 스토리지 제공자에 제공한다. cinder-volume서비스 와 마찬가지로 드라이버 아키텍처를 통해 다양한 스토리지 제공 업체와 상호 작용할 수 있다.

 

⑤ Messaging queue

블록 스토리지 프로세스간에 정보를 라우팅한다.

 

 

 

2) Controller Node 설치 및 구성

이 섹션에서는 컨트롤러 노드에서 블록 스토리지 서비스 (코드 명 Cinder)를 설치하고 구성하는 방법에 대해 설명한다. 이 서비스에는 인스턴스에 볼륨을 제공하는 하나 이상의 추가 스토리지 노드가 필요하다.

 

 

▶ 전제조건

 

Root 사용자로서 데이터베이스 서버에 연결 후 cinder데이터베이스를 작성하고, 적절한 액세스 권한을 부여한다.

관리자 모드로 CLI 명령을 실행하기 위해 admin 인증 스크립트를 실행한다.

Cinder 사용자를 작성한다.

사용자 admin에게 역할을 추가한다.

Cinder v2 및 Cinder v3 서비스 엔티티를 작성한다.

블록 스토리지 서비스 API 엔드 포인트를 작성한다.

 

 

▶ 구성 요소 설치 및 구성

 

/etc/cinder/cinder.conf파일을 다음 구성으로 편집한다.

[DEFAULT]

auth_strategy = keystone]

glance_api_servers = http://cont:9292

my_ip = 1.0.0.1

enabled_backends = lvm

transport_url = rabbit://openstack:It1@cont

 

[database]

connection = mysql+pymysql://cinder:It1@cont/cinder

 

[keystone_authtoken]

www_authenticate_uri = http://cont:5000

auth_url = http://cont:5000

memcached_servers = cont:11211

auth_type = password

project_domain_name = default

user_domain_name = default

project_name = service

username = cinder

password = It1

 

[oslo_concurrency]

lock_path = /var/lib/cinder/tmp

 

구성 편집이 끝나면 데이터베이스에 업데이트 한다.

Compute API 서비스를 재시작한다.

블록 스토리지 서비스를 시작하고 시스템 부팅시 시작되도록 구성한다.

 

 

 

3) Storage Node 설치 및 구성

▶ 전제 조건

 

# yum install lvm2 device-mapper-persistent-data

LVM 패키지를 설치해야 하지만, 이미 설치되어 있으므로 다음 작업을 진행한다.

/etc/lvm/lvm.conf파일에 다음 문구를 추가한다.

스토리지 노드가 운영 체제 디스크에서 LVM을 사용하는 경우 관련 장치도 필터에 추가해야한다.

LVM볼륨그룹을 재시작한다.

LVM 볼륨 그룹을 작성한다(cinder-volumes)

 

 

구성 요소 설치 및 구성

 

패키지를 설치한다.

/etc/cinder/cinder.conf파일을 다음 구성으로 편집한다.

[DEFAULT]

auth_strategy = keystone]

glance_api_servers = http://cont:9292

my_ip = 1.0.0.2

enabled_backends = lvm

transport_url = rabbit://openstack:It1@cont

 

[database]

connection = mysql+pymysql://cinder:It1@cont/cinder

 

[keystone_authtoken]

www_authenticate_uri = http://cont:5000

auth_url = http://cont:5000

memcached_servers = cont:11211

auth_type = password

project_domain_name = default

user_domain_name = default

project_name = service

username = cinder

password = It1

 

[oslo_concurrency]

lock_path = /var/lib/cinder/tmp

 

[lvm]

volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver

volume_group = cent1

target_protocol = iscsi

target_helper = lioadm

 

[cinder]

os_region_name = RegionOne

 

/etc/nova/nova.conf파일을 편집에서 블록 스토리지를 사용하도록 컴퓨팅을 구성한다.

[cinder]

os_region_name = RegionOne

 

블록 스토리지 볼륨 서비스를 시작하고 시스템 부팅시 시작되도록 구성한다.

 

 

4) 작동 확인

 

관리자 모드로 CLI 명령을 실행하기 위해 admin 인증 스크립트를 실행한다.

각 프로세스가 성공적으로 시작되었는지 확인하기 위해 서비스 구성 요소를 나열한다.

 

'OpenStack' 카테고리의 다른 글

OpenStack 인스턴스 생성  (0) 2019.10.15
OpenStack 대시보드(Horizon)  (0) 2019.10.11
OpenStack 네트워킹 서비스(Neutron)  (0) 2019.10.11
OpenStack 컴퓨팅 서비스(Nova)  (0) 2019.10.11
OpenStack 배치 서비스(Placement)  (0) 2019.10.11
Comments