User Tools

Site Tools


virt:zfs_kvm_debian8

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
virt:zfs_kvm_debian8 [2016/04/12 09:16]
tschulz [Bind PCI device to VFIO]
virt:zfs_kvm_debian8 [2016/04/20 14:17]
tschulz [Important Bits]
Line 22: Line 22:
  
 ==== Blacklist Video Drivers==== ==== Blacklist Video Drivers====
 +  * If a driver is using a pci device that you want to passthough you might want to blacklist the driver, although you can try unbinding the driver before you tell vfio to claim the device
   * driver name is found be running: <​file>​lspci -vn | less -p VGA   * driver name is found be running: <​file>​lspci -vn | less -p VGA
 </​file> ​ Look for "​**Kernel driver in use:​**"<​file bash /​etc/​modprobe.d/​blacklist.conf>​ </​file> ​ Look for "​**Kernel driver in use:​**"<​file bash /​etc/​modprobe.d/​blacklist.conf>​
Line 42: Line 43:
 </​file>​ </​file>​
  
 +===== Install Kernel and updates from Backports =====
 +  * add the following line to /​etc/​apt/​sources.list<​file>​deb http://​ftp.debian.org/​debian jessie-backports main</​file>​
 +  * Update package list and update packages<​file>​apt-get update
 +apt-get -t jessie-backports upgrade</​file>​
  
 +===== Build and Install ZFS on Linux (deb method) =====
 +  * Download current release from [[https://​github.com/​zfsonlinux/​zfs/​releases]]. ​ You will need **spl-x.x.x.x.tar.gz** and **zfs-x.x.x.x.tar.gz**
 +  * Install dependency packages<​file>​apt-get install build-essential gawk alien fakeroot linux-headers-$(uname -r) zlib1g-dev uuid-dev libblkid-dev libselinux-dev parted lsscsi
 +</​file>​
 +  * Build and install spl <​file>​tar xvzf spl-x.x.x.x.tar.gz
 +cd spl-x.x.x.x
 +./configure
 +make deb-utils deb-kmod
 +dpkg -i *.deb</​file>​
 +  * Build and install zfs <​file>​tar xvzf zfs-x.x.x.x.tar.gz
 +cd zfs-x.x.x.x
 +./configure
 +make deb-utils deb-kmod
 +dpkg -i *.deb</​file>​
 ===== Bind PCI device to VFIO ===== ===== Bind PCI device to VFIO =====
   - To grab the hexadecimal PCI id. run<​file>​lspci -nv</​file>​   - To grab the hexadecimal PCI id. run<​file>​lspci -nv</​file>​
Line 54: Line 73:
 </​file>​ </​file>​
  
-===== Headline ​===== +===== USB Passthough ​===== 
 +  * If you are passing a physical video card to a VM, you will need to also pass usb input devices to the VM since the VM will not have a SDL or Spice virtual display. 
 +  * This is done through USB passthrough. 
 +  * To find the USB id's to pass through run <​file>​lsusb | grep -v "root hub"</​file>​ 
 +  * This will give you something like this<​file>​Bus 005 Device 002: ID 046b:ff10 American Megatrends, Inc. Virtual Keyboard and Mouse 
 +Bus 003 Device 003: ID 0557:2205 ATEN International Co., Ltd  
 +Bus 003 Device 002: ID 0451:2046 Texas Instruments,​ Inc. TUSB2046 Hub</​file>​ 
 +  * What we want is the hexadecimal ID **ffff:​ffff** 
 +  * then this to pass the usb device to the vm<​file>​-usbdevice host:​ffff:​ffff</​file>​
 ===== Example kvm script ===== ===== Example kvm script =====
 <file bash> <file bash>
Line 84: Line 110:
 echo 102b 0522 > /​sys/​bus/​pci/​drivers/​vfio-pci/​new_id</​file>​ echo 102b 0522 > /​sys/​bus/​pci/​drivers/​vfio-pci/​new_id</​file>​
   * The following passes a video card to the vm and binds it to the pcie bridge<​file>​-device vfio-pci,​host=07:​00.0,​bus=root.1,​addr=00.0,​multifunction=on,​x-vga=on \</​file>​   * The following passes a video card to the vm and binds it to the pcie bridge<​file>​-device vfio-pci,​host=07:​00.0,​bus=root.1,​addr=00.0,​multifunction=on,​x-vga=on \</​file>​
-  * The following passes a usb hub to the vm so that keyboard and mouse input can be used with the physical display<​file>​-usb -usbdevice host:​0557:​2205</​file>​+  * The following passes a usb hub to the vm so that keyboard and mouse input can be used with the physical display<​file>​-usbdevice host:​0557:​2205</​file>​ 
 +  * Add Spice Display<​file-vga qxl -spice port=5900,​addr=127.0.0.1,​disable-ticketing>​</​file>​
virt/zfs_kvm_debian8.txt · Last modified: 2016/04/20 14:18 by tschulz