안녕하세요. 달소입니다.
이번글은 Proxmox VE 가상화 환경에서 가상머신에 디스크를 패스스루하는 방법입니다.
패스스루란 간단히 말해서 가상화 공간에서 데이터를 쪼개서 할당하는게 아닌 디스크 자체를 VM에 마운트 시키는것을 의미합니다.
일반 PC의 HDD 처럼요.
이 글을 보실정도라면 대부분 잘 아실거라고 생각하니… 바로 진행해보겠습니다.
테스트 환경
Proxmox VE 7.1-7
Disk 8TB – OS
Disk 1TB – Passthrought 용
디스크 정보 확인하기
proxmox에서 디스크를 제대로 할당하기 위해서는 디스크의 정보를 제대로 알고있어야합니다. 여기서는 lsblk를 사용해서 알아보겠습니다.
먼저 쉘로 진입 후 아래 명령어를 입력해주세요.
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’
여기서 Hitachi HDD를 쓰겠습니다.
맨뒤의 정보만 적어주세요.
/dev/disk/by-id/wwn-0x5000cca375f088b6
여기서 알아낸 정보를 미리 저장해두고 VM을 체크해보겠습니다.
VM의 번호는 100번이고 disk는 기존에 sata0번을 쓰고있네요.
VM에 Disk Passthrought 하기
이제 위에서 얻어낸 정보를 토대로 vm을 업데이트해보겠습니다.
qm set [VM번호] -[연결장치번호] [디스크 정보]
명령어를 입력하면 아래처럼 바로 마운트 되는걸 확인하실 수 있습니다.
CLI에서 확인해야한다면 VM 설정으로가서 확인하면됩니다.
/etc/pve/qemu-server/[VM정보].conf | grep [디스크정보]
이제 머신을 시작해보겠습니다.
잘 연결됐습니다~
다만 디스크 인포에는 QEMU HDD로 나오는군요 ㅎㅎ
아무튼 이번편도 잘 되서 다행입니다~[Reference] : 달소, 「서버포럼 – Proxmox VM에 Disk Passthrought 하는방법」
disk id 알아내는게 특수문자가 치환이 되어서…그대로 긁어서 실행하면 오류가 발생합니다.
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’
댓글도 치환이 되니까…
https://unix.stackexchange.com/questions/387855/make-lsblk-list-devices-by-id
위 링크 댓글에 있는 문장 참고해서…중간 일부만 바꿔서 하시는걸 추천드려요.