태그 보관물: glance

openstack glance용 CentOS 7.0 이미지 제작

CentOS 7.0으로 올라오면서 기존 init.d 구조에서 systemd 구조로 변경되었다.

더불어 grub도 grub2로 올라오면서, 더이상 오픈스택 공식사이트의 이미지가이드 문서는 무용지물이 되었다.. 젠장 업데이트 좀 해라!!!!!!!.

암튼 그런고로 CentOS 7.0의 이미지 제작 방법을 작성한다.

우선 Virt-manager에서 GUI환경에서 OS설치하는 부분은 제외한다..

뭐 설명할 가치도 없을뿐 더러, 스샷찍기가 개 귀찮음….
1. EPEL 설치

 

2. cloud-init 설치

 

3. cloud-init 설정

이 부분은 절대적으로 주관적으로 작성하였다.. 사실 cloud-init의 문법자체도 잘 모르는 판국이라… 그냥 삽질하다가 이미지 만들기에 성공한 대로 작성하였다.

실제로 공식 문서에서는 “user:admin”으로 하라고 나와있으나 cloud-init을 설치하고 나면 문법 자체가 공식문서랑 다르다는것을 알 수 있다. 꺼림직하면 공식문서대로 해도 된다.

 

4. GRUB 설정

사실 이부분이 제일 삽질한 영역인데… grub2로 바뀌면서 단순히 grub.conf만 수정한다고 되는게 아니라 몇몇 절차가 더 생겼다 -_-;

RDO이미지를 참조하여 아래 내용을 수정했다. 레드햇 땡큐~

 

5. GRUB 저장

grub2부터는 단순히 conf파일만 수정한다고 적용되는게 아니다… 아래 내용을 꼭 적용한다.

 

6. 불필요 서비스 중지 (NetworkManager를 disable해버리면 네트웤자체가 안 살아나므로 disable하지 않도록 한다.)

 

7. SELINUX 종료 (공공의 적이므로 향후 정신건강을 위해서라도 중지해준다…)

 

8. 네트워크 설정

 

9. 히스토리 삭제

 

10. VM 셧다운

 

이후 호스트OS에서 sysprep을 하시던지 마시던지.. 리눅스는 굳이 할 필요는 없으니까…

암튼 glance image-create로 추가하면 된다~

 

끝~~~~~

ceph & cinder,glance 연동 방법

Ceph pool 생성

1. controller 노드에 repository를 추가(?)한뒤 python-ceph 패키지 설치

 

2. crush map 수정

// crushmap 수정을 위해 디컴파일

 

// 아래 내용 추가한다.

 

 

// 이후 crushmap 다시 적용

 

3. pool 생성 및 crush ruleset과 pool연동

 

 

Cinder와 연동

1. cinder-volume을 띄울 노드에 ceph-common 패키지를 설치 한다.

 

2. cinder.conf 수정 // cinder-volume 노드와, controller노드 모두 수정

 

3. cinder에서 타입 생성 및 키 설정

 

Glance 연동

1. glance-api.conf 수정

 

glance member 관련

ESSEX버전의VM을 스냅샷을 생성했는데, 계속 에러가 발생하는 현상이 발견됬다.

glance-api 로그를 확인해보니 아래와 같은 로그가 있었다.

 

 

glace-registry 로그

 

 

컨테이너 포맷이 invalid하다고? 이건 무슨…

 

한참 삽질하다 결국엔 헬프를 쳤는데, 알고 보니 해당 VM에서 사용된 이미지가 특정사용자에게만 open되어 있다고 한다.

이유를 들어보니 예전에 윈도우 이미지에 sysprep이 제대로 되지 않아 스냅샷 기능을 막아 놓았다고 한다 -_-;

그래서 일부 사용자만 해당 이미지를 사용할수 있었다… 제기랄!!

 

요딴식으로 해당 이미지의 멤버를 볼수 있다~

 

 

특정 사용자로 제한하지 않은 이미지의 경우 아래와 같이 아무것도 안나온다~

 

 

오늘의 결론 ! : 로그 보는 것을 일상화 하자 & 해결 안되면 헬프 -_-