我目前正在研究 XCP-ng hipervisor,我想知道 XCP-ng 和 VMware hipervisor 之间的主要区别是什么。据我所知,XCP-ng 没有像 VMware 那样先进的高可用性功能。VMware 为另一台主机上的每个主要虚拟机都有一个影子虚拟机,该主机拥有主要虚拟机的 RAM 状态的副本,当托管虚拟机的主机出现故障时,影子虚拟机成为主要虚拟机并无缝继续所有操作,但我们没有服务器停机时间。但是在主机故障的 XCP-ng 上,VM 在另一台主机上重新启动,并且您的服务器停机时间为 1 到 2 分钟。我做对了吗?还有哪些不同之处?
问题:
我们有一个运行 Windows Server 2019 终端服务器的 XenServer 7.2 环境。尽管看似随机,但我们看到 VM 已使用内存攀升至高达 32GB,并且用户缓慢爬行,直到我们重新启动来宾操作系统。
运行 RAMmap 时,我可以看到几乎所有内存都卡在“驱动程序锁定”中并且永远不会被释放。它只会不断攀升,直到用户抱怨运行缓慢,然后我们必须重新启动来宾操作系统。
是什么原因导致Driver Locked Memory无法释放并继续“泄漏”?同样,我们正在运行带有 Windows Server 2019 的 XenServer 7.2。所有 Windows 更新都已应用于来宾操作系统。
我们在 8 个 XenServer 主机服务器和 2 个分组 SAN 上拥有大量资源用于存储。
VM 上的启动内存和最大内存设置为相同的 32GB 值,并且未选中“在此范围内自动分配内存”。
我有一个远程 xen 服务器,我注意到 autoneg 中的速度链接是 100 全双工;我所有的网络都是 1000 全双工;你知道这是什么原因吗?Ethtool 在我的服务器广告速度和链接合作伙伴广告速度(我的交换机)上都提到了,以及其他较慢的速度,还有 1000 全双工。我很想尝试以这种方式手动强制速度:
ethtool -s eth0 speed 1000 duplex full autoneg off
我可以尝试的另一个命令,但我不确定它是否有用,是:
ethtool -s eth0 speed 1000 duplex full autoneg on
显然我担心的是链接会中断,这是一个远程服务器;我可以访问它(距离它只有 2 英里),但我宁愿避免它(在家工作);
我只想测试手动速度并在失败时反转到 autoneg,我正在考虑使用 crontab 每小时设置一次 autoneg,但我觉得这不是一个好策略。
在这种情况下你会怎么做?
我们有一个用于登录存储、主机等的 OOB/管理网络。我们使用 VLAN 将存储与主机、摄像机等分开。
我们想用以前的配置替换这个开关,但我们想知道 Xen 是否正在运行哪些进程(如果有的话)会利用 OOB 网络,例如池通信?
如果我们取出当前的 OOB 路由器来替换它,并且 Xen 主机在一段时间内(比如 5 分钟?)无法访问 OOB 网络,这会导致 Xen 出现问题吗?
我相信我犯了一个可怕的错误。
我有一个 XEN8.0 (Citrix Hypervisor) 用于在办公室的本地机器上运行测试。它有一个本地 IP 地址。经典的。
然后我想将我的 VM 来宾移动到云中的专用服务器。XEN 已安装、配置好,很酷。
然后,来宾的 XenCenter 中的带输入/输出功能的传输无法正常工作。然后我选择创建一个池,因为我认为我可以简单地将访客系统移动到另一台服务器上。你可能知道会发生什么。
现在的情况:
云中的 XEN_1,主控,公共可访问 IP(新)
XEN_2 本地、从属、路由器后面的本地 IP(旧)
XEN_1# xe pool-sync-database
You attempted an operation which involves a host which could not be contacted.
XEN_2# xe pif-list
The master reports that it cannot talk back to the slave on the supplied management IP address.
ip: 192.168.103.81
XEN_2# xe pif-list params=uuid,host-name-label,device,management
The host toolstack is still initialising. Please wait.
我假设,XEN_2 告诉 XEN_1 他的 IP 是他无法访问的,所以这是一个死锁的情况。
问题:是否可以以某种方式告诉 XEN_1 我本地路由器的 IP?
非常糟糕的是,XEN_2 的本地存储无法访问,并且有一个客户系统具有非常非常重要的内容。因此,消失整个系统并不是一个真正的选择。
其他问题:是否可以通过 SSH 访问访客数据?
任何帮助深表感谢!谢谢
鉴于 XenServer(目前为 7 个)基于 CentOS,这是否意味着它在更新、CLI、管理(非 Xen 特定,如 mdadm 和引导加载程序)等方面的工作方式与 CentOS 一样?
基本上,如果我想使用 XenServer,那么我是否承诺以 CentOS 的“方式”使用、学习和工作?
我们有一个新的(对我们来说)服务器,现在是切换管理程序的时候了,我们准备使用 Xen。
我熟悉并且可以有效管理的当前设置是一个 Debian 主机,它有几个使用 Virtual Box 的 VM,至少可以说不太理想。因此,我熟悉在 Debian 中工作,并且有意识地选择在我们的服务器上使用 Debian。我只为我们的小型企业管理我们的服务器,因此我没有其他设置和其他发行版的多样性可供使用。
据我了解,Redhat 做事的方式与基于 Debian 的发行版有点不同,需要一个未知量的学习曲线;但肯定是学习曲线。
那么,如果我使用 XenServer,我是否也致力于 Redhat 学习曲线?
我知道我可以使用基于 Debian 的 Dom0 安装 Xen,但我读过的共识似乎说 XenServer 总体上工作得最好。然而,我需要做一些配置,例如为 Dom0、Xen 和网络共享启动并运行我们的本地 RAID 阵列,以及按顺序安装引导加载程序和 grub。我可以在 Debian 中相当轻松地进行此配置,因此我试图及时权衡尝试以 CentOS 方式进行相同配置的成本,我担心这会增加相当多的时间来让新服务器投入生产我自己为我们公司慢慢发生在下班后;因此问题。
我的 XenServer 7.0 VM 运行 Ubuntu 16.04 和内核 4.4.0 决定在重新启动整个机器或重置网络接口后不久停止接收 IPv6 数据包。
tcpdump
虽然一切正常,但在 XenServer 主机上运行会在 ping facebook.com 时显示以下内容:
[root@localhost ~]# tcpdump -i xenbr0 -vv ip6
tcpdump: listening on xenbr0, link-type EN10MB (Ethernet), capture size 65535 bytes
^C
[root@localhost ~]# tcpdump -i eth0 -vv ip6
tcpdump: WARNING: eth0: no IPv4 address assigned
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
09:25:26.063597 IP6 (flowlabel 0xa64ab, hlim 64, next-header ICMPv6 (58) payload length: 64) 2a01:4f8:xxxx:yyyy::3 > edge-star-mini6-shv-01-amt2.facebook.com: [icmp6 sum ok] ICMP6, echo request, seq 1
09:25:26.074727 IP6 (class 0x40, hlim 56, next-header ICMPv6 (58) payload length: 64) edge-star-mini6-shv-01-amt2.facebook.com > 2a01:4f8:xxxx:yyyy::3: [icmp6 sum ok] ICMP6, echo reply, seq 1
09:25:27.070651 IP6 (flowlabel 0xa64ab, hlim 64, next-header ICMPv6 (58) payload length: 64) 2a01:4f8:xxxx:yyyy::3 > edge-star-mini6-shv-01-amt2.facebook.com: [icmp6 sum ok] ICMP6, echo request, seq 2
09:25:27.081839 IP6 (class 0x40, hlim 56, next-header ICMPv6 (58) payload length: 64) edge-star-mini6-shv-01-amt2.facebook.com > 2a01:4f8:xxxx:yyyy::3: [icmp6 sum ok] ICMP6, echo reply, seq 2
^C
一切如预期。大约 15-30 分钟后,虚拟机停止看到回显回复,我从以下渠道得到tcpdump
:
[root@localhost ~]# tcpdump -i xenbr0 -vv ip6
tcpdump: listening on xenbr0, link-type EN10MB (Ethernet), capture size 65535 bytes
09:28:23.106447 IP6 (class 0x40, hlim 56, next-header ICMPv6 (58) payload length: 64) edge-star-mini6-shv-01-amt2.facebook.com > 2a01:4f8:xxxx:yyyy::3: [icmp6 sum ok] ICMP6, echo reply, seq 1
09:28:24.113032 IP6 (class 0x40, hlim 56, next-header ICMPv6 (58) payload length: 64) edge-star-mini6-shv-01-amt2.facebook.com > 2a01:4f8:xxxx:yyyy::3: [icmp6 sum ok] ICMP6, echo reply, seq 2
^C
[root@localhost ~]# tcpdump -i eth0 -vv ip6
tcpdump: WARNING: eth0: no IPv4 address assigned
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
09:31:37.437793 IP6 (flowlabel 0x37012, hlim 64, next-header ICMPv6 (58) payload length: 64) 2a01:4f8:xxxx:yyyy::3 > edge-star-mini6-shv-01-fra3.facebook.com: [icmp6 sum ok] ICMP6, echo request, seq 19
09:31:37.442832 IP6 (class 0x40, hlim 57, next-header ICMPv6 (58) payload length: 64) edge-star-mini6-shv-01-fra3.facebook.com > 2a01:4f8:xxxx:yyyy::3: [icmp6 sum ok] ICMP6, echo reply, seq 19
^C
出于某种原因,当事情停止工作时,回显回复也会通过 xenbr0 接口,而不仅仅是 eth0。
在客人身上运行service networking stop && service networking start
会使一切重新工作。在 XenServer 上禁用和重新启用 VM 网络链接没有帮助。我已经尝试在虚拟机上禁用路由器广告,但这也无济于事。
我不知道这是从哪里来的,不知道是 XenServer 问题还是 Ubuntu/Linux 问题。在 xenbr0 上看到的任性数据包似乎指向 XenServer,重置 VM 网络堆栈有助于这一事实似乎指向 Linux...
更新
在阅读了一些关于 XenServer 网络的信息后,问题似乎是 XenServer 虚拟交换机将数据包路由到了错误的接口。预期的流量是eth0 -> vif2.0
,但是数据包会eth0 -> xenbr0
在 Dom0 机器上结束,而不是在正确的 DomU 上结束。在 DomU 上重新启动网络后,一些随后发送的邻居请求或邻居广告似乎暂时解决了该问题:
13:50:23.178132 IP6 :: > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
13:50:23.378089 IP6 :: > ff02::16: HBH ICMP6, multicast listener report v2, 2 group record(s), length 48
13:50:23.442094 IP6 :: > ff02::1:ff00:2: ICMP6, neighbor solicitation, who has example.org, length 24
13:50:23.698108 IP6 :: > ff02::16: HBH ICMP6, multicast listener report v2, 2 group record(s), length 48
13:50:24.050127 IP6 :: > ff02::1:ff00:36ab: ICMP6, neighbor solicitation, who has fe80::250:xxxx:yyyy:36ab, length 24
13:50:25.050149 IP6 fe80::250:xxxx:yyyy:36ab > ff02::16: HBH ICMP6, multicast listener report v2, 2 group record(s), length 48
13:50:25.174116 IP6 fe80::250:xxxx:yyyy:36ab > ff02::16: HBH ICMP6, multicast listener report v2, 2 group record(s), length 48
13:50:27.605989 IP6 fe80::250:xxxx:yyyy:36ab > ff02::1:ff00:1: ICMP6, neighbor solicitation, who has fe80::1, length 32
13:50:27.606801 IP6 fe80::1 > fe80::250:xxxx:yyyy:36ab: ICMP6, neighbor advertisement, tgt is fe80::1, length 32
13:50:27.609480 IP6 fe80::250:xxxx:yyyy:36ab > ff02::1:ff00:1: ICMP6, neighbor solicitation, who has fe80::1, length 32
13:50:27.609488 IP6 example.org > ff02::1:ff00:1: ICMP6, neighbor solicitation, who has fe80::1, length 32
13:50:27.609943 IP6 fe80::1 > fe80::250:xxxx:yyyy:36ab: ICMP6, neighbor advertisement, tgt is fe80::1, length 32
我对 IPv6 的了解还不是很深,尚无法说出究竟是什么导致它再次工作。
也许这是一个非常愚蠢的问题。我在 XenServer 上安装了一个新 VM。它从 NAS 的 iSCSI 加载整个系统。现在我计划迁移到 Proxmox,因为 XenServer 在 USB 直通方面存在不足。不过,我不知道如何:
a) 访问 iSCSI 磁盘并将其转换为另一种格式(在本例中为 qcow2,但格式现在不重要)。b) 从系统中取出该图像。c) 在新机器上再次将其附加到 iSCSI NAS。
我不知道该怎么做,因为我无法从 NAS (QNAP) “读取” iSCSI 分区。通过 XenServer,我知道如何将快照创建到本地存储,因此迁移该映像不会那么困难。但是......以后如何回到iSCSI?
欢迎任何建议。
提前致谢
我已经使用 XenServer 7 将服务器从物理迁移到虚拟。不过,出于安全目的,我们现在需要一个 USB 加密狗,但还没有找到将其正确传递到虚拟机的方法。
大多数资源都指向通过以太网使用 USB,但这不是一个选项,因为我们没有更多的硬件,这必须保留在 CPD 上。
必须有办法做到这一点。此外,我们还有另一台设备通过 RS232 连接到旧服务器。我们已经为它购买了一个 USB 适配器,也想通过它...让我们交叉手指。
过去我在使用 Proxmox 时对此没有任何问题,但我们很惊讶像 XenServer 这样的“更商业化”的产品没有提供开箱即用的这种机制。:S
关于如何做到这一点的任何手册?
提前致谢