在 KVM 中安装 PfSense

在 KVM 中安装 PfSense

我尝试在 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 映像cdromlocation使用 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 中使用原始文件格式解决了同样的问题

相关内容