본문 바로가기
  • 노션에서 삽질한 내용을 정리하는 블로그
자기발전소/# Manually Install OpenStack

Openstack Cinder on Centos (Rocky) 1 [Controller Node]

by iamlucia 2020. 9. 25.

 

Cinder : Block Storage  Service (블록 스토리지 서비스) 


 


<< ⭕ 본 설치 내용은 controller 노드에서 진행 >> 

 

 

🔨 데이터 베이스 생성 및 접근 권한 설정 

 

🟢 ciner 서비스 데이터 베이스 및 해당 데이터 베이스에 대한 권한을 가진 사용자 생성  :

 

# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE cinder;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost'  IDENTIFIED BY 'CINDER_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%'  IDENTIFIED BY 'CINDER_DBPASS';
MariaDB [(none)]> exit;

 

🟢 admin credential 스크립트 실행 : 
cinder라는 이름의 사용자 생성하고, 해당 사용자-프로젝트-역할 연결 

 

# . admin-openrc
# openstack user create --domain default --password-prompt cinder
User Password:
Repeat User Password: 
# openstack role add --project service --user cinder admin

 

🟢 cinder v2와 cinderv3 서비스 개체 두 가지 생성 : 

 

# openstack service create --name cinderv2  --description "OpenStack Block Storage" volumev2
# openstack service create --name cinderv3  --description "OpenStack Block Storage" volumev3

 

🟢 블록 스토리지에 필요한 API endpoint 생성 :

 

# openstack endpoint create --region RegionOne  volumev2 public http://controller:8776/v2/%\(project_id\)s
# openstack endpoint create --region RegionOne  volumev2 internal http://controller:8776/v2/%\(project_id\)s
# openstack endpoint create --region RegionOne  volumev2 admin http://controller:8776/v2/%\(project_id\)s

# openstack endpoint create --region RegionOne  volumev3 public http://controller:8776/v3/%\(project_id\)s
# openstack endpoint create --region RegionOne  volumev3 internal http://controller:8776/v3/%\(project_id\)s
# openstack endpoint create --region RegionOne  volumev3 admin http://controller:8776/v3/%\(project_id\)s

 


🔨 구성요소 설치 및 설정 파일 편집

 

🟢 관련 패키지 설치: 

 

# yum -y install openstack-cinder

 

🟢 블록 스토리지 서비스 설정 파일 수정 : 

 

# vi /etc/cinder/cinder.conf

더보기

[database]
# ...
connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder

[DEFAULT]
# ...
transport_url = rabbit://openstack:RABBIT_PASS@controller
auth_strategy = keystone
my_ip = [컨트롤러 노드의 관리용ip]

[keystone_authtoken]
# ...
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_id = default
user_domain_id = default
project_name = service
username = cinder
password = CINDER_PASS

[oslo_concurrency]
# ...
lock_path = /var/lib/cinder/tmp

 

🟢 cinder 데이터 베이스 테이블 생성 : 

# su -s /bin/sh -c "cinder-manage db sync" cinder

 

🟢 nova 설정 파일 수정 : 컴퓨트가 블록 스토리지를 사용할 수 있게 설정

 

# vi /etc/nova/nova.conf 
[cinder]
os_region_name = RegionOne

 


🔨 설치 마무리

 

🟢 컴퓨트 api 서비스 및 블록 스토리지 서비스 재시작 : 

 

# systemctl restart openstack-nova-api.service

# systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
# systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service