• 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 的版本。

    参考:
    https://askubuntu.com/questions/1029986/installation-of-18-04-bionic-fails-on-xenserver7

    磁盘空间满

    常见于 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=<UUID-Bond0> pif-uuids=<UUID-eth2>,<UUID-eth3>,<UUID-eth4>
    

    参考

    https://support.citrix.com/article/CTX230616

    PV 模式的虚拟机转化为 HVM

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

    老的系统为 PV 模式,如下命令可以转化成 HVM 模式
    https://xen-orchestra.com/forum/topic/260/convert-xen-orchestra-appliance-pv-to-hvm/3

    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=<vbd 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


    作者:akka9
    链接:https://www.jianshu.com/p/a5e10539926b
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    ThinkSNS+ PHP开发概述
    基础知识--封装、继承、多态、抽象
    读书笔记--《你在为谁工作》
    深入理解设计模式(终):总结--设计模式是药,没病就不要吃药
    深入理解设计模式(24):外观模式
    深入理解设计模式(23):代理模式
    深入理解设计模式(22):享元模式
    深入理解设计模式(21):组合模式
    深入理解设计模式(20):桥接模式
    深入理解设计模式(19):装饰模式
  • 原文地址:https://www.cnblogs.com/cheyunhua/p/16514925.html
Copyright © 2020-2023  润新知