我的目标是在通过 Debian 10 管理/安装的 Xen 系统上安装 CentOS 8 作为 Guest/DOMU。
我需要使用 PV,因为硬件不支持 HVM,因为它很旧。 HVM 显然会大大简化这个过程。
创建 Debian PV 很简单,但事实证明,对于像我这样的 Xen 新手来说,从 ISO 或存储库安装外部操作系统非常困难。
让我走到这一步的两个资源:
https://wiki.alpinelinux.org/wiki/Create_Alpine_Linux_PV_DomU
https://www.systutorials.com/install-paravirtualized-centos-7-domu-xen/
我使用以下配置来生成虚拟机(centos-8.2.pvlinux)。您会注意到内核和 ramdisk 被注释掉,下载或提取 CentOS PXEBoot 内核和 RAMDisk 在此过程的早期导致失败,并且在“/”处使用 Debian 版本似乎可以工作,至少在最初是这样(从位于 ' 的镜像下载的 CentOS 版本) /centos/8.2.2004/BaseOS/x86_64/os/images/pxeboot/')。
kernel = "/vmlinuz"
ramdisk = "/var/opt/xen/ISO_Store/CentosPXEBoot/initrd.img"
#ramdisk = "/initrd.img"
extra="modules=loop,squashfs console=hvc0"
# Path to HDD and iso file
disk = [
#'file:/vmdisk0,xvda,w'
'format=raw, vdev=xvda, access=w, target=/dev/mapper/vg_1-domain.com',
'format=raw, vdev=xvdc, access=r, devtype=cdrom, target=/var/opt/xen/ISO_Store/CentOS-8.2.2004-x86_64-boot.iso'
]
#extra="ksdevice= inst.repo=https://mirror.jaleco.com/centos/8.2.2004/isos/x86_64/ nameserver=1.1.1.1"
# Network configuration
vif = ['bridge=xenbr0']
# DomU settings
memory = 3072
name = "centos-8.2"
这会导致以下结果,我已缩写输出:
Parsing config from /etc/xen/centos-8.2.pvlinux
[ 0.000000] Linux version 4.19.0-10-amd64 ([email protected]) (gcc version 8.3.0 (Debian 8.3.0-6)) #1 SMP Debian 4.19.132-1 (2020-07-24)
[ 0.000000] Command line: modules=loop,squashfs console=hvc0
....
[ 16.434798] systemd[1]: Detected virtualization xen.
[ 16.434844] systemd[1]: Detected architecture x86-64.
[ 16.434880] systemd[1]: Running in initial RAM disk.
Welcome to CentOS Linux 8 (Core) dracut-049-70.git20200228.el8 (Initramfs)!
[ 16.446415] systemd[1]: No hostname configured.
[ 16.446473] systemd[1]: Set hostname to <localhost>.
[ 16.446725] random: systemd: uninitialized urandom read (16 bytes read)
[ 16.446775] systemd[1]: Initializing machine ID from random generator.
[ 16.621449] random: ln: uninitialized urandom read (6 bytes read)
[ 16.623730] random: ln: uninitialized urandom read (6 bytes read)
[ 17.062380] systemd[1]: Reached target Timers.
[ OK ] Reached target Timers.
....
[ OK ] Started iSCSI UserSpace I/O driver.
[ OK ] Stopped iSCSI UserSpace I/O driver.
[FAILED] Failed to start iSCSI UserSpace I/O driver.
See 'systemctl status iscsiuio.service' for details.
[ 22.462372] systemd[1]: Started Journal Service.
[ OK ] Started Journal Service.
[ 23.688098] dracut: FATAL: iscsiroot requested but kernel/initrd does not support iscsi
[ 23.688178] dracut: Refusing to continue
[ 23.869896] systemd-shutdow: 56 output lines suppressed due to ratelimiting
[ 24.013409] systemd-shutdown[1]: Syncing filesystems and block devices.
[ 24.013708] systemd-shutdown[1]: Sending SIGTERM to remaining processes...
[ 24.019611] systemd-journald[121]: Received SIGTERM from PID 1 (systemd-shutdow).
[ 24.026531] systemd-shutdown[1]: Sending SIGKILL to remaining processes...
[ 24.032149] systemd-shutdown[1]: Unmounting file systems.
[ 24.038715] [371]: Remounting '/' read-only in with options 'size=1497604k,nr_inodes=374401'.
[ 24.039938] systemd-shutdown[1]: All filesystems unmounted.
[ 24.039986] systemd-shutdown[1]: Deactivating swaps.
[ 24.040223] systemd-shutdown[1]: All swaps deactivated.
[ 24.040259] systemd-shutdown[1]: Detaching loop devices.
[ 24.040650] systemd-shutdown[1]: All loop devices detached.
[ 24.040687] systemd-shutdown[1]: Detaching DM devices.
[ 24.051030] xenbus: xenbus_dev_shutdown: device/vif/0: Initialising != Connected, skipping
[ 24.051080] xenbus: xenbus_dev_shutdown: device/vbd/51744: Initialising != Connected, skipping
[ 24.051114] xenbus: xenbus_dev_shutdown: device/vbd/51712: Initialising != Connected, skipping
[ 24.051183] reboot: System halted
我尝试删除 ISO 并使用 Extras 行获取 ISO,但得到相同的结果。
我也尝试过创建非卷组磁盘,结果相同。
非常感谢任何指导,谢谢。
更新:
长话短说。 CentOS 8 不支持 PV 环境似乎是一个共识。
我无法理解为什么不支持此功能,因为这会阻止使用性能比默认 HVM 设置好得多的 PVH 环境。
PV 内显然支持使用来自 elrepo 的第三方内核。但是我自己并不想弄清楚如何使用它在 PV 中安装 Centos8。该内核似乎主要对于想要使用 PVH 环境(其中在 HVM 中使用 PV 接口)的个人有用。
我现在必须使用不同的操作系统。
答案1
CentOS 8 的默认内核不支持 Xen PV 或 PVH - 这些已被 Red Hat 删除。它可以作为 HVM 运行,但你说你的硬件不支持它。
通过启用 elrepo 并使用其中的 kernel-ml 作为内核,可以在 PV 或 PVH 模式下运行 CentOS 8。这是主线 Linux 内核,因此尚未从中删除 Xen PV/PVH 支持。然而,elrepo 没有提供任何形式的支持。
您可以从任何现有的 Linux 或类 Unix 计算机将其安装到 chroot 中。以下是一些使用该提供商的“救援虚拟机”的分步说明,但如果您拥有主机的管理访问权限,则可以从那里进行操作。