He hecho la solución de Linux VM como la suya durante varias plataformas. Pero diferente, y dependiendo del caso de uso específico, mucho mejor. (También he probado su método. Demasiados problemas, especialmente con el paso de USB).
Esto es lo que hago, aproximadamente, con VirtualBox (no es una guía paso a paso, pero debería ser suficiente para ponerte en marcha):
- No adjunto el volumen externo a través de la intercepción USB; Primero creo un VMDK en bruto de la unidad externa. Esto requiere algo de magia de guión: Debe: 1) Asegúrese de que la máquina virtual esté apagada. 2) Eliminar el archivo de metadatos VMDK. 3) Desconecte el controlador de almacenamiento virtual dedicado a la unidad USB. 4) Cree un nuevo archivo VMDK sin procesar para la unidad USB [esta parte es un reto ya que la ubicación física cambia; Utilizo un parámetro de script para pasarlo al script]. 5) Crear un nuevo controlador de almacenamiento virtual para la máquina virtual. 6) Conecte el VMDK en bruto al nuevo controlador de almacenamiento. 7) Iniciar la máquina virtual. El inconveniente de este enfoque, por supuesto, es que la unidad USB y la máquina virtual están unidas para la sesión completa de la máquina virtual. Si desconecta la unidad USB mientras la máquina virtual se está ejecutando, nunca volverá a ser válida (hasta que apague la máquina virtual y vuelva a ejecutar el script). Pero los beneficios son enormes: A) Funciona a la perfección, a diferencia del interceptor USB con buggy. Y B) El rendimiento es casi nativo [ya que el host maneja la E / S del dispositivo de bajo nivel], que no se puede obtener con la intercepción USB.
- Configuré la máquina virtual con dos adaptadores de red: 1) NAT con DHCP para el acceso regular a Internet desde la máquina virtual, y 2) Solo host con IP estática para el acceso de host a máquina virtual. También podría tener solo un adaptador con puente, pero he descubierto que este enfoque es más ideal, ya que el acceso a Internet de la VM no está vinculado a ningún adaptador.
- Configuré la VM para compartir carpetas a través de SMB. En mi caso, estas son carpetas montadas encfs.
- A continuación, instalo carpetas en el host, asignadas a través de SMB al invitado.
El rendimiento es bastante decente. SMB a través de Gigabit Ethernet entre hardware real tiene un máximo teórico de aproximadamente 120 MB / s (hay un número específico máximo, pero eso es lo suficientemente cercano para esta discusión). Probablemente no obtendrá un alto nivel de tráfico SMB de host a vm, incluso si utiliza el adaptador virtio sin límite de ancho de banda. En mi hardware más rápido, he visto en el mejor de los casos alrededor de 70 MB / s sostenidos. Pero mi hardware no es super rápido, podrías hacerlo mejor. (Aunque el USB y el disco giratorio en su solución serán los factores limitantes).
No me molestaría con sshfs. La sobrecarga es severa y el rendimiento es terrible. El único beneficio para sshfs es cuando se monta sobre una red no segura. Host-to-vm existe completamente dentro de su propia computadora y, por lo tanto, es tan seguro como lo hace, no necesita cifrado, y el protocolo de red más liviano que puede obtener es ideal. (SMB no es exactamente liviano, pero prácticamente todos los hosts admiten todas las acciones de archivos remotos que podría necesitar).
La solución que he descrito parece compleja, y lo es. Pero si documenta el proceso exitoso, es trivialmente fácil la segunda vez. Tengo todo este guión tanto en el host como en la VM, por lo que es casi automático para cada sesión y se configura fácilmente para nuevos hosts y / o máquinas virtuales. Y es una solución muy agradable y perfecta para el uso diario.
Espero que esto ayude.