Stein 오픈스택 클라우드 분석(5) - 가상머신 이미지 업로드부터 인스턴스 생성까지

blog post 

 

 

이번 포스트에서는 가상머신 이미지 디스크를 업로드하고 그 이미지를 가지고 인스턴스(VM)를 생성하는 단계까지 진행해 보도록 하겠습니다. 물론 이번 과정도 전부 CLI로 가능하지만 저는 이전에 구축한 오픈스택 대시보드를 사용하도록 하겠습니다.

 

우선 이번 과정을 진행하기 위해 가상머신 이미지가 준비되어 있어야 합니다. 무엇보다도 가상머신의 이미지 디스크에 현재 운영체제가 설치되어 있는 상태인지, 아니면 오픈스택에서 바로 운영체제를 설치해야 하는 경우인지에 따라 진행 방향이 달라집니다.

 

  • 운영체제가 사전에 설치된 이미지를 사용하는 경우: 바로 인스턴스 생성 후 사용 가능.
  • ISO 포맷의 설치 디스크를 통해 새로 운영체제를 설치하고자 하는 경우: 추가 볼륨 마운트를 위한 블록 스토리지가 필요.

* 참고: 블록스토리지 기능은 오픈스택 Cinder 컴포넌트를 통해 제공됩니다. 아직은 블록 스토리지에 대해서는 다루지 않겠습니다.

 

이번 글에서는 운영체제가 이미 설치된 이미지를 사용하도록 하겠습니다. OS가 설치된 이미지 생성 방법은 이전에 포스팅한 가상머신 이미지 생성 글을 참고하셔서 QCOW2 이미지로 생성하거나, 오픈스택의 이미지 타입 지원 리스트를 확인하셔서 직접 준비하시기 바랍니다. 

 

추가로 저는 이전에 생성한 일반 사용자(user1)로 진행하여 인스턴스를 생성해 보겠습니다.

 

 

1. 이미지 업로드

 

 

우선 오픈스택 대시보드에 로그인합니다.

메뉴->  프로젝트-> Compute-> 이미지로 이동합니다. "이미지 생성" 클릭 후 정보를 입력하고 이미지 생성을 입력합니다.

 

  •  포맷: 이미지의 포맷
  • 아키텍처: OS 시스템 아키텍처
  • 최소 디스크: OS가 실행될 인스턴스의 최소 디스크 (입력 없어도 무관)
  • 최소 RAM: OS 실행에 필요한 최소 메모리 (입력 없어도 무관)

정보를 입력할 때 디스크와 메모리의 경우 입력 단위가 다르다는 점만 유의하시면 큰 어려움은 없습니다.

 

 

 

2. Flavor 설정

 

 

오픈스택에는 Flavor라는 개념이 있습니다. 이 시스템은 컴퓨팅에 필요한 필수 자원들의 할당량을 기존에 미리 설정해 두고 인스턴스 생성 단계에서 지정된 Flavor의 할당량 만큼 자원을 할당해 주는 시스템입니다. 자원 할당과 관련된 중요한 기능이므로 일반 member 역할의 사용자 계정으로는 설정할 수 없습니다.

 

따라서 Flavor를 생성하기 위해 잠시 admin 계정으로 로그인 합니다.

메뉴-> 관리-> Flavor로 이동 후 "Flavor 생성"을 클릭하고 다음과 같이 인스턴스 생성에 필요한 자원 할당량을 정의합니다.

 

 메모리와 디스크 정도만 적어주고 필요에 따라 Swap 정보 등도 정의해줄 수 있습니다.

"Flavor 접근 권한" 탭에서는 특정 프로젝트에서 이 Flavor를 사용하도록 할 수도 있습니다. 하지만 어떤 프로젝트도 선택하지 않는 경우에는 모든 프로젝트에서 이 Flavor를 쓸 수 있습니다. 

 

 

 

3. 인스턴스 생성 및 확인

 

 

인스턴스 생성에 필요한 이미지, Flavor, 네트워크 준비를 마쳤습니다. 이제 일반 사용자로 다시 로그인하여 방금 업로드한 가상머신 이미지를 가지고 인스턴스를 생성해 보겠습니다.

 

대시보드에서 사용자 계정으로 로그인 후 메뉴-> 프로젝트-> Compute-> 인스턴스로 이동합니다. "인스턴스 시작"을 클릭하면 다음과 같이 인스턴스 설정 정보를 출력합니다.

필수 사항은 위의 메뉴에 보이는 "세부정보", "소스", "Flavor", "네트워크" 입니다.

우선 위와 같이 세부사항은 간단하게 이름만 입력하고 넘어갑니다.

 

 

 

소스에서는 "부팅소스": 이미지, "새로운 볼륨 생성": 아니오, "할당됨": windows10 이미지를 선택(화살표 클릭으로 위로 올림) 합니다.

 

 

Flavor에서는 우리가 방금 생성한 Flavor를 선택합니다.

 

 

"네트워크"에는 이전 포스트에서 생성했던 네트워크 "Internal_Net"이 자동으로 잡혀있습니다. 만약 네트워크를 아직 생성하지 않았다면 네트워크 생성 포스트를 참고하셔서 먼저 생성한 후에 다시 인스턴스 생성 절차를 진행하시기 바랍니다.

 

 

그 밖에 네트워크 포트(인스턴스 생성시 자동으로 포트 생성됨), 보안그룹, 키 페어 등은 아직 직접 설정할 필요는 없습니다. 네트워크까지만 설정하고 인스턴스를 시작해 보겠습니다.

 

*참고

앞서 가상머신 이미지 생성 글에서 진행한 것과 같이 이미지를 압축한 경우, 인스턴스 Spawning 단계에서 시간이 다소 소요될 수 있습니다. 물론 이 부분은 시스템 성능에 따라 다릅니다. 관련 내용은 해당 포스트를 참고하시기 바랍니다 [바로가기]

 

아래와 같이 Running 상태로 바뀌면 인스턴스가 정상적으로 생성된 것입니다. (저는 약 10분 정도 걸렸네요) 만약 에러가 나면 Error로 표기됩니다. Ip 주소도 10.10.0.190으로 할당 되었습니다.

 

 

 이제 여기에서 인스턴스 이름(myWindows10)을 클릭하고 "콘솔" 탭으로 이동해보면 다음과 같이 윈도우 로그인 화면이 보입니다!

 

 

* 참고

오픈스택 콘솔 창에서 키보드를 입력하고자 하는 경우, 화면 상단 "Connected" 의 파란색 띠 부분이나 하단의 회색 부분을 클릭해 주면 됩니다.

 

인스턴스 내부 인터페이스도 ip가 10.10.0.190으로 잘 잡혔고 인터넷 접속도 잘 되는 것을 볼 수 있습니다.

 

 

이상으로 가상머신 이미지 부터 인스턴스 생성까지의 과정을 다뤄보았습니다. 처음 오픈스택 클라우드 구축 포스팅을 시리즈로 계획할 때 목표했던 가상머신 구축을 이번 포스트 부로 마쳤습니다.

 

다음 포스팅에서는 오픈스택 시스템 내부에서는 이미지나 인스턴스를 어떻게 관리하고 VM의 네트워킹은 어떻게 동작하는지 분석해 보도록 하겠습니다. 또 이후에 기회가 되면 블록 스토리지와 오브젝트 스토리지, 오케스트레이션 등 기타 오픈스택 컴포넌트들을 추가하는 과정에 대해서도 다루도록 하겠습니다.

 

 

TAGS.

Comments