티스토리 뷰

안녕하세요~!!


오랜만에 다시 블로그에 포스팅을 하는 것 같습니다.

그동안 책이 출간되고 세미나에 강의에 정신이 없어서 글을 쓸 시간이 없었던것 같습니다.


제가 지금까지 연재한 OpenStack Class 강좌 내용은 모두 "오픈스택을 다루는 기술"에 포함하였습니다. 계속 이어서 "오픈스택을 다루는 기술"에 있는 내용을 모두 이곳에 연재를 할까 합니다. 이곳에서 연재되는 강좌도 많이 많이 사랑해 주세요~!! 


지금까지 우리는 데브스택을 설치해서 오픈스택이 어떻게 동작하는지를 살펴보았습니다. 데브스택은 서버를 재부팅 했을 때 서비스를 재시작하기 어려워 다시 설치해야 하는 불편함이 있습니다. 또한 개발중인 소스를 받아서 사용하기 때문에 불안정합니다. 그래서 서비스를 하기에는 적합하지 않습니다. 이번 장에서는 메뉴얼 방식으로 서비스가 가능한 오픈스택을 설치해보겠습니다.

 

시스템 구성도를 그려보자

오픈스택을 설치하기 전에는 반드시 시스템 구성도 및 네트워크 구성도를 먼저 그려야 합니다. 데브스택 같은 경우는 쉘 스크립트가 모든 서비스를 자동으로 설치하기 때문에 시스템 구성도를 몰라도 상관이 없었으나 서비스를 위한 매뉴얼 방식으로 설치할 때는 반드시 시스템 구성도를 그려야 합니다. 그럼, 지금부터 서비스가 되는 오픈스택 설치를 위한 시스템 구성도를 그려보겠습니다.

 

Neutron를 이용한 오픈스택 네트워킹 구성

Neutron을 이용해서 오픈스택 네트워킹을 구성하려면 컨트롤러 노드, 네트워크 노드, 컴퓨트 노드 이렇게 최소 서버 3대 이상이 필요합니다.



컨트롤러 노드에는 서비스를 관리하는 컴포넌트들이 설치됩니다. 데이터베이스를 지원할 MySQL이나 MariaDB가 기본으로 설치되고 메시지 서비스로 RabbitMQ 또는 Qpid가 설치됩니다. 기본 서비스로는 인증을 담당하는 Keystone, 이미지 서비스인 Glance, 컴퓨트 노드들을 관리하는 Nova, 네트워크 서비스를 관리하는 Neutron ServerML2 Plugin, 데쉬보드 서비스인 Horizon이 설치됩니다. 이 외에 필요에 따라서 블록 스토리지 서비스인 Cinder, 오브젝트 스토리지 서비스인 Swift, 데이터베이스 서비스인 Trove, 오케스트레이션을 담당하는 Heat, 텔레미터 서비스인 Ceilometer를 설치할 수 있습니다.

네트워크 노드에는 Neutron 서비스의 기본 플러그인 ML2가 설치되며, L2 에이전트인 OpenvSwitch, L3 에이전트, DHCP 에이전트가 설치됩니다.

마지막으로 컴퓨트 노드에는 오픈스택의 기본 하이퍼바이저인 KVM이나 QEMU가 설치되며, 네트워크 서비스로 ML2 플러그인, L2 에이전트인 OpenvSwitch가 설치됩니다. 이때 컨트롤러 노드에 Ceilometer가 설치되어 있다면, 컴퓨트 노드에는 Ceilometer 에이전트를 설치해야 합니다.

네트워크 인터페이스는 컨트롤러 노드일 경우 매니징을 위한 모니터링 및 관리용 인터페이스 하나만 있으면 됩니다. 그러나 네트워크 노드에는 컨트롤러 노드와 연결되는 인터페이스 하나, 컴퓨트 노드 간의 통신을 담당하는 인터페이스 하나, 외부 네트워크와 연결을 하기 위한 인터페이스 하나 이렇게 총 3개의 인터페이스가 필요합니다. 컴퓨트 노드는 컨트롤러 노드와의 연결을 위한 인터페이스 하나, 네트워크 노드와 컴퓨트 노드 간 연결을 위한 인터페이스 이렇게 2개가 필요합니다.


 

nova-network를 이용하는 오프스택 네트워킹 구성

Neutron을 사용하지 않고 기존 네트워킹 서비스인 nova-network를 사용해서 오픈스택을 설치한다면 컨트롤러 노드, 컴퓨트 노드 이렇게 서버 2대 이상이 필요합니다.

컨트롤러 노드에 MySQL이나 MariaDB가 설치되고 메시지 서비스로 RabbitMQQpid가 설치됩니다. 기본 서비스 역시 인증을 위한 Keystone, 이미지 서비스인 Glance, 컴퓨트 서비스인 Nova, 데쉬보드 서비스인 Horizon이 설치됩니다. Neutron과 달리 Nova에서 네트워크 서비스를 포함하므로 별도의 네트워크 서비스를 설치하지 않습니다. 필요에 따라 설치되는 서비스들은 Neutron과 마찬가지로 블록 스토리지 서비스인 Cinder, 오브젝트 스토리지 서비스인 Swift, 데이터베이스 서비스인 Trove, 오케스트레이션을 담당하는 Heat, 텔레미터 서비스인 Ceilometer가 설치됩니다.

컴퓨트 노드에는 하이퍼바이저인 KMV이나 QEMU가 설치되며, nova-network가 함께 설치됩니다. 컨트롤러 노드에 Ceilometer를 설치하였으므로 컴퓨트 노드도 Ceilometer 에이전트를 설치합니다. 컴퓨트 노드의 자원 역시 얼마나 썼는지 모니터링을 하려면 자원 정보를 수집하는 에이전트가 설치되어야 합니다. 수집된 자원 정보는 컨트롤러 노드에 설치된 Ceilometer를 통하여 사용자에게 알려줍니다.

네트워크 인터페이스 카드는 Neutron과 마찬가지로 사용됩니다. 컨트롤러 노드는 모니터링과 관리를 위한 인터페이스 하나가 필요합니다. 그리고 컴퓨트 노드는 컨트롤러 노드와 연결을 위한 인터페이스 하나, 외부 네트워크와 통신을 하기 위한 인터페이스 하나 이렇게 인터페이스 2개가 필요합니다.


이렇게 해서 서비스가 되는 오픈스택을 설치하기 위한 첫번째 준비과정인 시스템 구성도를 그려보았습니다. 다음시간에는 오픈스택을 설치하기 위한 두번째 준비과정을 살펴보도록 하겠습니다. 


그럼, 다음시간에 다시 만나요~!! ^^ 

댓글
  • 프로필사진 학생 안녕하세요? 일전에 해주신 답변은 정말 감사했습니다. 서버를 준비하느라 좀 시간이 걸렸는데요.(일단 데탑을 이용해보려고합니다.) neutron 이용하는 방법과 nova-network 방법의 차이가 할당가능한 vm의 수의 차이라고 한거 같은데요. 하나의 서버에서(compute node 겠죠.) 할당 가능한 vm수가 nova-network의 경우 얼마나 가능한 것인가요?? nova-network 방식은 network 관련 부분을 따로 설치하지 않고 nova 설치할때 설치되는것을 이용하는 것이 맞는 건가요?
    책의 설치 과정을 보니 openstack에서 할수 있는건 다 까는것 같은데요. 맞나요? 저는 딱 VM에 OS 설치해서 접속가능하게만 해보려고 합니다. 그래서 그런지 책의 과정이 다 필요한건가 라는 생각이 듭니다.
    그리고 제가 생각하는 환경은 대략 서버 5대 정도가 있다면 한대가 컨트롤러가 되고 나머지는 컴퓨트 노드가 되던지 한대가 컨트롤러 겸 컴퓨트 노드가 되고 나머지가 컴퓨트 노드가 되던지, 아니면 5대가 전부 따로따로 각각의 컨트롤러겸 컴퓨트 노드가 되는 이 세가지 환경을 생각 중입니다. 근데 어떤게 좋은건지 감을 잘 못 잡겠습니다.
    조언 해주시면 큰 도움이 될것 같습니다.
    2015.02.24 21:49
  • 프로필사진 학생 single machine에서 openstack을 설치하는 방법을 구글링 해보았는데요.
    (http://blog.flux7.com/blogs/openstack/tutorial-install-single-node-openstack)
    이렇게 간단하게해서도 서비스가(서버 재부팅에 관계없이) 가능한건인가요??
    2015.02.24 22:01
  • 프로필사진 학생 안녕하세요? 한가지궁금한 점이 3개의 서버가 아닌 하나의 서버에 설치할 떄 책에 나와 있는 과정을 그냥 한 서버에 계속 설치하면 되는 건가요?? 2015.02.26 09:39
  • 프로필사진 스터디중1인 안녕하세요, 개인적으로 공부를 하고 싶어 책까지 구입하여 공부중인 1인입니다.
    다름이 아니오라 책을 보던중에 오타로 의심되는 부분을 발견하였습니다.
    책 160P에 Neutron을 이용한 네트워킹 구성도 그림 5-1에서
    각 노드 즉, 컨트롤러 노드, 네트워크 노드, 컴퓨트 노드 묶음에서 각각 네트워크 정보에
    나와있는 IP가 이상해 보여서 올립니다.
    오타 부분은 IP대역에 대한 오타로 예상이 되며, 10.10.xx.xx/24 라고 저는 생각이 되어지는데
    책에서는 10.0.xx.xx/24로 적혀 있더군요.
    그래서 블로그와도 비교 하여 보니 블로그에는 제가 생각한 대로 적혀 있는 것을 발견하였습니다.

    바쁘실텐데 제가 아직 지식이 부족하여 오타가 아닌것을 오타라 의심된다 말할 수도 있고,
    이미 인지 하고 계셨을 수도 있다는 생각에 죄송한 말씀드립니다.
    확인 부탁드리겠습니다.

    메일로 발송해주셔도 됩니다.
    spdlpem@gmail.com 입니다.
    언제나 좋은 일만 가득하시길...수고하세요~
    2015.03.24 03:33
  • 프로필사진 Favicon of https://naleejang.tistory.com BlogIcon 나리 짱!!! naleejang 님께서 알려주신 내용은 오류가 맞습니다. 좀 더 꼼꼼하게 검토했어야 했는데, ... 그래서, 블로그에 수정 내용으로 올려드린 것입니다.

    알려 주셔서 감사합니다. ^^
    2015.03.26 00:54 신고
  • 프로필사진 오리뎅이 "Neutron을 이용해서 오픈스택 네트워킹을 구성하려면 컨트롤러 노드, 네트워크 노드, 컴퓨트 노드 이렇게 최소 서버 3대 이상이 필요합니다."

    왜 서버가 3대 이상이 필요한 것인지 이유가 궁금합니다.

    Nova-network를 이용할때는 왜 서버가 2대 이상이여야만 하는 것인지도 이유가 궁금합니다.
    2017.07.18 08:49
댓글쓰기 폼