Proxmox LXC 권한이있는 컨테이너(Privileged)와 권한이없는 컨테이너(Unprivileged) 차이점.
LXC를 생성하실때 참고하시면 좋습니다.
기본적으로 LXC의 경우 host의 커널을 공유하기때문에 권한을 지정해서 생성할 수 있습니다.
NFS를 사용하시려면 반드시 권한이 있는 컨테이너 옵션으로 생성하셔야합니다.
Proxmox Virtual Environment(PVE)는 강력한 오픈소스 가상화 관리 플랫폼으로, KVM 기반의 가상 머신과 LXC 기반의 컨테이너를 관리할 수 있습니다. LXC(리눅스 컨테이너)는 가벼운 가상화 솔루션으로, 하나의 호스트 시스템 내에서 여러 개의 독립적인 리눅스 인스턴스를 실행할 수 있게 합니다. Proxmox에서 LXC 컨테이너는 "권한이 있는 컨테이너(privileged container)"와 "권한이 없는 컨테이너(unprivileged container)"로 나눌 수 있습니다. 두 가지 유형의 차이점과 장단점을 자세히 살펴보겠습니다.
권한이 있는 컨테이너 (Privileged Container)
특징:
- 컨테이너 내부의 프로세스는 실제 root 권한으로 실행됩니다.
- 컨테이너 내의 UID와 GID가 호스트 시스템의 UID와 GID와 동일합니다.
- 호스트 시스템과의 통합이 쉽고 성능이 뛰어나지만, 보안 문제가 있을 수 있습니다.
장점:
- 성능 최적화: 오버헤드가 적어서 빠른 성능을 제공합니다.
- 호환성: 다양한 리눅스 애플리케이션과의 호환성이 높습니다.
- 간편한 설정: 호스트 시스템의 자원에 쉽게 접근할 수 있어 설정이 간편합니다.
단점:
- 보안 취약점: 호스트 시스템의 보안이 취약해질 수 있습니다. 컨테이너가 탈출하는 경우 호스트 시스템에 심각한 영향을 줄 수 있습니다.
권한이 없는 컨테이너 (Unprivileged Container)
특징:
- 컨테이너 내부의 root는 호스트 시스템에서 root 권한을 갖지 않습니다.
- UID와 GID는 호스트 시스템의 매핑을 통해 비특권 사용자가 됩니다.
- 보안이 강화되어 있지만 성능과 호환성에서 일부 제한이 있을 수 있습니다.
장점:
- 향상된 보안: 호스트 시스템과 격리된 상태로 실행되어, 컨테이너 탈출 시에도 호스트 시스템에 영향을 미치지 않습니다.
- 안정성: 보안 사고로 인한 영향을 최소화할 수 있습니다.
단점:
- 성능 제한: 일부 경우에는 권한이 있는 컨테이너보다 성능이 떨어질 수 있습니다.
- 설정 복잡성: 호스트 시스템의 자원 접근이 제한적이어서 설정이 다소 복잡할 수 있습니다.
권한이 있는 컨테이너는 성능과 호환성 측면에서 유리하지만 보안이 취약할 수 있습니다. 반면, 권한이 없는 컨테이너는 보안이 강화되지만 성능과 설정 측면에서 제약이 있을 수 있습니다. Proxmox VE 사용자는 사용 환경에 따라 적절한 컨테이너 유형을 선택하여 사용할 수 있습니다.