VMWare仮想マシンでkata-containersが使用できないことを解決し、vhost_をプロンプトします.vsock: Device or resource busy


もんだいげんしょうVMWarelinux仮想マシンにkata-containers実行sudo kata-runtime kata-checkをインストールして環境をチェックすると、次のようなプロンプトが表示されます.
ore@ubuntu20-dev:~$ sudo kata-runtime kata-check
WARN[0000] modprobe insert module failed: modprobe: ERROR: could not insert 'vhost_vsock': Device or resource busy  arch=amd64 error="exit status 1" module=vhost_vsock name=kata-runtime pid=2303 source=runtime
ERRO[0000] kernel property not found                     arch=amd64 description="Host Support for Linux VM Sockets" name=vhost_vsock pid=2303 source=runtime type=module
System is capable of running Kata Containers
System can currently create Kata Containers

ソリューション
  • 次のコマンドを実行して、プロファイル/etc/modprobe.d/blacklist-vmware.confを作成します.
  • sudo tee /etc/modprobe.d/blacklist-vmware.conf << EOF
    blacklist vmw_vsock_virtio_transport_common
    blacklist vmw_vsock_vmci_transport
    EOF
    
  • sudo reboot
  • を再起動
  • 思いっきり遊ぼう~
  • 問題の原因
    これは、linuxvmware環境で動作していることを検出すると、vmwareのモジュールがいくつかロードされ、vsockが使用されて競合が発生するためである.どのモジュールが競合しているかは、コマンドlsmod | grep vsockによって確認できます.
    コマンド出力:
    core@ubuntu20-dev:~$ lsmod | grep vsock
    vmw_vsock_virtio_transport_common    32768  0
    vmw_vsock_vmci_transport    32768  1
    vsock                  36864  3 vmw_vsock_virtio_transport_common,vmw_vsock_vmci_transport
    vmw_vmci               69632  2 vmw_balloon,vmw_vsock_vmci_transport
    
    vmw_vsock_virtio_transport_commonおよびvmw_vsock_vmci_transportモジュールと確かに競合しているので、無効にすればよいことがわかります.
    参考ページ:
  • https://discuss.linuxcontainers.org/t/lxd-4-0-cannot-use-vm-errors/7312