文档目录

物理机

物理机添加失败,如何排查?

解决方案

请查看操作日志中的添加失败报错信息,获取失败原因,若仍然创建失败,请检查以下内容:

  • 请确认当前云平台许可证在有效期内,且CPU插槽数量在许可范围内。
  • 请确认物理机信息是否填写正确,且物理机可否与管理节点双向连通。
  • 请确认物理机操作系统版本、CPU型号、类型和架构是否与集群内其他物理机完全一致。
  • 请确认物理机是否开启CPU硬件虚拟化。

    可使用egrep "vmx|svm" /proc/cpuinfo命令验证是否开启CPU硬件虚拟化,若有输出值则表示已开启CPU硬件虚拟化。

  • 请确认物理机网卡是否与所在集群挂载的二层网络使用的网卡一致。
  • 请确认物理机能否访问主存储。
    Note: 若使用Ceph存储节点与计算节点分离部署,需要在物理机中将Ceph存储节点添加为网关服务器角色,否则物理机无法调用存储。
  • 请确认物理机是否手动安装了其他软件包,造成冲突。

物理机添加失败,出现“libvirt/qemu版本不一致”报错,怎么办?

现象

添加物理机失败,出现cannot be added to cluster because qemu/libvirt version does not match或者no candidate host has version报错。

原因

集群内物理机操作系统版本不一致。

解决方案

操作步骤

  1. 执行以下命令,格式化物理机并重新安装操作系统:
    root@localhost ~]# yum --disablerepo=* --enablerepo=zstack-local install -y sudo
    
  2. 将使用相同操作系统版本的物理机添加至同一集群。

物理机添加失败,出现“未加载kvm_intel”报错,怎么办?

现象

添加物理机失败报错:“物理机未加载kvm_intel(虚拟化)模块,无法执行当前操作”。

原因

未开启VMX和CPU VT选项 。

解决方案

操作步骤

  1. 设置Enable Monitor MWAIT

    进入 BIOS 页面后,切换至“Socket Configuration”页面,选择“Advanced Power”选项进入Advanced Power管理配置界面。

    在Advanced Power管理配置界面,选择“CPU C State Control”选项,将“Enable Monitor MWAIT”设置为 Disabled。

  2. 设置Intel VT for Directed I/O

    返回至“Socket Configuration”页面,选择“IIO Configuration”。

    将“Intel VT for Directed I/O”选项设置为 Enabled。

  3. 设置VMX

    返回至“Socket Configuration”页面,选择“Processor Configuration”。

    将“VMX”选项设置为 Enabled。

  4. 保存退出
    至此,已完成VMX和CPU VT选项设置。按F10键,保存并退出BIOS设置。

如何开启服务器硬件虚拟化?

解决方案

进入服务器BIOS,将以下条目设置为开启状态:
  • Intel Virtual Technology
  • Secure Virtual Machine

物理机状态为未连接或连接中,如何排查?

解决方案

  • 请确认物理机SSH端口号、用户名、密码是否正确,以及用户名是否拥有sudo权限。
  • 请确认物理机操作系统运行状态是否正常,CPU、内存、系统盘存储容量是否充足,文件系统是否可写等。
  • 请确认物理机网卡设备号和所在集群挂载的网络是否一致。

    例如:集群挂载的二层网络指定设备为bond0,但物理机网卡设备号发生变化,不存在bond0,此时物理机将无法重连成功。

  • 请确认物理机所挂载的主存储状态均正常。
  • 若物理机所挂载二层网络为VXLAN网络,请确认指定的VTEP IP存在。

物理机异常重启,如何排查?

解决方案

  • 执行last reboot命令获取并分析对应时间点日志。
  • 查看/var/log/history.d/history日志文件对应时间点,可确认是否人为重启物理机。
  • 查看/var/log/message日志文件,分析对应时间点前后是否存在硬件报错或内存溢出OOM等信息。
  • 查看/var/crash/目录下是否有相关错误日志。
  • 请确认物理机关闭CPU C-state配置。

    可通过cat /proc/cpuinfo | grep 'cpu MHz' | awk -F " " '{print $4}'命令确认开启状态。若CPU频率一致,则表示已关闭,否则CPU可能进入深度睡眠导致系统crash。

  • 登录物理机IPMI带外管理页面,查看物理机是否硬件故障报错。

物理机维护模式和停用有什么区别?

功能说明

  • 维护模式:
    • 若物理机进入维护模式,可对物理机进行停机、故障修复等操作。
    • 若进入维护模式的物理机主存储为本地存储,则云平台将停止所有运行在该物理机的云主机。
    • 若进入维护模式的物理机主存储为共享存储,云主机将自动迁移至其他物理机。
  • 停用:
    • 物理机停用后,该物理机上原有资源不受影响,但申请新资源时不可作为候选物理机。

如何在物理机上修改管理IP地址?

解决方案

操作步骤

  1. 将该物理机上的云主机关闭或迁移至其他物理机。
  2. 设置该物理机为维护模式。
  3. 登录至物理机操作系统。
  4. 修改管理网卡配置文件。
    # 假定修改bond1管理IP地址
    [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-br_bond1
    # IPADDR为修改后的IP地址
    IPADDR=192.168.0.1
  5. 使用service network restart命令重启网络服务。
  6. 登录云平台,点击资源中心 > 硬件设施 > 计算设施 > 物理机,进入物理机界面。选择物理机进入其详情页,修改物理机IP地址。
  7. 启用物理机。

如何升级物理机网卡驱动?

解决方案

操作步骤

    本文以3.10.0-957.27.2.el7.x86_64内核版本为例介绍升级步骤:

  1. 进入物理机系统,查看当前物理机网卡驱动版本。
    [root@localhost ~]# modinfo ixgbe |grep -v alias
  2. 下载官方升级版本的网卡驱动。
  3. 备份旧驱动:
    [root@localhost ~]# cp /lib/modules/3.10.0-957.27.2.el7.x86_64/kernel/drivers/net/ethernet/intel/ixgbe/ixgbe.ko.xz /root/ixgbe.ko.xz_lod
  4. 替换旧驱动:
    [root@localhost ~]# cp /root/ixgbe.ko.xz /lib/modules/3.10.0-957.27.2.el7.x86_64/kernel/drivers/net/ethernet/intel/ixgbe/ixgbe.ko.xz
  5. 检查依赖:
    [root@localhost ~]# depmod -a
  6. 备份initramfs文件:
    [root@localhost ~]# mv /boot/initramfs-3.10.0-957.27.2.el7.x86_64.img /boot/initramfs-3.10.0-957.27.2.el7.x86_64.img_bak
  7. 重构initramfs文件:
    [root@localhost ~]# cp /root/ixgbe.ko.xz /lib/modules/3.10.0-957.27.2.el7.x86_64/kernel/drivers/net/ethernet/intel/ixgbe/ixgbe.ko.xz
  8. 重启物理机:
    [root@localhost ~]# sync && sync && shutdown -r now

如何给物理机配置多个时间源服务器?

解决方案

操作步骤

    可尝试参考以下步骤为物理机配置多个时间源服务器:

  1. 进入管理节点系统,修改zstack.properties配置文件,增加以下参数指定时间源服务器IP:
    [root@localhost ~]# vim /usr/local/zstack/apache-tomcat/webapps/zstack/WEB-INF/classes/zstack.properties
    ...
    chrony.serverIp.0 = X.X.X.X
    chrony.serverIp.1 = X.X.X.X
    chrony.serverIp.2 = X.X.X.X       //X.X.X.X为各个时间源服务器IP地址
  2. 重启管理节点服务使配置生效:
    [root@localhost ~]# zstack-ctl restart_node
  3. 确认时间是否同步,输出为*表示时间同步正常:
    [root@localhost ~]# chronyc sources -v

物理机断电重启进入grub模式,怎么办?

原因

物理机异常断电造成云主机/boot/grub2/grub.cfg文件丢失,系统无法启动,进入grub>模式。

解决方案

操作步骤

    可在grub页面通过以下步骤解决:

  1. 在grub模式下输入ls命令查询分区。使用ls (hd0,gpt1)/grub2ls (hd0,gpt2)/grub2命令查询grub2目录所在分区,即boot分区。返回值为device.map i386-pc/ locale/ fonts/ grubenv即为正确分区。
    grub> ls (hd0,gpt1)/grub2
  2. 设置系统分区:
    grub> set root=(hd0,gpt1)
  3. 挂载根设备 (将boot分区设置为启动分区,其中系统位置根据实际情况确定可以找到正常的物理机查看):
    grub> linuxefi /vmlinuz-3.10.0-957.27.6.da38eal.el7.x86_64 root=/dev/sde3  ///dev/sde3为原先/分区挂载点,可以通过其他正常的物理节点来判断
  4. 指定初始化镜像:
    grub> initrdefi /initramfs-3.10.0-957.27.6.da38eal.el7.x86_64.img
  5. 启动系统:
    grub> boot
  6. 系统启动后,按照如下步骤修复efi分区:
    # 生成grub.cfg文件
    [root@localhost ~]# grub2-mkconfig -o /root/grub.cfg
    # 卸载efi分区,以便重新挂载将只读权限
    [root@localhost ~]# umount /boot/efi
    # 重新挂载efi分区,将只读权限更新为读写权限
    [root@localhost ~]# mount /dev/sde1 /boot/efi
    # 把新生成的grub.cfg替换原损坏的grub.cfg
    [root@localhost ~]# mv /root/grub.cfg /boot/efi/EFI/helix/grub.cfg

集群添加物理机后,出现“libvirt/qemu版本不一致”报错,怎么办?

原因

ZStack Cloud 4.3.12版本开始,云平台Qemu版本已升级至4.2.0。管理节点升级后,对应Repo中Qemu版本会升级至4.2.0,集群中新添加的物理机的Qemu版本也会升至4.2.0,但已有的作为计算节点的物理机Qemu版本不会自动升级,从而导致集群中物理机Qemu版本不一致。

解决方案

操作步骤

    可通过升级集群中已有物理机Qemu版本解决。升级不影响在线业务,升级过程中,不要重连或重启物理机。升级步骤如下:

  1. 进入管理节点系统,关闭云主机全局高可用,同时备份数据库。
  2. 使用以下CLI命令执行物理机Qemu版本升级:
    # 进入cli命令
    [root@localhost ~]# zstack-cli
    # 登录cli,默认用户名密码为:admin/password
    admin>>> LogInByAccount accountName=admin password=password
    # 启用zstack.experimental repo源
    admin>>> UpdateGlobalConfig category=cluster name=zstack.experimental.repo value=true
    # 获取目标集群UUID
    admin >>>QueryCluster
    # 升级集群中物理机Qemu版本
    admin >>>UpdateClusterOS updatePackages=qemu-kvm-ev uuid=ee3e56c0ddf14e61a16681f19754644b  // uuid为目标集群UUID
    # 查询升级进度,当‘state’返回Succeeded升级完成
    admin >>>QueryLongJob uuid=a37a925c3fa7439897eb500bfe8d95bb  // uuid为升级任务的UUID
    Note: 物理机Qemu版本升级完成后,重连物理机即可生效。运行中云主机需要重启/迁移后方可生效,请提前确认好重启或迁移窗口时间,确保不影响业务。

物理机修改业务网卡名称后重启,网卡名称会还原且乱序,如何解决?

解决方案

操作步骤

    可通过以下步骤解决:

  1. 修改grub.cfg文件的kernel配置,增加net.ifnames=0 biosdevname=0
    # 查看修改后的grub.cfg文件
    cat /boot/grub2/grub.cfg
          ... crashkernel=auto rhgb quiet LANG=en_US.UTF-8 net.ifnames=0 biosdevname=0
  2. 确认物理机未修改名称的业务网卡名称,进入对应网卡的配置文件/etc/sysconfig/network-scripts/ifcfg-$xx,将文件中记录的网卡名字和MAC地址对应的关系添加至/etc/udev/rules.d/70-persistent-net.rule文件。
  3. 重启物理机以使配置生效。

物理机外接设备无信息,如何解决?

解决方案

操作步骤

  1. 点击资源中心 > 硬件设施 > 计算设施 > 物理机,进入物理机界面。选中物理机进入详情页,检查物理机IOMMU启用状态IOMMU就绪状态
  2. 手动开启物理机IOMMU,并重启物理机。
  3. 等待物理机重连成功,IOMMU状态就绪,可以正常识别外接设备。

物理机SSH失败,如何解决?

现象

物理机SSH失败,出现This key is not known by any other names报错。

原因

重装物理机或物理机重新生成密钥,导致密钥发生改变。

解决方案

进入/root/.ssh/known_hosts配置文件内,找到对应的物理机记录并删除,即可正常SSH连接。

物理机内存占用过大,怎么办?

原因

buffer/cache值过大,未进行释放。

解决方案

操作步骤

  1. 使用sync命令将存于buffer中的数据强制写入硬盘。
  2. 在物理机系统内依次执行以下命令,释放缓存空间:
    [root@localhost ~]# echo 1 > /proc/sys/vm/drop_caches;
    [root@localhost ~]# echo 2 > /proc/sys/vm/drop_caches;
    [root@localhost ~]# echo 3 > /proc/sys/vm/drop_caches

如何关闭物理机swap交换分区?

解决方案

操作步骤

  1. 在物理机系统中执行以下命令,查看具体swap分区信息和内存磁盘使用情况:
    [root@localhost ~]# free -m
  2. 在云平台中将该物理机上的全部云主机迁移至其他物理机,确保没有数据写入swap分区。
  3. 执行以下命令,关闭swap分区:
    [root@localhost ~]# swapoff -a
  4. /etc/fstab文件中注释swap分区挂载信息。
  5. 修改/etc/sysctl.conf配置文件,加入vm.swappiness=0
  6. 执行以下命令使配置永久生效:
    [root@localhost ~]# sysctl -p

物理机失联又自动恢复,如何解决?

原因

sshd服务最大会话数达到上限。

解决方案

操作步骤

  1. SSH登录至该物理机,进入/etc/ssh/sshd_config文件编辑配置,将最大会话数MaxSessions参数的缺省值由10修改为50。
  2. 执行以下命令,重启sshd服务:
    [root@localhost ~]# systemctl restart sshd.service

云平台添加新节点提示qemu版本不一致,如何解决?

原因

原平台由旧版本升级导致。

解决方案

操作步骤

  1. SSH登录至管理节点。
  2. 执行以下命令,开启zstack-cli会话:
    [root@localhost ~]# zstack-cli
  3. 执行以下命令,登录zstack-cli:
    admin >>> LogInByAccount accountName=admin password=$password  //密码为平台admin用户密码
  4. 执行以下命令,升级集群qemu版本:
    admin >>> UpdateClusterOS uuid=$集群uuid updatepackage=qemu-kvm-ev
  5. 重连集群内所有物理机。

Multipath.conf文件修改后被还原,如何解决?

原因

Multipath配置文件由管理节点管控,默认无法修改。

解决方案

操作步骤

  1. SSH连接至管理节点。
  2. 执行以下命令,开启zstack-cli会话:
    [root@localhost ~]# zstack-cli
  3. 执行以下命令,登录zstack-cli:
    admin >>> LogInByAccount accountName=admin password=$password  //密码为平台admin用户密码
  4. 执行以下命令,修改配置:
    admin >>>UpdateGlobalConfig category=storageDevice name=enable.multipath value=false
  5. 重连所有物理机。

AMD GPU显卡虚拟化切割出现报错,如何解决?

原因

物理机操作系统中缺少gim显卡驱动时,将导致进行AMD GPU显卡虚拟化切割时出现failed to remove gim.ko , modprobe: FATAL: Module gim not found报错。

解决方案

操作步骤

  1. 执行以下命令下载并编译驱动:
    [root@localhost ~]# wget https://github.com/GPUOpen-LibrariesAndSDKs/MxGPU-Virtualization/archive/master.zip
    [root@localhost ~]# unzip master.zip
    [root@localhost ~]# cd MxGPU-Virtualization-master
    [root@localhost ~]# make
  2. 执行以下命令拷贝gim.ko文件:
    [root@localhost ~]# cp gim.ko /lib/modules/3.10.0-693.11.1.el7.x86_64/
  3. 执行以下命令加载驱动:
    [root@localhost ~]# demod
    [root@localhost ~]# modeprobe gim
  4. 重新执行GPU虚拟化切割。

USB设备无法识别,如何解决?

原因

可能是由于开启了华为KVM虚拟键鼠连接。

解决方案

操作步骤

  1. SSH登录至问题物理机。
  2. 执行lsusb命令检查USB设备,检查是否存在华为KVM类型的USB设备。
  3. 执行以下命令,查看USB设备详情,检查是否存在error信息:
    [root@localhost ~]# lsusb -v -d  $ID号  //步骤2查到的对应ID号
  4. 确认后登录华为IBMC管理界面,取消勾选虚拟键盘、鼠标持续连接选项。
    图 1所示:
    图 1. 取消勾选虚拟键盘鼠标持续连接


  5. 重连物理机。

物理机失联,如何解决?

现象

物理机失联,出现no qemu-kvm-ev-mn repo found, cannot update kvmagent dependencies报错。

原因

物理机异常断电导致文件丢失。

解决方案

从正常物理机中拷贝/etc/yum.repos.d/qemu-kvm-ev-mn文件至故障物理机后,重连物理机。

物理机hang住,如何通过netconsole排查?

现象

物理机经常hang住,无法获取message、crash等日志,此场景可通过配置netconsole将内核日志发送到管理节点,进而分析hang的原因。

原因

物理机hang住后,无法获取message、crash等日志 。

解决方案

操作步骤

    通过配置netconsole将内核日志发送到管理节点,进而分析hang住原因。

  1. 配置/etc/sysconfig/netconsole文件
    在发送端物理机/etc/sysconfig/netconsole文件中添加以下参数:
    #接收端IP
    SYSLOGADDR=192.X.X.X
    #端口
    SYSLOGPORT=5888
    #接收端MAC地址
    SYSLOGMACADDR=b4:05:5d:aXXXX
  2. 重启发送端物理机netconsole服务
    systemctl restart netconsole
  3. 设置netconsole服务开机自启
    systemctl enable netconsole
  4. 设置514属性:需要监听接收udp端口
    在接收端/etc/rsyslog.conf文件取消‘$ModLoad imudp’和‘$UDPServerRun 514’注释,修改514为监听接收udp端口,执行:
    sed -i 's/^#$Mod.*udp$/$ModLoad imudp/g;s/^#$UDP.*/$UDPServerRun 5888/g'/etc/rsyslog.conf
  5. 重启接收端物理机rsyslog服务
    systemctl restart rsyslog
  6. 检查是否正常监听指定端口
    lsof -i:5888
  7. 在接收端查看message日志是否输出发送端系统日志
    tail -f /var/log/message

物理机root密码为弱密码,怎么办?

原因

集群节点root密码为弱密码。弱密码易发生中毒、环境被攻击等情况,需及时调整。

解决方案

操作步骤

  1. 点击资源中心 > 硬件设施 > 计算设施 > 物理机,进入物理机界面。点击操作 > 更新密码,更新root密码为最新密码。
  2. 点击资源中心 > 硬件设施 > 存储设施 > 主存储,进入主存储界面,点击主存储详情页的监控节点子页面。点击修改SSH密码更新监控节点root密码为最新密码。
  3. 点击资源中心 > 硬件设施 > 存储设施 > 镜像服务器,进入镜像服务器界面。点击操作 > 更新密码,更新root密码为最新密码。

物理机一直处于连接中,怎么办?

物理机一直处于连接中一般有以下五种原因,可根据原因分类,尝试参考解决方案进行排查解决:

原因一

双管理节点授权容量不一致,导致物理机一直处于连接中。

解决方案

操作步骤

  1. 登录双管理节点,执行以下命令清理授权:
    [root@localhost ~]# zstack-ctl clear_license
  2. 通过虚拟IP登录云平台,点击许可证管理界面右上角的上传许可证,弹出上传许可证界面,将获得的新许可证由本地上传即可。

原因二

物理机系统根磁盘写满。

解决方案

操作步骤

  1. 登录物理机,执行以下命令检查物理机磁盘使用情况:
    # 检查根目录使用情况
    [root@localhost ~]# du -sh
    # 检查根目录详细使用情况
    [root@localhost ~]# du -h / --max-depth=1
  2. 适当删除/var/log目录下的日志文件。
  3. 适当清理/var/lib/zstack/prometheus/data2目录下的大文件。该目录为云平台监控数据。

原因三

物理机底层修改过密码,未在UI界面同步更新密码。

解决方案

  • 登录云平台,点击资源中心 > 硬件设施 > 计算设施 > 物理机,进入物理机界面。选中物理机点击操作 > 更新密码
  • 在主存储中更新监控节点root密码。
  • 在镜像服务器中更新本地镜像服务器密码,若为ceph类型镜像服务器,需更新监控节点root密码。

原因四

管理节点队列问题。

解决方案

操作步骤

  1. 登录管理节点,依次执行以下命令,查看任务情况并判断有无卡队列现象,分析management-server.log日志,搜索DUMP关键字,查询当前的消息队列情况,检查PENDING TASK NUMBER中是否存在等待执行的任务。
    [root@localhost ~]# zstack-cli
    admin >>>LogInByAccount accountName=admin password=$password
    # 打开debug模式
    admin >>>DebugSignal signals=DumpTaskQueue
    admin >>>exit
  2. 执行以下命令,重启管理节点服务:
    # 判断管理节点模式,有输入为双管理节点
    [root@localhost ~]# zsha2 status
    # 单管理节点
    [root@localhost ~]# zstack-ctl stop_node;zstack start_node
    # 双管理节点
    [root@localhost ~]# zsha2 stop-node;zsha2 start-node

原因五

物理机重连,出现Too many open files报错。可能是由于物理机打开的文件数过多。

解决方案

操作步骤

  1. 在物理机系统内修改/etc/security/limits.conf配置文件,执行以下命令添加如下内容:
    [root@localhost ~]# vim /etc/security/limits.conf
    * soft nofile 262144
    * hard nofile 262144
    * soft nproc 10240
    * hard nproc 10240
  2. 执行ulimit -n 262144命令,使其临时生效。依次执行以下命令:
    [root@localhost ~]# kill -HUP `pgrep collectdmon`
    [root@localhost ~]# service virtlogd restart
    [root@localhost ~]# service libvirtd restart
    [root@localhost ~]# service zstack-kvmagent restart
    

物理机频繁失联后重连,怎么办?

原因

同一台物理机被多个云平台添加管控。

解决方案

在被错误添加的云平台中,确认该物理机上没有资源正在使用,点击进入维护模式后删除该物理机。

物理机无法识别GPU设备,怎么办?

现象

物理机无法识别GPU设备,IOMMU就绪状态显示不可用。

原因

开启IOMMU后未重启物理机。

解决方案

操作步骤

  1. 迁移该物理机上的所有云主机至其他物理机。
  2. 点击资源中心 > 硬件设施 > 计算设施 > 物理机,进入物理机界面。选中物理机点击操作 > 进入维护模式
  3. 登录该物理机,执行以下命令重启物理机:
    # 确认该物理机上没有云主机运行
    [root@localhost ~]# virsh list
    [root@localhost ~]# sync;sync;reboot

物理机修改chrony.conf配置后会重置,怎么办?

原因

重连物理机管理节点会更新chrony.conf配置文件。

解决方案

操作步骤

  1. 登录物理机系统,执行以下命令,停止管理节点服务:
    # 确认是否为双管理服务
    [root@localhost ~]# zsha2 status
    # 停止管理服务
    [root@localhost ~]# zsha2 stop-node
  2. 依次执行以下命令,修改双管理节点配置文件,修改chrony.serverIp.0 = IP
    # 备份配置文件
    [root@localhost ~]# cp -a /usr/local/zstack/apache-tomcat/webapps/zstack/WEB-INF/classes/zstack.properties /root/zstack.properties.bak
    # 编辑配置文件
    [root@localhost ~]# vim /usr/local/zstack/apache-tomcat/webapps/zstack/WEB-INF/classes/zstack.properties
  3. 执行以下命令,启动双管理节点服务:
    [root@localhost ~]# zsha2 start-node
  4. 点击资源中心 > 硬件设施 > 计算设施 > 物理机,进入物理机界面。选中物理机,点击操作 > 重连重新连接物理机。

物理机执行chronyc sources -v命令出现报错,怎么办?

现象

物理机执行chronyc sources -v命令,出现libedit.so.0: cannot open shared object file: No such file or directory报错。

原因

物理机缺少libedit依赖包。

解决方案

登录物理机,执行以下命令手动安装libedit包:
[root@localhost ~]# yum --disablerepo=* --enablerepo=zstack-local install -y libedit

物理机无法识别多路径,怎么办?

现象

登录物理机执行multipath -ll命令,无法识别多路径。

原因

物理机多路径配置文件异常。

解决方案

操作步骤

  1. 检查该物理机/etc/multipath.conf文件是否与正常物理机存在差异。
  2. 在物理机系统内执行以下命令,从正常物理机中拷贝/etc/multipath.conf多路径配置文件至故障物理机:
    [root@localhost ~]# scp /etc/multipath.conf root@IP:/etc/

物理机网口状态为down,怎么办?

原因

可能是由于物理机硬件故障、光模块或网卡故障。

解决方案

操作步骤

  1. 登录物理机,执行以下命令检查系统日志是否存在异常:
    [root@localhost ~]# dmesg -T |grep -i error|failed
    [root@localhost ~]# vim /var/log/message
  2. 登录服务器带外管理页面,检查带外管理是否存在硬件告警。
  3. 经上述检查,若存在硬件故障,可参考标准下电流程进行下电更换。

物理机时间不同步,怎么办?

原因

物理机未配置时间源或时间源时间不正确。

解决方案

操作步骤

  1. 若使用内部NTP时间服务器,内网环境可使用管理节点作为内部时间源。此设置需确保管理节点时间准确,若时间不同步,可使用date命令更新时间源时间,其他节点将自动同步。请依次执行以下命令:
    # 检查时间源节点
    [root@localhost ~]# zstack-ctl show_configuration | grep chrony
    # 假定修改时间为2022年7月25日21:00
    [root@localhost ~]# date -s "2022-07-25 21:00:00"
  2. 若使用外部NTP时间服务器,推荐管理节点同步外部时间源,集群内其他物理机统一向管理节点同步时钟。设置外部NTP服务器时需与管理节点网络互通,若使用域名方式同步管理节点需配置DNS。请依次执行以下命令:
    # 检查时间源节点
    [root@localhost ~]# zstack-ctl show_configuration | grep chrony
    # 登录时间源节点,在chrony.conf文件添加外部NTP地址
    [root@localhost ~]# vim /etc/chrony.conf
    server 172.31.250.111 iburst
    allow 0.0.0.0/0
    # 重启chronyd服务
    [root@localhost ~]# systemctl restart chronyd.service
    # 检查时间同步是否生效
    [root@localhost ~]# chronyc sources -v

物理机没有监控数据,怎么办?

原因

管理节点到问题物理机监控所使用的端口9092未放行。

解决方案

操作步骤

  1. 登录至问题物理机,执行以下命令检查9092端口是否被监听:
    [root@localhost ~]# netstat -tunlp | grep 9092
  2. 登录至管理节点,执行以下命令检查管理节点与问题物理机9092端口连通性,并放行9092端口:
    [root@localhost ~]# curl -v IP:9092

如何手动切换Bond主备网卡?

解决方案

操作步骤

  1. 执行以下命令,确认当前主网卡,查看主备网卡状态是否均为up:
    [root@localhost ~]# cat /proc/net/bonding/bond0  //bond0为环境bond名称
  2. 执行以下命令切换主备网卡:
    [root@localhost ~]# ifenslave -c bond0 eth0  //bond0为环境bond名称,eth0为bond中备网卡名称

物理机上执行zs-show-network报错xrealloc: cannot allocate xxx bytes,怎么办?

现象

物理机上执行zs-show-network,提示"xrealloc: cannot allocate xxx bytes"。

原因

bond名称过长,bond名称最多12位。

解决方案

删除名称过长的bond,重建bond。重建bond需将该物理机上的所有云主机迁移走后再进行操作。

物理机上执行df -h卡住,怎么办?

现象

物理机上执行df -h卡住。

原因

系统内部存在失效的挂载。

解决方案

使用mount 显示已有挂载,mount -l取消即可正常。

物理机安装操作系统时报错Warning:dracut-initqueue timeout - starting timeout script,怎么办?

现象

在物理机上安装操作系统时报错:Warning:dracut-initqueue timeout - starting timeout script

原因

镜像刻录软件制作的启动盘的名称与vmlinuz的配置信息不一致。

解决方案

操作步骤

  1. 物理机报错,再等待一段时间之后会进入Dracut 界面。输入以下命令查询设备信息,记录U盘所属的sdbx:
    dracut# cd /dev
    #查询所有设备信息
    dracut# ls 
  2. 输入以下命令重启:
    dracut# reboot
  3. 重启之后在install界面按下e 键修改以下内容:
    vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=Helixx207x20x86_64.check quiet
    vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdb4 nomodeset quiet
  4. 修改完后按CTRL+X键重启物理机即可。

在部署网络环境的时候为什么一定要配置网桥呢?不配置有什么影响?

功能说明

  • 建议把管理网络IP地址配置在br_bond0网桥上。将IP地址配置在网桥上便于网络扩容。如果没有将IP地址配置在网桥上,那么基于bond0下发一个网络时会自动创建网桥,可能会出现bond0上IP地址丢失、管理网络中断等情况。
  • 对于业务bond1,不需要直接在br_bond1上配置IP地址,平台下发网络资源时,自动基于bond1创建网桥。对于VXLAN网络场景,VTEP IP地址不建议配置在网桥上,建议配置在VLAN子接口,性能更佳。
  • 配置网桥后,报文转发需经过网桥。网桥相当于一个虚拟交换机,可以动态学习MAC地址,会根据MAC地址表进行报文处理。

物理机连接交换机需要从Access模式切换为Trunk模式,在云平台上需要怎么调整?

解决方案

操作步骤

  1. 协议业务低谷期间,停止业务后再进行网络变更。
  2. 交换机配置完毕后,在ZStack Cloud主菜单,点击资源中心 > 云资源池 > 虚拟资源 > 云主机 ,在云主机详情页点击右上角导出按钮导出记录云主机IP地址和MAC地址的csv文件。
  3. 卸载云主机的网卡。
  4. 删除三层网络和二层网络
    Note: 删除三层网络和二层网络之前确保已记录三层网络和二层网络的网段信息。
  5. 重新添加二层网络和三层网络。
  6. 为云主机加载网卡,并指定网卡的IP地址和MAC地址。
    Note: 加载网卡需要先将云主机停止,并提前记录云主机的网卡的IP地址和MAC地址,如果云主机加载多张网卡需要单独记录每张网卡的IP地址和MAC地址。

物理机上USB设备3.2版本被识别为2.1版本,怎么解决?

现象

USB设备3.2版本在物理机上被识别为2.1版本。

原因

物理机BIOS里未开启USB3.0支持。

解决方案

操作步骤

  1. 登录物理机,执行lsusb命令检查物理机是否正常识别USB设备。
  2. 确认物理机的USB插口是否正确。
  3. 将物理机上的云主机迁移后,重启物理机并检查物理机的BIOS配置是否开启USB3.0支持。
    图 2图 3所示:
    图 2. 检查USB配置1


    图 3. 检查USB配置2


  4. 将XHCI USB3.0 Port设置为Enable后,物理机正常识别USB设备版本。

添加物理机失败,报错:pip uninstall -y virtualenv failed!,怎么办?

现象

在云平台上添加物理机时出现以下报错信息:
stderr: ERROR: [ HOST: xx.xx.xx.xxx] ERROR: run shell command: pip uninstall -y virtualenv failed!stdout:  error: Cannot uninstall requirement virtualenv, not installed 

解决方案

操作步骤

  1. 登录添加失败的物理机控制台,执行以下命令:
    # mn_ip为管理节点的VIP。
    pip install -i http://{mn_ip}:8080/zstack/static/pypi/simple --trusted-host {mn_ip} --ignore-installed virtualenv
    
  2. 登录云平台重新添加物理机即可成功安装物理机。

忘记物理机密码,如何重置新密码?

解决方案

操作步骤

  1. 重启物理机,登录物理机控制台。在选择内核界面,按e键进入编辑模式。
    图 4所示:
    图 4. 选择内核界面


  2. 在编辑模式内,将ro修改为rw,在UTF-8文本后面添加rd.break
    图 5所示:
    图 5. 编辑模式


  3. 在编辑模式内,同时按下Ctrl和x键,进入底层编辑。
  4. 执行以下命令,设置新密码。在此场景下,westos为新配置的密码:
    #进入shell模式
    chroot /sysroot/
    #设置新密码
    echo westos | passwd --stdin root
    #建立新的SELinux安全脉络
    touch /.autorelabel
    #退出shell模式
    exit
    #退出编辑模式
    exit

人为操作Ctrl+Alt+Del组合键导致物理机失联,怎么办?

现象

物理机失联,message日志显示接入虚拟USB设备,收到Received SIGINT。

原因

人为使用Ctrl+Alt+Del组合键。

解决方案

  • 修改系统配置文件,禁止Ctrl+Alt+Del组合键使用。
    1. 以root身份登录物理机控制台。
    2. 执行vi /etc/systemd/system/ctrl-alt-del.target命令进入编辑模式,修改ctrl-alt-del.target文件。
    3. 在ctrl-alt-del.target文件中添加以下内容:
      [Unit]
      Description=Disable Ctrl-Alt-Del
      
      [Service]
      ExecStart=/bin/true
      Type=oneshot
      
      [Install]
      WantedBy=multi-user.target
    4. 保存修改内容并退出文件编辑模式。
    5. 执行systemctl daemon-reload命令以重新加载systemd配置。
    6. 执行systemctl mask ctrl-alt-del.target命令禁用ctrl-alt-del.target。
    7. 重启系统使更改生效。
      Note: 重启云主机需注意是否影响业务。
  • 安全培训:对运维人员进行相关培训,禁止随意使用Ctrl+Alt+Del组合键,避免误操作导致物理机失联。
  • 物理保护:对物理机进行保护。通过安装机柜门锁、监控摄像头等设备,防止未经授权的人员随意操作物理机。
常见问题解答(FAQ) | 5.4.12 | ZStack Cloud · ZCF | ZStack 资源中心