xenserver 服务器退不出维护模式,XenServer 常见故障处理

XCP-NG 安装系统后需要做的操作:

xe-switch-network-backend bridge

sed -i 's/^PRODUCT_BRAND=.*$/PRODUCT_BRAND=XenServer/g' /etc/xensource-inventory

xe-toolstack-restart

提高宿主机网卡性能,由默认的 OpenvSwtich 改为桥接模式

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 和 nolapic ,之后可以继续正常启动。

如果是已安装的系统,可以在 /etc/default/grub 文件中 GRUB_CMDLINE_LINUX 这一行加上

edd=on nolapic

不过使用这个参数后,虚拟机将变成单核。最好还是升级 xenserver 的版本。

磁盘空间满

常见于 XenServer 6.5 ,Dom0 只有 4G 空间,系统一不小心就写满了。

尤其容易出现在 tapdisk 日志 logrotate 处理时,程序容易卡死,造成空间 100%,从而引起虚拟机 CPU 负载过高等异常。

处理方法:

#!/bin/bash

UUID=`xe host-list name-label=$HOSTNAME params=uuid --minimal`

threshold=78

diskUsage=`df -h | grep "/$" | head -n 1 | awk {' print $5 '} | sed -n -e "s/%//p"`

kill_hang_and_free_disk() {

ls -l /proc/[0-9]*/fd/* | grep -oP '(?<=/proc/).+(?=/fd/.+tapdisk.+deleted)' | xargs kill

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

}

if [ $diskUsage -gt 75 ]; then

rm -rf /var/log/*.gz

clean_old_patches

fi

if [ $diskUsage -gt $threshold ]; then

kill_hang_and_free_disk

clean_old_patches

xe message-create host-uuid=$UUID name="ROOT DISK USAGE" body="Disk space use has exceeded $diskUsage on `echo $HOSTNAME` " priority="1"

fi

把此脚本加入到 crontab ,每 10 分钟检测一次 。

xen 6.5 还可以删除 iso 文件,进一步释放空间

rm -rf /opt/xensource/packages/iso/*.iso

虚拟机无法关闭,也无法强制关闭

检查 dom0 的磁盘空间,如果发现磁盘空间满,清理磁盘空间。

执行 xe-toolstack-restart 命令重启服务。

异常关闭虚拟机,再次启动报错: the uuid you supplied was invalid

解决办法: xe-toolstack-restart 无效,重启物理机后,虚拟机正常启动。

死活关不掉虚拟机,以上办法都不管用

解决办法: list_domains 命令,根据 uuid 查到 虚拟机对应的 id编号, 再执行

/opt/xensource/debug/destroy_domain -domid 编号

vm 的 uuid 为 7a437137-d9a9-af48-a29c-eea847988911

[root@srv ~]# list_domains

id | uuid | state

0 | df6e45ba-99dc-4acd-b1f1-7b1a88394677 | R

1 | 38ba0dcc-90f6-3a8d-bcd6-563124f23d58 | B

2 | 0704c80f-3082-5a04-a643-317dee21c86e | B

72 | 45ec465c-9975-ceaf-6441-6fb83473fd71 | B H

91 | 6c478abb-8643-c257-a502-e980ccd63c11 | B H

92 | 7a437137-d9a9-af48-a29c-eea847988911 | S H

[root@srv ~]#/opt/xensource/debug/destroy_domain -domid 92

Xen dom0 swap 使用量偏高

xe-toolstack-restart

执行此命令不影响正在运行的虚拟机

XenServer 7.3 和以后的版本,免费版只支持 3 台物理机

解决办法:

购买授权

考虑迁移到 XCP-ng 7.6+

考虑迁移到 Ovirt、OpenStack、ProxmoxVE

宿主机只接两根网线做成绑定+ trunk 的高可用

(需 XenServer 7.4 或 XCP-ng 7.4.1 及以上版本)

宿主机接两跟网线,做成绑定,同时打 trunk,接入到交换机,这样的好处可以做成网络高可用,同时节省布线。

在可用性要求不高或是测试环境中,可以只接入eth0 一根网线,操作步骤不变。

实施步骤:

1. 统一规划宿主主机的eth0 和 eth1 接入交换机,打 trunk。假设管理网段为 vlan 2 。

2. 在每一台宿主机正常安装系统,每台网络配置IP地址的时候,选择 eth0,vlan 2。

3. 临时将Master节点的管理网口接入 eth3,并通过 XenCenter 远程管理。

将Master的 eth0 和 eth1 做成 bond0+1,并在 bond0+1 上增加vlan2 的网络。

4. 在 XenCenter 上将Master的管理口从eth3 改到 bond0+1 的 vlan2。

此时会导致Master 短暂连接不上。操作成功后不再需要 eth3 的网线。

5. XenCenter 重新连接Master后,把其他从节点拖到此集群中。

加入之后,所有从节点网络短暂不可用,需要逐台重启系统。

以上步骤理论上通过命令行也可以实现,具体方法如下:

xe network-create name-label=”Bond0”

xe network-list name-label=”Bond0”

xe bond-create mode=balance-slb network-uuid= pif-uuids=,,

参考

PV 模式的虚拟机转化为 HVM

如果虚拟机的硬盘无法启动,就只能挂光盘启动。但是 CentOS 6 的系统(PV模式)又没有光盘启动的地方设置,需要通过如下办法来处理:先把 PV 模式变成 HVM 模式,然后就可以通过光盘启动。

name=centos-vm

xe vm-list name-label=$name params=uuid

uuid=c22396a2-9544-51d8-697b-b76a11378447

xe vm-param-set uuid=$uuid HVM-boot-policy="BIOS order"

xe vm-param-set uuid=$uuid PV-bootloader=""

xe vm-param-set uuid=$uuid PV-args=""

xe vm-disk-list uuid=$uuid

xe vm-disk-list uuid=$uuid | grep VBD -A1 | grep ^uuid| awk '{print $NF}'

# 系统盘的 vdb-uuid

xe vbd-param-set uuid= bootable=true

拯救无法启动的 CentOS6

CentOS 6 系统是 PV 模式,先转化成 HVM模式,再挂载安装盘的iso镜像,属性里面选择优先从光盘启动,进入 rescure 模式。

将系统只读挂载到 /mnt/sysimage 目录, 检查磁盘问题。

chroot /mnt/sysimage

umount /dev/mapper/VolGroup_lv_root

# 只读挂载时,可以不卸载也可以 fsck

fsck -fy /dev/mapper/VolGroup_lv_root

exit

reboot

如果重启后还是无法启动,则可以通过resucre 模式, 设置网络,chroot 进系统,把文件rsync 到远程服务器中。

XOA 管理后台的安装

XenServer 系统里面自动安装: curl -sS https://xoa.io/deploy | bash

手动下载:从 https://xoa.io/deploy 文件中得知 XOA_URL=http://xoa.io:8888/

wget -c http://xoa.io:8888 -O xoa_unified.xva

之后再手动导入

登录

默认用户名和密码均为 xoa

配置静态IP地址

默认 xoa 配置为 dhcp 方式获取地址,通过下面的命令可以设置为静态地址

xoa network static

sudo /etc/init.d/networking restart

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在下载XenServer 7.6之前,首先需要确保满足以下系统要求: - 物理服务器或虚拟机需具备64位架构且支持Intel VT-x或AMD-V虚拟化技术。 - 最小要求为2 GB RAM和16 GB硬盘空间,建议RAM至少为4 GB且硬盘空间至少为64 GB。 - 受支持的操作系统包括Windows、Linux、Citrix Hypervisor以及其他虚拟化平台。 要下载XenServer 7.6,请按照以下步骤进行: 1. 打开浏览器,并转到XenServer官方网站(https://www.citrix.com/zh-cn/downloads/xenserver/)。 2. 在页面中找到XenServer 7.6版本的下载链接。 3. 单击下载链接,会跳转到注册页面。如果您尚未拥有Citrix账户,请按照提示进行注册。 4. 注册完成后,登录您的账户。 5. 找到XenServer 7.6的下载页面,选择您需要的版本(一般提供标准版和先进版)。 6. 单击下载按钮,将开始下载XenServer 7.6的安装文件(通常为ISO镜像文件)。 7. 下载完成后,将安装文件转移到打算使用的服务器或虚拟机上。 8. 根据您的操作系统和虚拟化平台,在服务器或虚拟机上启动XenServer 7.6的安装程序。 9. 按照安装向导的指示,选择合适的选项进行安装,包括网络设置、存储配置和管理员密码等。 10. 完成安装后,您将能够通过Citrix XenCenter或其他管理工具访问和管理XenServer 7.6。 注意:在下载和安装XenServer 7.6之前,请确保您具备合适的许可证,并阅读官方文档以了解更多详细信息和操作指南。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值