이수의 삽질 기록
article thumbnail
Published 2023. 6. 30. 18:34
[KlosedStack #1] Intro Playground/KlosedStack

배경

지난 2023년 1학기, N 교수님이 Openstack을 하라고 말씀하셨다. 정확히는 Magnum, Ironic을 가지고 뭔가 재미난걸 해보라고 하셨다. 근데 가장 큰 문제는 역시나 네트워크 (Neutron)이였고, 이를 해결하기 위해서 상당히 삽질을 했다. 사실 결국 해결을 못했고, 손대기도 귀찮아서 그냥 놔두고 있다.

 

교수님이 그 이후 말씀하신게, 차라리 Neutron같은 무거운 서비스를 가지고 하지 말고, 그냥 하나 간단하게 VM을 만들어주는 프로그램을 만들라고 하셨다. 이름은 그냥 내가 막 붙였다. KlosedStack. 짧게 말해, Openstack의 무거운 서비스들을 벗겨내고, 우리가 필요한 기능만 만들고 있다.

 

사실 만들라고 하신 것은 좀 되었으나, 그간 시간이 좀 없었고 지금 주말에 조금 여유가 생길 것 같아 해보려고 한다. 이게 오픈소스가 될지 아니면 비공개가 될지는 교수님 맘이지만, 삽질 내용 중 공개 가능 선에서 공개를 하면 좋을 것 같다는 생각이 든다. 이게 비공개가 되는 케이스는, 학교에서 N 교수님 말고 다른 주인 교수님이 특허를 걸자고 말씀하시는 경우, 또는 너무 프로그램이 쓰레기 같은 경우 두가지 중 하나일 것으로 예상된다. 추후 경과는 말해주도록 하겠다.

 

설계

간단하게 프로그램을 짜려고 한다. 필요한 내용은 다음과 같다.

- VM 기반의 리눅스 실습 환경

- SDN으로 동작할 것

- Ceph와 같은 block storage를 사용할 것

 

이를 만족하기 위해 나는 다음 3개를 사용하려고 한다.

- Vagrant: 이걸로 Qemu VM을 관리할 것이다. 정확히는 KVM이 될지, 아니면 그냥 qemu가 될지는 잘 모르겠다.

- OpenvSwitch: 이걸로 SDN을 관리할 것이다. VM간의 통신, VM과 외부 인터넷과의 통신을 구현할 것이다.

- Ceph: 이걸로 block storage를 사용할 것이다. Qemu에서 사용하는 저장 장치의 경우, 분명 node에 따라 데이터가 남을 것이므로, 일부 latency + 성능 저하가 생겨도 이게 데이터 관리 측면에서는 좋을 것으로 예상 된다.

 

마무리

재미난 프로젝트를 진행하게 되어 신난다.

앞으로 업데이트 내용을 알려드리도록 하겠다!

'Playground > KlosedStack' 카테고리의 다른 글

[KlosedStack #3] Vagrant + OVS (Multi-Interface)  (0) 2023.07.02
[KlosedStack #2] Vagrant + Libvirt  (0) 2023.06.30
profile

이수의 삽질 기록

@IsuKim

두분의 주인님 밑에서 네트워크, 클라우드, 서버 삽질을 하는 학부생입니다