Stein 오픈스택 클라우드 서버 구축(11) - LVM으로 블록 스토리지 백엔드 구성하기

blog post 

 

 

이번 포스트에서는 앞서 구축한 블록 스토리지의 백엔드로 LVM 드라이브를 지정하고, 실제 볼륨을 생성하는 과정까지 진행해 보도록 하겠습니다.

 

 

 

전체 구성

 

 

본 포스트를 통해 아래와 같이 기존 Block Storage가 LVM을 기반으로 동작하도록 구성됩니다.

 

 

스토리지 노드 파티션 구성
 

 

 

LVM 드라이브를 활용하게 되므로, 스토리지 노드의 리눅스 파티션 구성이 중요합니다. 저의 경우, LVM 블록 스토리지 노드는 현재 아래와 같이 구성되어 있습니다.

 

 

 

 전체 50GB의 디스크에서 약 2GB를 제외한 나머지는 전부 'centos' LVM 볼륨그룹으로 할당하였습니다. 여기에서 루트 파티션 10GB를 제외한 약 38GB의 공간이 오픈스택 블록 스토리지를 위해 할당될 예정입니다. 이 글을 보시는 분들도 LVM 기반 블록 스토리지 서비스를 제공할 경우, 우선 파티션을 설계하실 것을 추천드립니다.

 

본 포스트에서는 위와 같은 파티션 구성을 예시로 스토리지 노드 구성을 진행합니다.

 

* 디스크 파티셔닝 과정은 생략합니다

 

 

 

스토리지 노드 구성

 

 

기존에 작성했던 스토리지 노드의 cinder.conf 파일에 아래 옵션을 추가해 줍니다.

 

[root@Storage ~]# vi /etc/cinder/cinder.conf

# [default] 섹션에 아래 옵션을 추가합니다.
enabled_backends = lvm

# ...다른 옵션 생략...

# 아래와 같이 [lvm] 섹션 전체를 가장 마지막에 추가해 줍니다.
[lvm]
target_helper = lioadm
target_protocol = iscsi

# 스토리지 노드의 IP
target_ip_address = 10.0.0.28

# 현재 스토리지 노드에서 사용할 LVM 볼륨 그룹 명
volume_group = centos
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volumes_dir = $state_path/volumes

 

 

방화벽에서 iscsi 서비스를 허용해 줍니다.

 

[root@Storage ~]# firewall-cmd --add-service=iscsi-target --permanent 
success
[root@Storage ~]# firewall-cmd --reload 
success

 

 volume 서비스를 재시작 합니다.

 

[root@Storage ~]# systemctl restart openstack-cinder-volume

 


 

컴퓨트 노드 설정

 

 

다음과 같이 컴퓨트노드의 nova.conf에서 옵션을 추가해 줍니다.

 

[root@Compute0 ~]# vi /etc/nova/nova.conf

# 옵션 파일 하단에 아래 섹션을 추가해 줍니다.
[cinder]
os_region_name = RegionOne

 

 

compute 서비스를 재시작해 줍니다.

 

[root@Compute0 ~]# systemctl restart openstack-nova-compute 

 

 

확인

 

 

컨트롤러 노드에서 Storage&lvm 호스트가 정상적으로 enabled, up 되었는지 확인합니다. 아래와 같이 정상적으로 올라온 것이 보인다면 1차적으로 LVM 스토리지 구성을 마쳤다고 볼 수 있습니다.

 

[root@Controller ~]# openstack volume service list
+------------------+-------------+------+---------+-------+----------------------------+
| Binary           | Host        | Zone | Status  | State | Updated At                 |
+------------------+-------------+------+---------+-------+----------------------------+
| cinder-scheduler | Controller  | nova | enabled | up    | 2020-04-12T04:29:24.000000 |
| cinder-volume    | Storage@lvm | nova | enabled | up    | 2020-04-12T04:29:28.000000 |
+------------------+-------------+------+---------+-------+----------------------------+

 

 

다음으로 대시보드에서도 확인해보기 위해 httpd 서비스를 재시작합니다.

 

[root@Controller ~]# systemctl restart httpd

 

대시보드에서 다음과 같이 '볼륨' 메뉴가 추가되었는지 확인해 봅니다. 

 

아래와 같이 테스트용 볼륨을 생성해 봅니다.

 

 

아래와 같이 생성된 disk가 available 상태라면 정상적으로 볼륨이 생성된 것입니다. 

 

TAGS.

Comments