이번 내용은 동아리 서버관리자 들간의 서버 운영을 하기에 앞서

사용하고 있는 하이퍼바이저(Hyperviser), Proxmox에 대해서 공부하기 위해서 모임을 가졌습니다.

장소 광운대 중앙도서관, 집현전(스터디 룸)
시간 2022년 5월 2일, 오후 6:00~7:20


각자 맡은 내용에 대해서 찾아보고 알아본 내용은 아래와 같습니다.

찾아오고 공부한 내용

  • Proxmox에서 사용되는 저장방식

    • zfs, directory는 무엇이며 특징과 장점, 단점은 무엇인가? (조현준)
    • lvm, lvm-thin은 무엇이며 특징과 장점, 단점은 무엇인가? (이민호)
  • 하이퍼바이저에서 사용되는 실행환경 (음휘영)

    • 가상머신(VM)은 무엇이며 특징과 장점, 단점은 무엇인가?
    • 컨테이너(CT)는 무엇이며 특징과 장점, 단점은 무엇인가?
  • Proxmox의 사용자 생성, 관리 방식 (신준형)

    • Linux PAM realm은 무엇이며 어떤 용도로 쓰이는가?
    • Proxmox VE(Virtual Environment) realm은 무엇이며 어떤 용도로 쓰이는가?

발표할 때 사용한 자료들

이민호 : LVM, LVM thin 차이와 사용하는 이유, 특징(바로가기)

조현준 : Directory, ZFS (바로가기)

음휘영 : 서버 가상화 기술 - VM과 컨테이너(바로가기)

신준형 : 구글 슬라이드 - Proxomx 사용자 정리(바로가기)

이하, 간략히 정리한 내용!

1. Proxmox에서 사용되는 저장방식

LVM, Logical Volume Manager

논리적으로 구분된 저장공간으로 물리적으로 구분되어 할당된 저장장치에 대해 신경쓸 필요가 없다.

물리적인 저장장치 용량을 늘리는 경우에도 논리적으로 하나의 저장장치처럼 사용할 수 있다.

할당받은 용량(100GB, 500GB)을 베타적으로 확보해서 사용하기 때문에 사용하지 않는 공간은 다른 저장소로 할당할 수 없다.


LVM-thin, Logical Volume Manager - thin

기존의 LVM과 달리 할당 받은 용량을 베타적으로 확보해서 낭비될 수 있는 여유 공간을 줄일 수 있다.

실제로 저장된 공간만큼 차지하기 때문에

1 TB의 하드 드라이브에 논리적으로 500GB의 용량의 가상 디스크를 무한히 할당받을 수 있다.

zfs와 유사하지만 zfs의 캐싱 기능, 레이드 기능을 제외한 것과 유사하다.


zfs

저장장치의 안정적인 보관과 성능 향상을 위해서 캐싱기능을 적극적으로 활용하는 저장방식이다.

그만큼 사용자의 수에 따른 기본적인 성능 요구와 메모리(RAM) 요구사항이 존재하는 비싼 저장방식 중하나다.

하지만, 이러한 것들은 최적으로 사용하기 위해서 권장되는 성능들이며 어디서나 사용할 수 있다.

레이드 지원, 추상화된 가상 장치를 통해서 이동과 복제에 유용하다.


directory

일반 컴퓨터에서 사용하는 디렉토리와 같은 파일 구조다.

mkdir 명령어를 통해서 만들어진 디렉토리 공간을 VM/CT에 마운트 시킨 것과 동일하다고 볼 수 있다.

2. 하이퍼바이저에서 사용되는 실행환경

VM, Virtual Machine

OS위에 Guest OS가 존재하는 형태로 주어진 하드웨어 권한에 한해서 자유롭게 활용할 수 있다.

최초 실행시 할당된 리소스를 고정적으로 확보하여 사용할 수 있다.

고정된 리소스를 활용하는 것이기 때문에 일반적인 OS처럼 활용할 수 있지만

100% 활용되지 않는 이상 낭비되는 리소스가 존재할 수 있다.


CT, Container

애플리케이션을 실행하기 위해서 경량화된 환경이라고 볼 수 있다.

단순히 애플리케이션을 사용하기 위한 환경만을 담은 것이기이므로

하드웨어 리소스를 사용량에 따라 유연하게 조절할 수 있다.

독립적인 환경에서 실행되나, 유연하게 바뀌기 때문에 프로세스처럼 보는 관점 또한 존재한다.

3. 사용자 생성, 관리 방식

사전 지식 : 커널은 OS가 아니다.

커널은 OS의 subset, 부분집합이다!!


Linux PAM realm

Proxmox 자체 shell에 접근해서 물리적인 서버와 Proxmox 자체를 관리해야하는 관리자에게 적합한 사용자 형태다.

만들어진 VM, CT이 아닌 Proxmox 그 자체에 접근해서 관리를 해야하는 사람들에게 적합한 realm이다.


Proxmox VE(PVE, Virtual Environment)

Proxmox 웹 UI와 Proxmox에 생성된 VM와 CT에 접근할 필요만 있는 사용자에게 적합한 형태다.

이 realm에서 만들어진 사용자는 Proxmox shell에 접근할 수 없으며

주어진 권한에 따라 Proxmox가 제공하는 서비스만 사용할 수 있다.
(커널 입장에서 보면 Proxmox 또한 커널 위에서 실행되는 애플리케이션이다)

PVE realm으로 만들어진 사용자가 관리자 권한을 받아도 shell에 접근할 수 없다.

왜냐하면, PVE realm에서 만들어진 사용자는 Linux 상으로 존재하지 않는 사용자기 때문이다.

즉, Proxmox라는 서비스 내부의 사용자일 뿐이라는 의미다!


배틀그라운드 계정 == PVE realm 계정 (Proxmox라는 서비스의 계정)

블루홀 직원 서버 계정 == Linux PAM realm 계정 (서비스를 실행하는 서버의 계정)

위의 예시와 같은 관계라고 볼 수 있다!