以下是XenServer的一些常见问题及其解决方法:
提高宿主机网卡性能
将默认的OpenvSwitch改为桥接模式,可以通过执行以下命令来实现:
xe-switch-network-backend bridge
重启系统后生效。
XenCenter最新版连不上XCP-NG主机
使用XCP-Center最新版,或者修改XCP-ng的配置文件,并重启服务。将
PRODUCT_BRAND='XCP-ng'
修改为PRODUCT_BRAND='XenServer'
:sed -i 's/^PRODUCT_BRAND=.*$/PRODUCT_BRAND=XenServer/g' /etc/xensource-inventory xe-toolstack-restart
- 之后就可以正常连接了。
手动创建本地存储
将sdb创建为SSD标识的本地存储:
host=$(hostname) disk='/dev/sdb' uuid=$(xe host-list name-label=$host |grep uuid | awk '{print $NF}') xe sr-create host-uuid=$uuid shared=false type=lvm content-type=user device-config:device=$disk name-label="Local storage SSD"
XenServer无法启动高版本的内核
- 对于XenServer 6.5 7.0无法安装Ubuntu 18.04的问题,可以在启动后在第一屏按F6,选择
edd=on
和nolapi
,之后可以继续正常启动。如果是已安装的系统,可以在/etc/default/grub
文件中GRUB_CMDLINE_LINUX
这一行加上edd=on nolapic
。不过使用这个参数后,虚拟机将变成单核。最好还是升级XenServer的版本。
- 对于XenServer 6.5 7.0无法安装Ubuntu 18.04的问题,可以在启动后在第一屏按F6,选择
磁盘空间满
常见于XenServer 6.5,Dom0只有4G空间,系统一不小心就写满了。处理方法可以是清理日志文件和旧补丁,以及删除不必要的ISO文件:
rm -rf /var/log/*.gz clean_old_patches() { PATCHLIST=$(xe patch-list | grep "uuid ( RO) " | awk '{print $5}') for UUID in $PATCHLIST; do echo "Cleanup patch $UUID"; xe patch-pool-clean uuid=$UUID; done }
- 把此脚本加入到crontab,每10分钟检测一次。
虚拟机无法关闭,也无法强制关闭
- 检查dom0的磁盘空间,如果发现磁盘空间满,清理磁盘空间。执行
xe-toolstack-restart
命令重启服务。
- 检查dom0的磁盘空间,如果发现磁盘空间满,清理磁盘空间。执行
异常关闭虚拟机,再次启动报错:the uuid you supplied was invalid
- 解决办法:
xe-toolstack-restart
无效,重启物理机后,虚拟机正常启动。
- 解决办法:
死活关不掉虚拟机,以上办法都不管用
- 解决办法:使用
list_domains
命令,根据uuid查到虚拟机对应的id编号,再执行/opt/xensource/debug/destroy_domain -domid 编号
。
- 解决办法:使用
Xen dom0 swap 使用量偏高
- 执行
xe-toolstack-restart
命令,不影响正在运行的虚拟机。
- 执行
XenServer 7.3和以后的版本,免费版只支持3台物理机
- 解决办法:购买授权,考虑迁移到XCP-ng 7.6+,或者迁移到Ovirt、OpenStack、ProxmoxVE。
这些是XenServer使用过程中可能遇到的一些常见问题及其解决方法,希望对你有所帮助。
评论已关闭