'분류 전체보기' 카테고리의 글 목록
Loading...

CentOS7에서 GlusterFS 클러스터 노드 추가하기

blog post GlusterFS(이하 GFS)는 브릭(Brick)이라 불리는 GFS 전용 디스크 파일시스템을 추가하여 볼륨 크기를 조절할 수 있습니다. 이러한 브릭은 단일 GFS 노드에서 추가할 수도 있고, 다중 노드에서 브릭을 클러스터링 하여 확장할 수도 있습니다. 이번 포스트에서는 디스크를 추가하기 위해 새로운 노드를 하나 더 생성하고, 브릭을 추가하여 기존 클라이언트에 마운트 된 디스크 크기를 확장해 보도록 하겠습니다. 1. 새로운 노드 구성 새로운 노드 (CentOS7)를 생성하고 해당 노드에서 아래 포스트의 1번 작업(GFS 서비스 구성하기)을 동일하게 진행합니다. CentOS7에서 GlusterFS(GFS)를 활용하여 파일 시스템 마운트 하기 blog post GlusterFS (이하 GF..

CentOS7에서 GlusterFS(GFS)를 활용하여 파일 시스템 마운트 하기

blog post GlusterFS (이하 GFS)는 네트워크 기반 파일 시스템으로, gfs 서버-클라이언트간 스토리지 마운트를 통한 파일 공유는 물론, 클러스터링 및 이중화 구성까지, 다양한 기능을 제공하는 스토리지 도구입니다. 이러한 다양한 기능들을 지원하는 이유로 많은 클라우드 시스템에서 백엔드 스토리지 시스템으로 gfs를 활용하고 있습니다. 이번 포스트에서는 간단한 GFS 서버를 구축해보고, 클라이언트 리눅스에서 마운트하도록 구성해보겠습니다. 1. GFS 서비스 구성하기 * 참고: 아래 작업을 모든 GFS 노드에서 진행합니다. gfs 설치를 위해 yum 레포지토리를 설치합니다. [root@server ~]# yum install epel-release centos-release-gluster 설치..

CentOS7에서 NTP 서버 구축으로 시간 동기화 하기

blog post NTP (Network Time Protocol)는 pc와 pc 간 (혹은 서버-클라이언트 간) 시간을 동기화하기 위해 사용되는 프로토콜입니다. 시간 동기화를 하는 방법에는 클라이언트 pc가 직접 외부 시간에 클라이언트가 동기화할 수도 있고, 직접 NTP 서버를 구축하여 클라이언트가 서버의 시간에 동기화하도록 구성할 수도 있습니다. 이번 포스트에서는 간단한 NTP 서버를 구축하고 클라이언트가 이 NTP 서버에 시간을 동기화하도록 구성해 보도록 하겠습니다. NTP 서버 구성 ntp 서버에서 시간 동기화를 위한 도구 (chrony)를 설치합니다. [root@server ~]# yum install chrony 아래와 같이 기존 ntp 풀은 비활성화하고, 서버 역시 외부로부터 대한민국 표준시..

2020. 5. 17. 21:12

[Kubernetes] minikube 대시보드 활성화 과정

blog post 이번 포스트는 이전 포스트에 이어서, 설치한 minikube를 기반으로 대시보드를 구축해 보겠습니다. 대시보드에서도 약간의 삽질 과정이 있어서 따로 다뤄보았습니다. 이전 포스트가 궁금하신 분들은 아래 포스트를 보고 오시기 바랍니다. [Kubernetes] 첫 시작. Minikube 설치 삽질 과정 (feat. docker) blog post 오픈스택을 멀티 노드로 구성하는 과정에서 간단한 테스트 용 컨테이너가 필요하여 도커를 구축해 보기로 하였습니다. 단순히 도커만 설치하는 것이 아니라 쿠버네티스도 사용해 볼 겸, itguava.tistory.com 이전 포스트에서 첫 minikube 설치를 마치고 아래와 같이 대시보드를 실행해보니 에러가 발생했습니다. [user@Compute0 /]$..

[Kubernetes] 첫 시작. Minikube 설치 삽질 과정 (feat. docker)

blog post 오픈스택을 멀티 노드로 구성하는 과정에서 간단한 테스트 용 컨테이너가 필요하여 도커를 구축해 보기로 하였습니다. 단순히 도커만 설치하는 것이 아니라 쿠버네티스도 사용해 볼 겸, 도커 드라이버를 사용하는 쿠버네티스 시스템을 구축해 보기로 했습니다. 마침 쿠버네티스 구축에 대해 알아보니 minikube라 불리는 테스트용 쿠버네티스 서비스가 있는 것을 발견하여 이를 활용해 보기로 했습니다. 그런데 막상 실제 문서를 참고하여 진행해보니 기존 매뉴얼 및 블로그의 설명과 실제 운영 환경에서의 차이가 있어보이네요. 처음 진행하는 과정에서 저처럼 어려움을 겪고 계신 분들이 계시다면 이 글을 포함하여 앞으로 진행할 내용들이 조금이나마 도움이 되길 바랍니다. 현재 저는 아래와 같은 환경에서 진행합니다. ..

Stein 오픈스택 클라우드 서버 구축(16) - Neutron 기반 Service Function Chaining (SFC) 기능 추가하기

blog post 오픈스택에서 네트워킹 기능을 전담하는 컴포넌트로 Neutron이 있습니다. Public & Private 네트워크 구성부터 서브네팅, 라우터, DHCP, 패킷 포워딩 등, 다양한 기능을 수행하죠. 하지만 Neutron의 기능은 이게 끝이 아닙니다. 기본 기능에서 확장하여 추가 기능들을 사용할 수 있습니다. 아래 링크에서 보시면 어떠한 추가 기능들이 있는지 대략적으로 살펴볼 수 있습니다. OpenStack Docs: Configuration docs.openstack.org 이번 포스트에서는 Neutron을 확장하여 Service Function Chaining(이하 SFC)으로 불리는 기능을 추가해 보도록 하겠습니다. 참고로, 오픈스택 클라우드 시스템을 운영하는 과정에 있어 반드시 필요..

[Openstack] 잘못된 ovs 브릿지 인터페이스 설정으로 인해 시스템 재부팅 후 네트워크가 단절된 문제 해결

blog post 이 문제는 오픈스택의 네트워크 노드 재부팅 후 발생한 문제로, openvswitch(이하 ovs)의 기술적 문제라기 보다는 사실 관리자의 시스템 설정 실수에 가깝습니다. 지난 밤에 예상치 못하게 전원이 내려가는 바람에 시스템을 재부팅하게 되었습니다. 대부분 노드가 정상적으로 부팅되었으나, 네트워크 노드에 ssh 연결이 되지 않았습니다. 간단한 문제였지만 상황에 대해 정리해 두기 위해 포스팅합니다. 상황 우선 시스템 터미널로 직접 들어가 봅니다. 역시나 ping은 게이트웨이까지도 가지 않는 상황입니다. [root@Network ~]# ping 8.8.8.8 ...반응없음... ip, 게이트웨이 정보도 잘 잡혀있습니다. [root@Network ~]# ifconfig eno16777736 ..

2020. 5. 13. 18:56

[Openstack] 시스템 재부팅 후 대시보드 접속 불가 문제

blog post Controller 노드 시스템 재부팅 후 dashboard 접속을 시도해보니 연결이 되지 않는 문제가 발생하였습니다. httpd 로그를 확인해 보았으나,, [Wed May 13 18:19:42.814169 2020] [suexec:notice] [pid 3772] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Wed May 13 18:19:42.815253 2020] [ssl:warn] [pid 3772] AH01906: RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?) [Wed May 13 18:19:42.873645 2020] [..

[Openstack ] 오픈스택 VPNaaS 환경 구성 과정에서 발생한 Max retries exceeded with url 에러 메시지 출력 문제

blog post VPNaaS를 구성하는 과정에서, 앞서 발생한 인스턴스의 네트워킹 문제를 해결하니 또 다른 문제가 발생하였습니다. 이번 포스트를 통해 이 이슈를 해결(?)하는 과정을 기록해 둡니다. 혹시 비슷한 현상을 겪고 있는 분들에게 도움이 되길 바랍니다. 상황 openstack vpn 관련 명령어를 입력하니 다음과 같이 "...Max retries exceeded with url..." 관련 메시지가 출력되기 시작했습니다. [root@Controller img]# openstack vpn ike policy list Unable to establish connection to http://10.0.0.26:9696/v2.0/vpn/ikepolicies: HTTPConnectionPool(host=..

[Openstack ] 오픈스택 VPNaaS 환경 구성 과정에서 발생한 get_vpn_services_on_host 에러 메시지 출력 문제

blog post 이 포스트는 openstack vpnaas 설정 중에 발생한 문제를 해결하는 과정을 기록한 글입니다. 해결 방법이 100% 확실한 방법은 아닌 만큼, 혹시 참고하시는 분들이 계시다면 꼭 단순 참고용으로만 봐주시기 바랍니다. 상황 오픈스택에 vpnaas 서비스 설치 후, 동작중이던 인스턴스의 네트워크가 단절되는 상황이 발생했습니다. 일단 ping이 게이트웨이 10.10.0.1로도 가지 않는 것으로 보아, 라우터 쪽 문제로 예상되었습니다. 아래와 같이 네트워크 노드에서 ip netns로 확인결과 갑자기 router 네임스페이스가 사라졌습니다...(?) [root@Network neutron]# ip netns qdhcp-585040c0-8dea-43f0-ba73-001955f59ce1 (i..

2020. 5. 12. 00:35

Stein 오픈스택 클라우드 서버 구축(15) - 오픈스택 대시보드 메인 로고 및 링크 변경하기

blog post 오픈스택 클라우드에 기능을 추가하고 분석하는 과정에서 문뜩 대시보드 메인 로고를 바꿔보고 싶은 생각이 들었습니다. 비록 웹 서버 개발자는 아니지만, 로고를 어떻게 커스터마이징 할 수 있을지 궁금했습니다. 그래서 이번 포스트에서는 잠시 대시보드를 커스터마이징 하는 방법에 대해 알아보도록 하겠습니다. 기본 로고 변경 현재 저의 CentOS7 HTTP 서비스 기반 대시보드 로그인 화면은 아래와 같이 기본 오픈스택 로고가 박힌 화면입니다. 이 메인 로그인 페이지에서 직접 제작한 로고 이미지로 변경해 보겠습니다. 방법은 간단합니다. 다음의 경로에서 "logo-splash.svg" 파일만 변경해 주면 됩니다: /usr/share/openstack-dashboard/openstack_dashboar..

2020. 5. 10. 22:41

Stein 오픈스택 클라우드 서버 구축(14) - SSL (HTTPS) 접속 가능한 오픈스택 대시보드 구성하기

blog post 처음 오픈스택 서비스를 구성하면 대시보드가 기본 HTTP (80포트)로 서비스 되는 것을 볼 수 있습니다. 아시다시피 HTTP는 통신 과정에서 세션 암호화를 하지 않기 때문에 여러가지 보안 취약점에 노출될 수 밖에 없습니다. 이에 따라, SSL 암호화 통신을 제공하는 HTTPS로 접근할 수 있도록 대시보드를 재구성해 보겠습니다. 물론 오픈스택 대시보드 역시 HTTPD 기반으로 제공되는 서비스이므로, 기존의 아파치 웹 서버 구성과 크게 다를 바 없습니다. 인증서 생성 SSL 통신에서 필요한 요소 중 하나가 바로 인증서 입니다. openssl을 통해 간단하게 인증서를 하나 발급받도록 하겠습니다. 만약 기존에 사용중인 인증서가 있다면 해당 인증서를 사용해도 무관합니다. 먼저 인증서를 저장할 ..

2020. 5. 9. 09:32

Stein 오픈스택 클라우드 서버 구축(13) - Swift 서비스를 활용한 오브젝트 스토리지 구성하기

blog post 오픈스택의 Swift를 활용하면 다양한 방식으로 오브젝트 스토리지를 구성할 수 있습니다. 어떻게 구성하느냐에 따라 기존 Cinder서비스와 연동하여 블록 스토리지의 백업 서버로 활용할 수도 있고, Glance 이미지 저장 공간으로 활용할 수도 있습니다. 이번 포스트에서는 이 Swift 컴포넌트를 활용하여 사용자의 비정형 데이터를 저장할 수 있는 스토리지를 구축해 보도록 하겠습니다. 전체 구성 전체 구성은 아래와 같습니다. 기존 구성에서 네트워크 노드와 3개의 오브젝트 스토리지가 사용됩니다. 우선 컨트롤러 노드에는 swift 관련 별다른 패키지는 설치하지 않습니다. 다만 keystone을 통해, user, endpoint 등의 정보로만 swift를 등록해둠으로써, 컨트롤러는 swift 서..

2020. 4. 20. 02:04

Stein 오픈스택 클라우드 분석(9) - 외부에서 가상머신에 SSH접속을 위한 유동 IP (Floating IP) 설정하기

blog post 앞서 포스트를 통해 가상 머신을 생성하고 테넌트 네트워크까지 완료하였습니다. (해당 포스트: Stein 오픈스택 클라우드 분석(3) - 외부&내부 네트워크, 서브넷, 라우터 생성) 하지만 생성한 VM에 오픈스택 대시보드 VNC 콘솔을 통해 접속해보면 생각보다 느린 것을 느낄 수 있습니다. 외부에서 SSH로 접속할 수 있다면 이러한 성능 문제를 어느 정도 개선할 수 있을 텐데, 현재 네트워크 구성상, 외부에서 SSH 접속도 어려운 상황입니다. 이러한 문제를 해결하기 위해 Floating IP라 불리는 오픈스택의 네트워크 기능을 활용하여 외부에서 SSH로 접속할 수 있는 환경을 구성해 보도록 하겠습니다. 현재 네트워크 구성 [Stein 오픈스택 클라우드 분석(3) - 외부&내부 네트워크, ..

2020. 4. 14. 23:56

기업에서는 오픈스택을 왜 사용할까? 처음 시작은 어떻게 해야 할까?

blog post 이번 포스트에서는 잠시 기술적인 내용이 아닌, 클라우드 산업과 오픈스택에 대한 본질적인 내용에 관하여 이야기해 보도록 하겠습니다. 글의 마지막에서는 오픈스택을 처음 접하시는 분들을 위한 짧은 조언과 함께 포스팅을 마치도록 하겠습니다. 클라우드 배경 최근 클라우드 시스템이 비즈니스 인프라 기술 분야에서 각광받고 있습니다. 덕분에 오픈스택 역시 많은 기업에서 인프라 개선을 위해 활용되고 있으며, 심지어 이를 서비스화 하는 등, 활용 방안에 관해서도 다양하게 연구되고 있습니다. 사실 오픈스택을 포함한 비즈니스 클라우드 플랫폼 산업이 최근 들어 새롭게 주목받은 분야는 아닙니다. 클라우드 시스템은 이미 AWS라고 불리는 아마존의 퍼블릭 클라우드를 필두로 인프라 산업에서 수년 전부터 주목받아 왔습..

2020. 4. 13. 01:08

Stein 오픈스택 클라우드 서버 구축(12) - NFS,LVM 기반 다중 블록 스토리지 노드 구성하기 (Feat. GlusterFS, GFS)

blog post 이번 포스트에서는 지난 포스트에서 구축했던 LVM 기반 블록 스토리지 노드에 NFS 백엔드를 추가하여 멀티 블록 스토리지 노드를 구성해 보겠습니다. 포스트 마지막에는 Cinder와 GlusterFS 문제에 대해서도 간단하게 짚고 포스팅을 마치도록 하겠습니다. 관련 포스트: Stein 오픈스택 클라우드 서버 구축(11) - LVM으로 블록 스토리지 구성하기 NFS 개념 및 전체 구성 NFS(Network File System)는 물리적으로 떨어져 있는 파일 시스템에 외부에서 원격으로 접근할 수 있도록 하는 네트워크 프로토콜이자 서비스입니다. 아래 그림과 같이 NFS 서버가 동작중인 장치의 디렉토리를 클라이언트에서 마운트 하여 사용할 수 있습니다. 오픈스택의 Cinder 서비스는 LVM 뿐..

2020. 4. 12. 14:37

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

blog post 이번 포스트에서는 앞서 구축한 블록 스토리지의 백엔드로 LVM 드라이브를 지정하고, 실제 볼륨을 생성하는 과정까지 진행해 보도록 하겠습니다. 전체 구성 본 포스트를 통해 아래와 같이 기존 Block Storage가 LVM을 기반으로 동작하도록 구성됩니다. 스토리지 노드 파티션 구성 LVM 드라이브를 활용하게 되므로, 스토리지 노드의 리눅스 파티션 구성이 중요합니다. 저의 경우, LVM 블록 스토리지 노드는 현재 아래와 같이 구성되어 있습니다. 전체 50GB의 디스크에서 약 2GB를 제외한 나머지는 전부 'centos' LVM 볼륨그룹으로 할당하였습니다. 여기에서 루트 파티션 10GB를 제외한 약 38GB의 공간이 오픈스택 블록 스토리지를 위해 할당될 예정입니다. 이 글을 보시는 분들도 ..

2020. 4. 10. 22:31

Stein 오픈스택 클라우드 서버 구축(10) - 블록 스토리지 노드 및 Cinder 서비스 구성

blog post 이번 포스트에서는 앞서 1차 구축을 완료한 컨트롤러/네트워크/컴퓨트 노드에 이어, 블록 스토리지 노드를 추가해 보도록 하겠습니다. 블록 스토리지는 가상머신으로 동작 중인 윈도우, 리눅스 시스템 등의 인스턴스에 볼륨을 추가 제공하기 위한 용도로 주로 활용됩니다. 따라서 이 노드의 경우, 스토리지 노드 자체의 가용 공간도 넉넉해야하며, (컴퓨트 노드와 스토리지 노드가 분리되어 있는 경우) 데이터가 iscsi와 같은 네트워크 프로토콜을 사용하여 전달되므로 네트워크 퍼포먼스도 중요한 요소가 됩니다. 오픈스택의 블록 스토리지는 LVM, NFS, GlusterFS(GFS) 등의 드라이브를 백엔드로 배치할 수도 있고, CEPH으로 다중 클러스터 백엔드를 구축할 수도 있습니다. 본 포스트에서는 백엔드..

[Openstack] Cinder 볼륨 생성시 error 상태가 발생하는 경우 조치

blog post Cinder 서비스를 통해 볼륨 생성 테스트를 진행하던 도중, 생성된 볼륨이 error 상태로 바뀌는 현상이 발생했습니다. 사실 해결 방법은 생각보다 간단했지만, 이를 알아내기가 쉽지 않았습니다. 제가 경험한 현상을 이번 포스트를 통해 공유합니다. 혹시 글을 보시고 같은 현상을 겪고 계신 분이라면 참고하시면 좋을 것 같습니다. 우선 저의 경우, 블록 스토리지 노드를 새로 구축 후, 볼륨 생성 테스트를 진행했습니다. 볼륨 생성 후 곧바로 상태를 확인해보니 아래와 같이 볼륨 상태가 곧바로 'error'로 변경된 것을 볼 수 있었습니다. [root@Controller ~]# openstack volume create --size 1 disk01 [root@Controller ~]# opens..

[Openstack] Cinder 볼륨 서비스 (호스트) 리스트에서 특정 서버 제거하기

blog post Cinder 서버 구축 과정에서 잘못 구성하거나 혹은 이전에 사용하였으나 더 이상 사용하지 않는 호스트의 경우, 리스트에서도 제거되어야 겠죠. 당연히 openstack 명령이 있을 것으로 예상하고 뒤져보았으나 찾을 수 없었습니다. [root@Controller ~]# openstack volume host set usage: openstack volume host set [-h] [--disable | --enable] openstack volume host set: error: too few arguments [root@Controller ~]# openstack volume service set usage: openstack volume service set [-h] [--enabl..