XenServer安装与运维二

标签: Xenserver 分类: 软件 创建时间:2020-04-11 05:02:30 更新时间:2023-10-20 11:23:26

接第一篇文章 XenServer安装与运维,继续写第二篇XenServer的管理与运维。

1.安装XenServer Tools

XenServer Tools 提供高性能 I/O 服务,而没有传统设备仿真的开销。XenServer Tools 由 I/O 驱动程序(也称为半虚拟化的驱动程序或 PV 驱动程序)和管理代理组成。

我在虚拟机管理列表中右键单击和在XenClinet的菜单栏中的VM上,Install XenServer Tools都没有或者都是灰色的,不能点击。

后来我在虚拟机的Storage选项中的DVD Drive中找到了一个guest-tool.iso,进行了挂载。

然后登录虚拟机,找到这个ISO,点击里面的Setup进行安装。

2.更换网卡

因为服务器要更换,所以就把原有服务器上的m2接口的ssd拿下来了,加上一块机械硬盘,都迁移到了一台新的电脑上了。虽然系统能启动起来了,但是即便是插上网线还是无法链接网络,那就没办法从远程进入启动的虚拟机了,这个时候,我猜测是网卡的问题。

(1) 根据参考文章,我执行了xe pif-forget,出现唯一接口问题,无法删除,于是我先执行了 host-management-disable,然后再执行了 forget命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
## 禁用管理接口
xe host-management-disable
## 列出使用的uuid,
xe pif-list

## 删除使用的uuid
xe pif-forget uuid=上一步出现的uuid

## 查询MAC地址,我执行这一步的时候,没有 HWaddr 这个选项,只有eth1 flags ether之类的东西我就把这个ehter作为网卡使用了
ifconfig -a

## 找到服务器uuid
xe host-list

## 绑定新的网卡和地址
xe pif-introduce device=eth0 host-uuid=上一步的uuid mac=上一步的MAC地址

## 回到Network and Management InterFace界面,进行静态ip地址的配置

运行上面的步骤,我就小红鞋绑定了新的网卡。其实根据参考资料我还做了其他的无用的工作,比如下面的步骤,但是实际上,我用上面的就可以完成配置了,因为我的不是eth0而是eth1网卡

1
2
3
4
5
6
## 编辑eth0
vi /etc/sysconfig/network-scripts/ifcfg-eth0
## 启动eth0,但是总是失败,因为我使用ifconfig -a 查询的只有eth1
ifup eth0
## 重新扫描
xe pif-scan host-uuid=xxxx
参考文章:
1.XenServer更换网卡的处理办法 (使用了NIC重新进行MAC地址的方法,这里删除的是network-uuid,但是参考文章删除的是uuid)
2.Xenserver网卡丢失的解决方案 (有两种原因造成的,使用命令行模式进行解决,第一种服务器过程断电,解决方法输入service xapi restart或xe-toolstack-restart命令重启xapi服务)
3.解决XenServer服务器更换主板后,无法找到网卡! (登陆服务器命令行,找到老的MAC地址,删除地址,找到新的MAC地址,然后绑定新的地址,这个挺详细的,可是尝试下)
4.XenServer命令行指南 (命令行使用方法,比如:xe <命令> <参数> <参数>)
5.命令行接口 (这是官网的关于命令行的使用,xe 命令行接口安装在所有 Citrix Hypervisor 服务器上并包含在 XenCenter 中,也就是在虚拟机上,也是可以使用xe命令的,不过)
6.How to Replace a Network Interface Card in a XenServer Host (官方文档关于切换管理接口的说明)
7.Manage networking (官网管理网络这一章)
9.Linux系统之查看网卡的ip地址ifconfig命令 (ifconfig网络管理和查看)

3.The host does not have enough pCPUs to run the VM

更换了主板之后,替换了网卡,打开虚拟机的时候出现了:xenserver-ctvmxnra The host does not have enough pCPUs to run the VM. It needs at least as many as the VM has vCPUs.(主机没有足够的pCPU来运行VM。它至少需要与虚拟机具有vCPU的数量相同。) 这句话的意思其实应该是虚拟核心数超过了物理核心数。官方有这么一段话:

Citrix recommends that you do not run a VM with more virtual CPUs (vCPUs) than the number physical CPUs (pCPUs) available on the XenServer host.
The number of pCPUs available to XenServer can change even after the installation of VMs. For example, through actual hardware changes, changes in the BIOS setting, or other software configurations. VMs with vCPUs that cannot be matched to pCPUs may need to be adjusted in order to maintain stability.
1
2
3
4
5
6
7
8
9
## 命令行查看物理核心数
xe host-cpu-info
## 列出每一个虚拟机的uuid和cpu数量
xe vm-list params=uuid,name-label,VCPUs-max
## 重新设置虚拟机的cpu数量
xe vm-param-set uuid=<vm-UUID> VCPUs-max=<8>

## 禁用超量保护
xe vm-param-set uuid=<uuid> platform:vcpu-unrestricted=true

我通过命令行,无法修改vm的虚拟机cpu数量,总是提示:The value given is invalid,field:VCPU values must satisfy:0 < VCPUs_at_startup <= VCPUS_max,于是我通过XenClient重新设置了虚拟机的CPU数量,将原本设置的8个cpu,改为了一个cpu。

4.导出虚拟机

导出虚拟机其实挺简单的,就是在XenCenter中右键选中某一个虚拟机,然后选择导出就可以了,可以选择xva格式或者是ovf/vhd格式。

主要问题,其实是导出之后,如果加载到Hyper-V中。

参可文章:
1.关于 VM 导入和导出
2.Migrate XenServer VMs to HyperV (这篇文章讲了如何从XenServer迁移到HyperV)
3.Migrating from XenServer 7.0 to Hyper-V 2016 Server (这里是一个英文讨论贴,根据我粗略的英文来看,提问者也遇到了和我一样的问题,就是导出vhd格式之后,在hyper-v中启动会蓝屏)
4.关于导出XenServer底层VHD磁盘的方法 (这里直接从XenServer的底层中导出vhd格式,但是我估计也会出现蓝屏问题)

小额赞助
本人提供免费与付费咨询服务,感谢您的支持!赞助请发邮件通知,方便公布您的善意!
**光 3.01 元
Sun 3.00 元
bibichuan 3.00 元
微信公众号
广告位
诚心邀请广大金主爸爸洽谈合作
每日一省
isNaN 和 Number.isNaN 函数的区别?

1.函数 isNaN 接收参数后,会尝试将这个参数转换为数值,任何不能被转换为数值的的值都会返回 true,因此非数字值传入也会返回 true ,会影响 NaN 的判断。

2.函数 Number.isNaN 会首先判断传入参数是否为数字,如果是数字再继续判断是否为 NaN ,不会进行数据类型的转换,这种方法对于 NaN 的判断更为准确。

每日二省
为什么0.1+0.2 ! == 0.3,如何让其相等?

一个直接的解决方法就是设置一个误差范围,通常称为“机器精度”。对JavaScript来说,这个值通常为2-52,在ES6中,提供了Number.EPSILON属性,而它的值就是2-52,只要判断0.1+0.2-0.3是否小于Number.EPSILON,如果小于,就可以判断为0.1+0.2 ===0.3。

每日三省
== 操作符的强制类型转换规则?

1.首先会判断两者类型是否**相同,**相同的话就比较两者的大小。

2.类型不相同的话,就会进行类型转换。

3.会先判断是否在对比 null 和 undefined,是的话就会返回 true。

4.判断两者类型是否为 string 和 number,是的话就会将字符串转换为 number。

5.判断其中一方是否为 boolean,是的话就会把 boolean 转为 number 再进行判断。

6.判断其中一方是否为 object 且另一方为 string、number 或者 symbol,是的话就会把 object 转为原始类型再进行判断。

每日英语
Happiness is time precipitation, smile is the lonely sad.
幸福是年华的沉淀,微笑是寂寞的悲伤。