성능이나 관리 면에서 기존 디스크 파일 시스템 그대로 직접 연결이 필요한 경우가 있습니다.
※ 아래 환경은 윈도우즈 VM에서 NTFS 디스크를 그대로 mount 하는 예이며, virtio가 설치된 상태입니다.
Windows VirtIO Drivers - Proxmox VE
1. 연결할 VM의 ID 를 확인합니다. (PVE 웹 화면에서도 확인 가능)
# ls -al /etc/pve/qemu-server/*
-rw-r----- 1 root www-data 676 Jan 20 00:18 /etc/pve/qemu-server/100.conf
-rw-r----- 1 root www-data 1271 Jan 20 06:46 /etc/pve/qemu-server/101.conf
2. 연결할 VM의 번호가 100이라고 하면, 해당 conf 파일에서 설치된 디스크의 ide, scsi 번호를 확인합니다.
scsi 방식으로 연결한다면, 아래에서는 scsi0 까지 사용했으므로 scsi1 부터 추가가 가능합니다.
# egrep '^ide|^scsi' /etc/pve/qemu-server/100.conf
ide2: none,media=cdrom
scsi0: local-lvm:vm-100-disk-1,iothread=1,size=150G,ssd=1
scsihw: virtio-scsi-single
3. 설치된 Disk 의 ID 정보를 확인합니다.
만약 FireCuda_520 을 연결한다면, *_1, *_1-part1, *-part1 등을 참조하는 것이 아닌,
최상위 nvme-Seagate_FireCuda_520_SSD_ZP2000GM30002_ABCDEFGH를 참조하도록 하면 됩니다.
아래 파티션 레벨을 참조하게 하면 VM OS에서 오동작할 수 있습니다. (파티션 정보 참조 불가 등)
# ls -l /dev/disk/by-id/
...
lrwxrwxrwx 1 root root 13 Jan 20 00:18 nvme-Seagate_FireCuda_520_SSD_ZP2000GM30002_ABCDEFGH -> ../../nvme1n1
lrwxrwxrwx 1 root root 13 Jan 20 00:18 nvme-Seagate_FireCuda_520_SSD_ZP2000GM30002_ABCDEFGH_1 -> ../../nvme1n1
lrwxrwxrwx 1 root root 15 Jan 20 00:18 nvme-Seagate_FireCuda_520_SSD_ZP2000GM30002_ABCDEFGH_1-part1 -> ../../nvme1n1p1
lrwxrwxrwx 1 root root 15 Jan 20 00:18 nvme-Seagate_FireCuda_520_SSD_ZP2000GM30002_ABCDEFGH_1-part2 -> ../../nvme1n1p2
lrwxrwxrwx 1 root root 15 Jan 20 00:18 nvme-Seagate_FireCuda_520_SSD_ZP2000GM30002_ABCDEFGH-part1 -> ../../nvme1n1p1
lrwxrwxrwx 1 root root 15 Jan 20 00:18 nvme-Seagate_FireCuda_520_SSD_ZP2000GM30002_ABCDEFGH-part2 -> ../../nvme1n1p2
lrwxrwxrwx 1 root root 13 Jan 19 02:32 nvme-SHGP31-1000GM-2_ABCDEFGHIJKLMNOPQ -> ../../nvme0n1
lrwxrwxrwx 1 root root 13 Jan 19 02:32 nvme-SHGP31-1000GM-2_ABCDEFGHIJKLMNOPQ_1 -> ../../nvme0n1
lrwxrwxrwx 1 root root 15 Jan 19 02:32 nvme-SHGP31-1000GM-2_ABCDEFGHIJKLMNOPQ_1-part1 -> ../../nvme0n1p1
lrwxrwxrwx 1 root root 15 Jan 19 02:32 nvme-SHGP31-1000GM-2_ABCDEFGHIJKLMNOPQ_1-part2 -> ../../nvme0n1p2
lrwxrwxrwx 1 root root 15 Jan 20 00:16 nvme-SHGP31-1000GM-2_ABCDEFGHIJKLMNOPQ_1-part3 -> ../../nvme0n1p3
lrwxrwxrwx 1 root root 15 Jan 19 02:32 nvme-SHGP31-1000GM-2_ABCDEFGHIJKLMNOPQ-part1 -> ../../nvme0n1p1
lrwxrwxrwx 1 root root 15 Jan 19 02:32 nvme-SHGP31-1000GM-2_ABCDEFGHIJKLMNOPQ-part2 -> ../../nvme0n1p2
lrwxrwxrwx 1 root root 15 Jan 20 00:16 nvme-SHGP31-1000GM-2_ABCDEFGHIJKLMNOPQ-part3 -> ../../nvme0n1p3
...
4. VM 에 해당 disk id 를 매핑합니다.
# qm set 100 -scsi1 /dev/disk/by-id/nvme-Seagate_FireCuda_520_SSD_ZP2000GM30002_ABCDEFGH
5. 명령어 실행 후, PVE GUI 및 VM 에서 아래와 같이 scsi1 이 추가된 것을 확인할 수 있습니다.
6. 제거는 아래와 같이 할 수 있습니다.
# qm set 100 -delete scsi1