Virtualization

在 KVM 中安裝 Pfsense

  • February 11, 2019

我正在嘗試在 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.

這本身不是一個答案,但我仍然無法發表評論,因為我沒有 50 個代表點。但是,我使用 和 測試了完全相同的 pfsensecdrom圖像location。帶有 vnc 的 cdrom 似乎是要走的路,因為無論出於何種原因,在爬取 iso 時 location 都無法找到 .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 的任何埠)。

引用自:https://serverfault.com/questions/882490