- 공식 홈페이지: Proxmox VE
- Debian GNU/Linux 기반 가상 환경 관리 소프트웨어.
- 특징
- 두 가지 가상화 방식을 지원
- 전가상화 (Qemu-KVM)
- LXC (Linux Container): 흔히 docker 로 알고 있는 리눅스 컨테이너 방식.
- 다음의 스크립트를 PVE 노드마다 적용 - Proxmox VE Post Install 적용
-
스크립트 실행 시 적용 되는 기능
- 구매 알림 팝업 끄기: 웹 관리 페이지 들어갈 때마다 구매해서 쓰라는 팝업 끄기
- 유료 구독자용 저장소: Debian APT source 중에 구독자용 proxmox, ceph 저장소가 설정 되어 있어 apt update 때마다 메시지 뜸
- 마이크로 코드 업데이트: CPU 에 따라 필요할 수 있음.
-
설치는 보유 환경에 맞게 사전 조사 잘 해서 하면 되고, 파일 시스템을 ZFS 으로 해야 좀 더 제약이 없으니 참고.
-
인터넷 검색해보면 유료 구독하지 않는 사람들이 설치 이후 필수적으로 수행하는 작업이 몇 가지 있다. 별거 아니지만 수동으로 하면 좀 번거로운데, 이를 쉽게 처리하는게 Proxmox VE Post Install 스크립트이다.
- 리눅스 컨테이너. docker가 아니다!!
- LXC 용 목록은 pveam update, pveam available 로 업데이트와 설치 가능한 목록 확인 가능하다. 직접 보면 알겠지만, 기본 OS 이미지 외엔 turnkeylinux 만 지원하고 있다. docker 의 수많은 컨테이너를 바로 끌어와 설치할 수 있는 구성이 아님에 유의.
- 공식 지원은 없다. 직접 방법을 선택해서 해야만 함.
- docker 컨테이너를 LXC 컨테이너로 변환
- PVE VM 으로 리눅스 깔고 docker 등을 실행
- PVE Host (Debian 기반이다)에서 직접 실행
저장소, 네트워크 자원에 대한 접근 관리가 생각보다 까다로워짐. 개인적으로 PVE VM 에서 docker 관리가 괜찮다고 생각함.
- PVE를 쓰는 이유가 가상 머신에 대한 전체적인 백업, 복구 관리를 편하게 하려는건데 3번 방식 'PVE Host에서 docker 실행'을 해버리면 Host 자체를 백업 해야 함
- VM 에서 실행하면 QEMU-KVM 방식이니 자원 낭비도 비교적 적고 VM 만 들어서 옮기면 하위 컨테이너도 이사 가능하다. PVE - Host 간 네트워크 구성까지만 하면 골치 아플 일도 없...나?
- tteck과 커뮤니티가 만든 수많은 스크립트로 Homelab에서 많이 쓰이는 유용한 VM을 바로 찍어낼 수 있다. 2024년 12월 기준 226개의 스크립트가 존재.
- tteck 님은 2024년 11월 경에 돌아가셨다고. 이후 PVE Helper 프로젝트는 커뮤니티에서 운영 중이다.
- 여러 제약사항 고려 시 홈랩에선 권한 DNS를 Cloudflare 로 하고 ACME 챌린지 방식을 DNS로, 플러그인은 Cloudflare dns 로 하는 것이 가장 간단했다. 이 방법이 아니면 각 노드 마다 80 포트 오픈하던지, 프록시에서 받아 넘겨주는 설정을 해야 함.
- 각 노드 - 시스템 - 인증서 - ACME - 추가
- 챌린지 유형: 'DNS'
- 플러그인: 'Cloudflare'
- 도메인: PVE 노드에 대한 FQDN 입력
- 계정사용: 'Staging', 테스트 후 'Production'
- Staging 상태에서 인증서 발행을 해보고 특이사항이 없으면 Production 으로 발행
- letsencrypt 운영환경에 여러번 발행 시도하면 일정 시간 차단 되니 Staging 에서 충분히 테스트 할 것.
- Linux PAM 이 기본 인증 수단인데, 노드 여러 개 쓴다면 LDAP 연동 하는 것을 추천.
- 아래는 예시. admin 계정으로 LDAP 연동 했는데, 읽기 전용 LDAP 바인드 계정 만들어서 하기를 권장함.
- 해당 도메인의 권한 DNS가 되어야 하기 때문에, 기존 사용하던 도메인은 사용 불가하다. 하위 영역에 대해 위임을 받아야 한다.
- 아니면 DNS 응답을 못 받는 상태(/etc/resolv.con 에 자기 로컬 IP 만 존재)하여야 함.
![2024-12-26_20-53-34.webp](/2024-12-26_20-53-34.webp)
![2024-12-26_20-53-52.webp](/2024-12-26_20-53-52.webp)
- Configuring FreeIPA LDAP server with Proxmox
- 일반
- 동기화 옵션
- 사용자 바인드: uid=admin,cn=users,cn=accounts,dc=jellypo,dc=pe,dc=kr
- 패스워드 바인드: IPA PASSWORD
- 이메일 속성: 옵션
- 그룹 이름 속성: cn
- 사용자 클래스: person
- 그룹 클래스: posixGroup
- 사용자 필터: memberOf=cn=pve_group,cn=groups,cn=accounts,dc=jellypo,dc=pe,dc=kr
- 그룹 필터: (|(cn=pve)(dc=jellypo)(dc=pe)(dc=kr))
- ACL, Entry, Properties: Checked
- 스케쥴: 사용자와 그룹
- 계정 동기화 후 해당 계정은 로그인만 가능하고 권한이 없다. 계정별로 필요한 권한을 부여.
pveum acl modify / -user jelly@JELLYPO.PE.KR -role Administrator