page-cover
page-icon
개발
Proxmox 초기 설정
sooros5132-avatarsooros51323/23/2023설정 Proxmox
원래 Host로 우분투를 사용하고 있었는데 윈도우도 사용하고 우분투도 사용하고 vm을 많이 쓰게 돼서 연습겸 Proxmox를 설치해보게 됐다.
Proxmox의 idle시 cpu도 거의 안쓰고 최대 장점은 UI이다. 설치하면 웹에서 모든 설정이 가능하다. 웹에서 쉘, vnc원격도 가능하다
위 링크에서 Proxmox VE x.x ISO Installer로 다운받는다.
rufus로 iso이미지를 usb에 구워준다. 여기서 DD모드로 해야함.
컴퓨터에 usb를 꽂고 부팅옵션 설정하고 부팅 시키면 설치할 디스크, 타임존, 패스워드, ip등을 설정했던거 같은데 설치 방법은 어렵지 않아서 패스함.
참고로 hostname 설정에 맞춰서 proxmox에 호스트이름으로 뜬다.
설치하고 부팅하면 입력했던 아이피로 접속하라고 하는데 http는 지원하지 않으니 https로 접속해야 접속이 된다.
인증서 에러가 나긴 한데 접속은 된다. 접속하면 아이디는 root, 패스워드는 설치할 때 입력했던 패스워드를 입력
처음 설치되어 있는 노드가 proxmox이다. 클릭하고 쉘 누르면 원격쉘이 열린다
무료로 혼자 사용하니 엔터프라이즈 패키지를 제거해야 하는데 pve-enterprise.list 내용에서 맨 앞에 #을 넣어서 주석처리 한다.
bash
vi /etc/apt/sources.list.d/pve-enterprise.list
bash
apt update
update 해보면 인증에러도 지워지고 패키지가 잘 지워졌다.
apt에 미구독자용 패키지 리스트들 추가 방법이다.
bash
vi /etc/apt/sources.list
맨 아래에 추가
bash
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription
bash
apt update
apt upgrade
update는 최신 목록 불러오기, upgrade는 업그레이드 가능한 패키지들 설치
웹에 접속하면 위와같이 항상 구독 안내 팝업창이 뜬다. 좀 귀찮게 계속 뜨는데
bash
cd /usr/share/javascript/proxmox-widget-toolkit

cp proxmoxlib.js proxmoxlib.js.bak

vi proxmoxlib.js
proxmoxlib.js파일을 백업하고 Ext.Msg.show 부분을 주석처리 (/* */)하거나 지우면 된다
수정했다면 pveproxy.service 웹서비스 재시작
bash
systemctl restart pveproxy.service
기존에 접속 했던 페이지는 먹통되니 새로고침을 하자.
Weilbyte이란 사람이 디스코드 다크모드를 만들었다. 아래 명령어로 간단하게 설치할 수 있다.
bash
wget https://raw.githubusercontent.com/Weilbyte/PVEDiscordDark/master/PVEDiscordDark.sh
bash PVEDiscordDark.sh install
우분투의 kvm에서 사용하던 qcow2, img 파일들이 있다. 이 파일들을 사용하려면 local-lvm에 복사를 시켜줘야 하는데 qm 명령어를 이용해 할 수 있다.
ftpscpmount를 이용해서 qcow2파일을 쉘에서 볼 수 있어야 한다. 나는 우분투에서 쓰던 하드디스크를 마운트 시켜서 불러왔다.
참고로 iso파일은 proxmox local에서 iso 업로드 기능이 있으니 이걸 이용하면 된다.
win10_1.qcow2는 이미 윈도우 설치가 완료된 파일이라 os의 iso파일, 드라이버(virtio)들은 이제 필요가 없으니 추가하지 않아도 된다.
순서는 간단하게 미리 보면
  1. vm을 생성하면서 초기 디스크를 만들지 않는다.
  1. qm명령어로 qcow2 파일을 local-kvm에 복사
  1. vm 디스크 설정
  1. vm에 복사된 디스크를 적용
OS에서 qcow2엔 이미 윈도우가 설치 되어 있으니 미디어를 사용하지 않음, 게스트 OS는 win10으로 설정한다
디스크에선 설정 안하고 모두 지운다.
최종 확인
마침을 누르고 조금 기다리면 생성이 된다.
bash
qm importdisk 200 win10_1.qcow2 local-lvm
가상머신 번호(vmid) 200번에 win10_1.qcow2 파일을 local-lvm 파티션에 저장한다는 얘기다. 이렇게 해주면 디스크가 생긴다.
만든 vm을 클릭해서 하드웨어 - 사용하지 않은 디스크 0을 더블 클릭해서 추가해주자.
옵션에 부트 순서에 방금 추가한 디스크로 적용시켜준다. 1번으로 순서 변경하고 사용함 체크 후 확인
이제 proxmox의 콘솔이나 vnc로 접속해보면 잘 된다.
bash
lsblk |awk 'NR==1{print $0" DEVICE-ID(S)"}NR>1{dev=$1;printf $0" ";system("find /dev/disk/by-id -lname \"*"dev"\" -printf \" %p\"");print "";}'|grep -v -E 'part|lvm'
명령어를 입력해서 device id를 가져온다.
나는 빨간 부분이 passthrough 시키고 싶음 해당 disk의 device id이다 /dev/...부터 경로 전체를 기억해두자
qm의 set명령어로 vm에 disk를 넘겨줄 것이다. 연결장치 번호는 sata[번호]로 해주면 된다.
bash
qm set [VM번호] -[연결장치번호] [디스크 정보]

# qm set 100 -sata0 /dev/disk/by-id/ata-WDC_WD120EDBZ-***********NF
update가 된 거 같은 메시지가 왔는데 proxmox로 돌아가서 하드웨어 쪽에 보면 생겼을 것이다.
passthrough가 잘 됐다.