我尝试在 KVM 中安装 PFsense,但由于找不到可安装的发行版而一直失败。
以下错误是什么意思?
Fetching volume XML failed: Storage volume not found: no storage vol with matching path
这是我正在运行的安装命令:
virt-install --debug --name=Firewall --memory=4096 --vcpus=2 \
--location=/opt/OS_Images/pfSense-CE-2.4.1-RELEASE-amd64.iso \
--disk=/var/lib/libvirt/images/Firewall.qcow2,device=disk,bus=virtio,size=10 \
--network bridge:virbr0 --os-type=linux --nographics \
--extra-args='console=tty0 console=ttyS0,115200n8 serial'
以下是安装尝试的完整--debug:
[root@s119918 OS_Images]# virt-install --debug --name=Firewall --memory=4096 --vcpus=2 --location=/opt/OS_Images/pfSense-CE-2.4.1-RELEASE-amd64.iso --disk=/var/lib/libvirt/images/Firewall.qcow2,device=disk,bus=virtio,size=10 --network bridge:virbr0 --os-type=linux --nographics --extra-args='console=tty0 console=ttyS0,115200n8 serial'
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (cli:261) Launched with command line: /usr/share/virt-manager/virt-install --debug --name=Firewall --memory=4096 --vcpus=2 --location=/opt/OS_Images/pfSense-CE-2.4.1-RELEASE-amd64.iso --disk=/var/lib/libvirt/images/Firewall.qcow2,device=disk,bus=virtio,size=10 --network bridge:virbr0 --os-type=linux --nographics --extra-args=console=tty0 console=ttyS0,115200n8 serial
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (cli:275) Requesting libvirt URI default
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (cli:279) Received libvirt URI qemu:///system
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (virt-install:358) Requesting virt method 'default', hv type 'default'.
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (virt-install:582) Received virt method 'kvm'
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (virt-install:583) Hypervisor name is 'hvm'
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (virt-install:270) Distilled --network options: ['bridge=virbr0']
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (virt-install:316) --graphics compat generated: none
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (virt-install:183) Distilled --disk options: ['/var/lib/libvirt/images/Firewall.qcow2,device=disk,bus=virtio,size=10']
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (connection:243) Fetching volume XML failed: Storage volume not found: no storage vol with matching path '/var/lib/libvirt/images/Jira_Confluence.qcow2'
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (connection:243) Fetching volume XML failed: Storage volume not found: no storage vol with matching path '/var/lib/libvirt/images/jira_Confluence.img'
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (connection:243) Fetching volume XML failed: Storage volume not found: no storage vol with matching path '/var/lib/libvirt/images/Jira_Confluence.qcow2.dsk'
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (connection:243) Fetching volume XML failed: Storage volume not found: no storage vol with matching path '/opt/Kvm_Images/Jira_Confluence.qcow2'
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (connection:243) Fetching volume XML failed: Storage volume not found: no storage vol with matching path '/opt/Kvm_Images/jira_Confluence.img'
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (guest:250) Setting Guest.os_variant to 'linux'
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] WARNING (virt-install:544) No operating system detected, VM performance may suffer. Specify an OS with --os-variant for optimal results.
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (virt-install:696) Guest.has_install_phase: True
Starting install...
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:57) Using scratchdir=/var/lib/libvirt/boot
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:302) Preparing mount at /var/lib/libvirt/boot/virtinstmnt.QnwwMu
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:312) mount cmd: ['/bin/mount', '-o', 'ro,loop', '/opt/OS_Images/pfSense-CE-2.4.1-RELEASE-amd64.iso', '/var/lib/libvirt/boot/virtinstmnt.QnwwMu']
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:477) Finding distro store for location=/opt/OS_Images/pfSense-CE-2.4.1-RELEASE-amd64.iso
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu/Fedora) returning False
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:1107) Found treearch=amd64 in uri
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu/current/images/MANIFEST) returning False
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu/daily/MANIFEST) returning False
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:1107) Found treearch=amd64 in uri
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu/current/images/MANIFEST) returning False
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu/install/netboot/version.info) returning False
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu/.disk/info) returning False
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu/SL) returning False
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu/CentOS) returning False
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu/VERSION) returning False
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu/.disk/info) returning False
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu/Server) returning False
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu/Client) returning False
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu/RedHat) returning False
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu/images/pxeboot/vmlinuz) returning False
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu/ppc/ppc64/vmlinuz) returning False
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu/images/boot.iso) returning False
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu/boot/boot.iso) returning False
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu/current/images/netboot/mini.iso) returning False
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu/install/images/boot.iso) returning False
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:145) hasFile(/var/lib/libvirt/boot/virtinstmnt.QnwwMu) returning True
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (urlfetcher:326) Cleaning up mount at /var/lib/libvirt/boot/virtinstmnt.QnwwMu
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (cli:314) File "/usr/share/virt-manager/virt-install", line 1007, in <module>
sys.exit(main())
File "/usr/share/virt-manager/virt-install", line 1001, in main
start_install(guest, options)
File "/usr/share/virt-manager/virt-install", line 727, in start_install
fail(e, do_exit=False)
File "/usr/share/virt-manager/virtinst/cli.py", line 314, in fail
logging.debug("".join(traceback.format_stack()))
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] ERROR (cli:315) Could not find an installable distribution at '/opt/OS_Images/pfSense-CE-2.4.1-RELEASE-amd64.iso'
The location must be the root directory of an install tree.
See virt-install man page for various distro examples.
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (cli:317)
Traceback (most recent call last):
File "/usr/share/virt-manager/virt-install", line 706, in start_install
transient=options.transient)
File "/usr/share/virt-manager/virtinst/guest.py", line 479, in start_install
self._prepare_install(meter, dry)
File "/usr/share/virt-manager/virtinst/guest.py", line 312, in _prepare_install
self.installer.prepare(self, meter)
File "/usr/share/virt-manager/virtinst/installer.py", line 200, in prepare
self._prepare(guest, meter)
File "/usr/share/virt-manager/virtinst/distroinstaller.py", line 220, in _prepare
self._prepare_kernel_url(guest, fetcher)
File "/usr/share/virt-manager/virtinst/distroinstaller.py", line 127, in _prepare_kernel_url
store = self._get_store(guest, fetcher)
File "/usr/share/virt-manager/virtinst/distroinstaller.py", line 114, in _get_store
self._cached_store = urlfetcher.getDistroStore(guest, fetcher)
File "/usr/share/virt-manager/virtinst/urlfetcher.py", line 528, in getDistroStore
(fetcher.location, extramsg)))
ValueError: Could not find an installable distribution at '/opt/OS_Images/pfSense-CE-2.4.1-RELEASE-amd64.iso'
The location must be the root directory of an install tree.
See virt-install man page for various distro examples.
[Wed, 08 Nov 2017 15:34:16 virt-install 15804] DEBUG (cli:328) Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
virsh --connect qemu:///system start Firewall
otherwise, please restart your installation.
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
virsh --connect qemu:///system start Firewall
otherwise, please restart your installation.
答案1
这本身并不是一个答案,但我仍然无法发表评论,因为我没有 50 个声望点数。但是,我登录并使用和测试了完全相同的 pfsense 映像cdrom
。location
使用 vnc 的 cdrom 似乎是这里的解决方法,因为无论出于什么原因,位置在抓取 iso 时都无法找到 .img 文件(我自己在安装和搜索 .iso 时无法找到 .img)。
我尝试使用 cdrom/vnc 组合启动它,甚至指定了端口号等,但无法在我的 vncviewer 中发生任何事情(尽管针对其他 kvm 服务器的健全性检查正在进行中)。
我找到了一个使用 FreeBSD 安装 pfsense 的 github 帖子,但我对 pfsense 或 FreeBSD 了解不够,不知道这是否是正确的方法(我遇到了紧急情况,所以我无法亲自测试)。该安装的链接是:
https://gist.github.com/mahammad/12624500899a54f721a9
因此类似于:
virt-install --debug --name=Firewall --memory=4096 --vcpus=2 --
cdrom=/opt/OS_Images/pfSense-CE-2.4.1-RELEASE-amd64.iso --
disk=/var/lib/libvirt/images/Firewall.qcow2,device=disk,bus=virtio,size=10 -
-network bridge:virbr0 --network bridge:virbr10 --os-type=linux --vnc
然后virsh edit VM_NAME
搜索vnc
。你应该看到类似这样的内容:
<graphics type='vnc' port='-1' autoport='yes'/>
此时您应该能够通过 ssh 隧道连接到 localhost:5900(或您将 vnc 设置为的任何端口)。
答案2
该virt-install
选项--location
用于指定 Linux 发行版树的位置,而不是可启动磁盘映像的位置。虽然它当然可以接受 ISO 映像的路径,但该映像上必须有 Linux 发行版才能正常工作。
也许您想用--cdrom
别的方法?
答案3
尝试使用原始磁盘文件作为虚拟磁盘,而不是 qcow2。然后从 iso 安装 pfsense。我在 proxmox 中使用原始文件格式解决了同样的问题