我有一个 MSI-GD65 游戏主板和一个 Intel i7 4790。在 bios 的 CPU 功能部分中启用了 VT-D。
我正在运行 Ubuntu 14.04.1 LTS,当我尝试分离设备时,我收到以下消息:
# virsh nodedev-分离 pci_0000_00_1f_2
错误:无法分离设备 pci_0000_00_1f_2 错误:不支持操作:此系统当前不支持 VFIO 和 KVM 设备分配
Dmesg 包含一些有关 IOMMU 的信息,但我不知道这是否意味着启用了 VT-D
$ dmesg | grep -i iommu
[0.027450] DMAR:IOMMU 0:reg_base_addr fed90000版本1:0帽c0000020660462 ECAP f0101a
[0.027455] DMAR:IOMMU 1:reg_base_addr fed91000版本1:0帽d2008020660462 ECAP f010da
[0.027521] IOAPIC ID 8下DRHD基0xfed91000 IOMMU 1
谁能建议我需要做什么才能在此系统上启用 VT-D 并将 PCI 设备传递给 KVM 来宾?
我正在使用 Ansible 将某些内容部署到 Linux 主机,并且我需要它仅侦听主机上的第二个 NIC。
查看可用的事实,我可以看到 ansible_interfaces 列出了我的所有网卡,例如
"ansible_interfaces": [
"lo",
"ens9f0",
"ens9f1"
]
Run Code Online (Sandbox Code Playgroud)
我知道这不是lo,所以我可以打折扣。通过查看 ansible_default_ipv4.alias,我可以看到我的主节点是 ens9f0。
在剧本/剧本中,我如何才能确定 ens9f1 是次要的?
这样做的用例是我想在模板中执行类似以下操作:
Listen {{ ansible_second_nic.ipv4.address }}
Run Code Online (Sandbox Code Playgroud)
我工作的每台机器可能有不同的 NIC 名称,因此我无法在我的角色中对它们进行硬编码。从历史上看,我只会假设 eth1,但这不再安全。
我有一个构建为 Docker 映像的应用程序,可以在本地正常工作,但在 Google Cloud Run 中失败,并显示“上游连接错误或在标头之前断开连接/重置。重置原因:协议错误”
该应用程序正在侦听 0.0.0.0:8080,并且不需要身份验证。我在本地 Docker 中运行它
docker run --rm --name myapp -p 8080:8080 myapp:1.0
Run Code Online (Sandbox Code Playgroud)
通过本地curl,我在 / 上得到了成功的响应
$ curl -v localhost:8080
* Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 8080 (#0)
> GET / HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: application/json
< Vary: Origin
< Date: Sat, 24 Jul 2021 13:54:11 GMT
< Content-Length: 2
<
* Connection #0 to …Run Code Online (Sandbox Code Playgroud)