안쓰는 노트북을 Proxmox 서버로 재활용
Proxmox 설치 및 설정 가이드, 노트북에서의 효율적인 활용 방안 소개.
proxmox란?
Hyper-V, ESXi, XenServer, KVM 등과 유사한 기능을 제공하는 Type-1 hypervisor 오픈소스라는 장점이 있다.
설치 환경
어떤 환경에서 설치를 진행하든 정상적인 사용을 위해선 Bare metal에 설치하여야 한다.
최소사양은 다음과 같다.
CPU: x86 64bit cpu
*전가상화 지원을 위한 Intel VT/AMD-V 지원 CPU
RAM: 1GB RAM + 게스트용 추가 RAM 필요
하드 드라이브 (뭐든지 저장할 수 있는거라면)
네트워크 카드 1개 이상
나의 경우 아래와 같은 사양에 설치를 진행했다.
Lenovo ThinkPad E485 (Ryzen 3 2200U + 12GB RAM(8 + 4) + 1TB HDD)
사양에서 알 수 있듯 하이퍼바이저라고 크게 높은 사양을 요구하진 않는다. 당장 서랍 속에서 사용되지 않고 있는 노트북 한대면 충분히 가능하다.
설치 과정
-
공식 홈페이지에서 ISO 파일을 다운로드한다.
-
ISO 파일을 USB에 굽는다. (원도우의 경우 rufus, 리눅스의 경우 dd)
-
USB를 노트북에 꽂고 부팅한다. 다음과 같은 화면이 나오면
Install Proxmox VE
를 선택한다. -
적절하게 디스크 선택, 적당한 비밀번호 선택, 적절한 Time zone, 적절한 선택으로 설치를 완료한다.
-
https://server-ip:8006 접속 후 로그인한다. 나의 경우
192.168.100.113:8006
이였다.
구독용 저장소 제거 및 미구독자용 레포지토리 추가
# vim /etc/apt/sources.list.d/pve-enterprise.list
다음과 같이 주석처리 해주자
# deb https://enterprise.proxmox.com/debian/pve buster pve-enterprise
아래 명령어로 설정파일 오픈
# vim /etc/apt/sources.list
다음 내용 추가
# no subscription
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription
저장 후 업데이트
# apt update && apt dist-upgrade -y
web console에서 경고를 주긴 하지만 개발용 서버이기 때문에 상관 없다!
로그인 시 구독 안내 메시지 제거
# vim /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
513번째 줄 근처의
if (res == null || res == undefined ||
!res || res.data.status.toLowerCase() ! = 'active') {
를 다음코드로 대체
if (false) {
다음 명령어로 변경 사항 적용
# systemctl restart pveproxy.service
노트북에 설치시 절전모드 설정
proxmox를 서버로 사용해야 하는데 덮개를 닫아서 절전 모드에 들어간다면 불편할 것이다.
# vim /etc/systemd/logind.conf
다음과 같은 줄을
#HandleLidSwitch=suspend
다음과 같이 바꿔주자
HandleLidSwitch=ignore
그런 다음 명령어를 입력해주자
# systemctl restart systemd-logind
이제 덮개를 닫아도 절전모드로 돌아가는 일은 없을 것이다.
웹 콘솔에 다크모드 적용
bash <(curl -s https://raw.githubusercontent.com/Weilbyte/PVEDiscordDark/master/PVEDiscordDark.sh ) install
F5로 reload를 하면 테마가 적용됨!!
https://github.com/Weilbyte/PVEDiscordDark
amd gpu backlight fix
/etc/default/grub
파일 중
GRUB_CMDLINE_LINUX_DEFAULT
에
acpi_backlight=native
추가하고
update-grub
실행 후 reboot
앞으로 활용 방안
Kubernetes 클러스터 구축, Jenkins CI/CD, private Docker Registry 등등으로 이용할 예정이다.
일단은 테스트 배포 & 배포를 진행할 온프라미스 서버가 생겼다는 것에 의의를 두고 싶다.