Stein 오픈스택 클라우드 서버 구축(11) - LVM으로 블록 스토리지 백엔드 구성하기
blog post
이번 포스트에서는 앞서 구축한 블록 스토리지의 백엔드로 LVM 드라이브를 지정하고, 실제 볼륨을 생성하는 과정까지 진행해 보도록 하겠습니다.
본 포스트를 통해 아래와 같이 기존 Block Storage가 LVM을 기반으로 동작하도록 구성됩니다.
![](https://blog.kakaocdn.net/dn/caeYku/btqDk5qMSjk/ictivAPQeijKOEUubZdhY0/img.png)
LVM 드라이브를 활용하게 되므로, 스토리지 노드의 리눅스 파티션 구성이 중요합니다. 저의 경우, LVM 블록 스토리지 노드는 현재 아래와 같이 구성되어 있습니다.
![](https://blog.kakaocdn.net/dn/A6X1e/btqDogjTC8I/ZsgkCJE4On2GKeMct8Irmk/img.png)
전체 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
대시보드에서 다음과 같이 '볼륨' 메뉴가 추가되었는지 확인해 봅니다.
![](https://blog.kakaocdn.net/dn/CAcTs/btqDkyUe5um/ugB7GxDkgmcuLgkX3L2Gwk/img.png)
아래와 같이 테스트용 볼륨을 생성해 봅니다.
![](https://blog.kakaocdn.net/dn/bqApBe/btqDn1tLLOz/NU6PgTasbG1vsNvPtRjzKk/img.png)
아래와 같이 생성된 disk가 available 상태라면 정상적으로 볼륨이 생성된 것입니다.
![](https://blog.kakaocdn.net/dn/bWyiv6/btqDmnqNMaf/JUOFJyKNcm6agnpVkroeHk/img.png)
'Cloud > Building up Openstack' 카테고리의 다른 글
Stein 오픈스택 클라우드 서버 구축(16) - Neutron 기반 Service Function Chaining (SFC) 기능 추가하기 (0) | 2020.05.13 |
---|---|
Stein 오픈스택 클라우드 서버 구축(15) - 오픈스택 대시보드 메인 로고 및 링크 변경하기 (0) | 2020.05.12 |
Stein 오픈스택 클라우드 서버 구축(14) - SSL (HTTPS) 접속 가능한 오픈스택 대시보드 구성하기 (0) | 2020.05.10 |
Stein 오픈스택 클라우드 서버 구축(13) - Swift 서비스를 활용한 오브젝트 스토리지 구성하기 (0) | 2020.05.09 |
Stein 오픈스택 클라우드 서버 구축(12) - NFS,LVM 기반 다중 블록 스토리지 노드 구성하기 (Feat. GlusterFS, GFS) (0) | 2020.04.13 |
Stein 오픈스택 클라우드 서버 구축(10) - 블록 스토리지 노드 및 Cinder 서비스 구성 (0) | 2020.04.10 |
Stein 오픈스택 클라우드 서버 구축(9) - 대시보드 서비스(Horizon) 구축 및 대시보드 기본 구조 (0) | 2020.02.11 |
Stein 오픈스택 클라우드 서버 구축(8) - 테넌트 네트워크 환경 구축 (0) | 2020.02.11 |
Stein 오픈스택 클라우드 서버 구축(7) - 네트워크 서비스 (Neutron) 설치 및 구성 (0) | 2020.02.09 |
Stein 오픈스택 클라우드 서버 구축(6) - 컴퓨트 서비스 (Nova) 설치 및 구성 (0) | 2020.01.31 |