
Synology의 가상 머신 관리자 패키지(버전 2.3.1-8926)를 사용하면 USB 드라이브에서 VM을 실행할 수 없습니다.
SHR BTRFS 드라이브가 이미지로 인해 사용되지 않도록 외부 디스크에서 가상 머신 이미지를 로드하고 싶습니다.
이 NAS에 외부 디스크를 사용하여 vdisk를 로드하려면 어떻게 해야 합니까?
답변1
HDD 디스크가 사용 중이지 않기 때문에 이것이 NAS의 성능 향상을 제공할 수 있다고 생각했기 때문에 USB 스틱/msata sdd에서 VM을 로드하고 싶었습니다. 간단히 말해서 USB 3 MSATA 드라이브의 성능은 빠르고 가벼운 웹 검색에 충분합니다.
다음은 DS218+에서 이 작업(USB 드라이브에서 VM 부팅)을 수행하는 방법에 대한 결과와 VM 성능에 대한 몇 가지 추가 생각입니다.
먼저 virtio 네트워크 인터페이스를 사용하여 Windows 7 VM을 만들었습니다(VM 가상 머신 관리자에서 선택할 수 있음). Synology 포럼에서는 Windows 7이 Win 10보다 성능이 더 좋다고 언급되어 이 버전을 사용해 보았습니다.
VM 네트워크 설정에서 기어를 클릭하고 virtio 네트워크 어댑터를 선택해야 합니다. 나중에 네트워크에 연결되지 않으므로 이는 중요합니다. 컴퓨터가 설치되면 여기에서 virtio 드라이버를 다운로드해야 합니다.Virtio 네트워크 드라이버그리고 이미지를 마운트합니다. 또한 게스트에서 장치 관리자를 열고 이더넷 드라이버를 업데이트해야 합니다(드라이버는 NetKVM 폴더에 있음).
위의 단계를 완료하고 Redhat virtio 네트워크 인터페이스를 사용하며 인터넷에 액세스할 수 있으면 머신을 종료할 수 있습니다.
이제 SSH 세션을 시작하고 다음을 사용하여 루트를 만들어야 합니다.
sudo -i
루트 CD로
cd /volume1/\@iSCSI/LUN/VDISK_BLUN/.
여기에서 하위 디렉토리를 확인할 수 있습니다
ls -allhd */*
USB 스틱에 복사하려는 모든 VM 및 이미지에 대해. 하위 디렉터리의 이미지를 cp
USB 스틱의 루트 드라이브인 /volumeUSB1/usbshare/에 복사합니다.NAS에서 USB 드라이브가 감지되지 않으면 제어판 -> 외부 장치로 이동하여 드라이브를 EXT4로 포맷할 수 있습니다. 스틱을 포맷하기 전에 데이터를 백업해 두어야 합니다.
vdisk 이미지가 복사된 후 다음을 사용하여 VM에 대한 IP 트래픽을 라우팅하도록 네트워크를 구성해야 합니다.
ip tuntap add name tap0 mode tap;ifconfig tap0 up;ovs-vsctl add-port ovs_eth0 tap0
이제 다음을 사용하여 qemu를 시작하세요.
/usr/local/bin/qemu-system-x86_64 -drive \
format=raw,file=/volumeUSB1/usbshare/vdisk.f6584cf5-6567-49c7-af33-d7f055c62bb4.a5bf8508-d623-4620-ad79-6c83cf143204.2.0_00000 \
-m 3000 -vnc :0 -mem-prealloc -mem-path /dev/virtualization/win7 -machine pc-i440fx-2.2,accel=kvm,usb=off \
-netdev tap,ifname=tap0,script=no,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=02:11:32:25:64:a7,bus=pci.0,addr=0x3 \
-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x4 -cpu host -smp 10
위 코드에서 vdisk 파일 이름을 이미지로 변경해야 합니다. 원하는 경우 mem-path를 /tmp/W7로 업데이트할 수도 있습니다. -m 인수를 메모리에 맞게 조정합니다(저는 3000mb로 구성했습니다). qemu가 실행 중일 때 두 번째 연결로 ssh로 접속하여 qemu가 실행 중인지, 그렇다면 qemu가 사용하는 메모리와 CPU 양을 top으로 확인할 수 있습니다.
마지막으로 VNC 뷰어를 사용하여 포트 5900에서 diskstation의 IP에 연결하여 Windows 데스크톱 환경을 얻습니다. 또한 VNC 클라이언트를 사용하는 대신 원격 데스크톱을 설정하는 것이 좋습니다.
VMM을 다시 사용하려면 다음을 사용하여 브리지에서 tap0 장치를 제거할 수 있습니다.
ovs-vsctl del-port ovs_eth0 tap0
전반적으로 USB 스틱의 성능에 만족합니다. USB 스틱 버전은 가끔 탐색하기에 충분합니다. 또한 USB 3 인클로저에서 evo msata 드라이브를 사용하여 테스트했습니다. EVO 디스크가 좀 더 나은 성능을 발휘한다는 인상을 받았습니다.
답변2
저는 1년 넘게 USB/SSD에서 VM을 실행해 왔습니다. 비결은 다음과 같습니다.
http://www.casler.org/wordpress/?p=246
현재 USB 어댑터를 사용하여 중요한 128GB를 실행 중입니다. 업그레이드할 nvme와 새 케이스가 생겼습니다.
이들 모두는 btrfs의 USB/SSD에서 "볼륨"으로 실행됩니다.