XenServer 8.0 是 Citrix 推出的开源服务器虚拟化平台,基于 Xen Hypervisor 技术构建。主要面向企业级用户,用于管理 windows 和 Linux 虚拟机,实现服务器整合、业务连续性保障及资源灵活调度。其核心目标是降低 IT 基础设施成本,同时提升数据中心的可靠性和性能。
软件功能
1. 服务器整合:将多台物理服务器虚拟化为逻辑资源池,减少硬件依赖,降低能耗与空间占用。
2. 实时迁移:支持虚拟机在不同物理主机间无缝迁移,维护时无需中断服务。
3. 资源池管理:动态分配 cpu、内存、存储等资源,优化工作负载分布。
4. 多存储支持:兼容 NFS、iSCSI、FC 等存储协议,支持精简预配和共享存储。
5. 高可用性(HA):自动重启故障主机上的虚拟机,保障关键业务持续运行。
6. 性能监控:提供实时资源使用图表及历史报告,辅助容量规划和故障排查。
软件特色/亮点
1. 免费版本覆盖核心功能:标准版(Standard Edition)已包含资源池、实时迁移等企业级功能。
2. 高性能 Hypervisor:直接运行于硬件层,资源调度效率优于传统虚拟化方案。
3. 与 Citrix 生态深度集成:无缝支持 Citrix Virtual Apps/Desktops,简化混合云部署。
4. 可视化管理工具 XenCenter:图形界面支持批量操作、网络拓扑监控及一键更新。
5. 频繁更新机制:按需推送小版本补丁,修复漏洞速度优于竞品的季度发布模式。
6. 新硬件兼容性:支持 Windows 11、vTPM 安全芯片及第三代 AMD EPYC 处理器。
如何添加本地存储?
一、查询本地
磁盘,其中包含两个存储,其中是sda,另外一个是sdb
二、列出设备,发现Sda设备是正在使用的设备,sdb需要添加
三、添加另外一个磁盘,可以使用以下三条命令:
1.#xe sr-create content-type=user device-config:device=/dev/disk/by-id/
host-uuid=name-label=”Local Storage 2” shared=false type=lvm
2.#xe sr-create content-type=user device-config:device=/dev/disk/by-id/host-uuid=name-label=”Local Storage 2” shared=false type=lvm
3.#xe sr-create content-type=user device-config:device=/dev/host-uuid=name-label=”Local Storage 2” shared=false type=lvm

四、添加完成后,如图,图中多了一个本地设备:Local Storage 2
体系架构解析
1、Xen Hypervisor直接运行于硬件之上是Xen客户操作系统与硬件资源之间的访问接口。通过将硬件进行抽象,将相应的硬件CPU、内存的资源调度给上层的客户机使用。目前Xen Hypervisor并不直接操作IO硬件,不负责处理诸如网络、外部存储设备、
视频或其他通用的I/O处理
2、Domain 0运行在Xen管理程序之上,具有直接访问硬件和管理其他客户操作系统的特权的客户操作系统。Domain 0 在Xen中担任管理员的角色,它负责管理其他虚拟客户机。Domain 0上运行XAPI接口,是XenServer管理的核心,由一系列的toolstack组成,并提供给XenCenter进行使用。如上图,Domain 0中还运行了VNC软件,VNC是一款
远程访问的图形显示软件,将虚拟机的界面在XenCenter的控制台中进行显示,同时对于虚拟机的一些VNC显示所需的后端设备使用QEMU软件进行模拟,所以我们才能够在XenCenter中看见虚拟机的状态,其和我们使用的硬件KVM进行显示类似。同时,在上图中我们还看到,在Domain 0中包含两个
驱动程序,用于支持其他客户虚拟机对于网络和
硬盘的访问请求。这两个驱动分别是Network Backend Driver和Block Backend Driver。Network Backend Driver直接与本地的网络硬件进行
通信,用于处理来自Domain U客户机的所有关于网络的虚拟机请求。根据Domain U发出的请求,Block Backend Driver直接与本地的存储设备进行通信然后,将数据读写到存储设备上
3、DomainU运行在Xen管理程序之上的普通客户操作系统或业务操作系统,不能直接访问硬件资源(如:内存,硬盘等)。在上图我们可以看到,2台Domain U是不同的。在 XenServer 中,VM 可在以下两种模式之一中运行:半虚拟化 (PV) - 虚拟机内核使用特定代码,此代码在虚拟机管理程序上运行,以管理设备和内存。全虚拟化 (HVM) - 使用特定处理器功能“捕获”虚拟机执行的特权指令,以便可以使用未经修改的操作系统。为了访问网络和存储,会为虚拟机提供仿真设备,或者也可以出于性能和可靠性原因,使用 PV 驱动程序。无论是半虚拟化Domain U还是完全虚拟化Domain U,作为客户虚拟机系统,Domain U在Xen Hypervisor上运行并行的存在多个,他们之间相互独立,每个Domain U都拥有自己所能操作的虚拟资源(如:内存,磁盘等)。而且允许单独一个Domain U进行重启和
关机操作而不影响其他Domain U
4、管理接口XenServer中7.0的管理接口的和linux类似,都有GUI和CLI接口,GUI接口使用XenCenter进行实现,XenCenter通过https协议走443端口,和XPAI进行安全通信,并取得state.db里面的配置信息并在图形界面上显示出来,对于虚拟机的图形状态显示通过VNC软件进行控制台显示输出。CLI接口使用XE Shell命令实现。在使用CLI控制台是,在本地晕车CLI的Shell控制台,通过SSH的22端口连接到Domain 0的SSHD进行,其运行模式和我们使用putty登陆Linux系统进行运维管理并无区别
命令大全
一、监控检查类xentop-查看XenServer与VM的资源使用情况
xsconsole-进入XenServer管理面板(查看网卡,IP,系统版本,系统时间,硬件信息等)
xe task-list-查看XenServer临时任务进程
service --status-all-查看所有服务运行状态
二、通用监控检查命令pvs -- 查看物理卷
pvscan
vgdisplay
lvs -- 查看逻辑卷
lvscan
lvdisplay
rm -rf 目录/文件 --
强制删除目录/文件
fdisk -l -- 查看Linux硬盘信息(名称与分区等)
df -hal -- 查看Linux系统信息(系统空间,挂载信息等)
du -hcs 目录/文件 -- 查看该目录/文件的大小
du -hcs /var/log/ -- 查看日志文件大小
top -- 查看XenServer系统进程与负载情况
vi /etc/rc.local -- 查看系统启动任务
crontab -e -- 查看定时执行的任务
history -- 查看最近使用的命令
clear -- 清屏
curl
域名 -- 访问域名
三、系统操作类service xapi restart-重启XAPI服务(负载过高时慎用)
xe-toolstack-restart-重启XenServer所有服务(负载过高时慎用)
reboot-重启服务器
mount 逻辑卷 目录-将逻辑卷挂载到该目录(挂载后df -hal可查看)
umount 逻辑卷 目录-反挂载
lvremove-移除逻辑卷
四、XE SR操作类xe sr-list-显示所有物理存储(SR)信息
xe sr-list uuid="UUID" - 匹配SR的UUID显示SR信息
xe sr-list name-label="SR名称" - 匹配SR名称显示SR信息
1.删除SR操作(数据会丢失)
xe pbd-list sr-uuid="SR-UUID" -- 匹配SR的UUID找出对应的物理连接(PBD)信息
xe pbd-unplug uuid="PBD-UUID" -- 匹配PBD的UUID删除对应的PBD
xe sr-forget uuid="SR-UUID" -- 匹配SR的UUID遗忘对应的SR
2.创建物理存储(成功后原数据丢失)
xe sr-create name-label="自定义名称" shared=false device-config-device=/dev/sdb(设备名) type=lvm
五、XE VM操作类xe vm-start name-label="VM名称" -- 匹配VM名称执行VM
开机xe vm-reboot name-label="VM名称" -- 匹配VM名称执行VM重启
xe vm-shutdown name-label="VM名称" -- 匹配VM名称执行VM关机
xe vm-shutdown uuid="UUID" -- 匹配VM的UUID执行VM关机,以下同理
xe vm-start uuid="UUID"
xe vm-reboot uuid="UUID"
xe vm-list -- 显示所有VM信息
xe vm-list name-label="VM名称" -- 匹配名称显示VM信息
xe vm-list uuid="UUID" -- 匹配uuid显示VM信息
xe vdi-list -- 显示所有虚拟硬盘(VDI)信息
xe vdi-list vm-uuid="VM-UUID" -- 匹配VM的UUID显示VDI信息
xe vdi-list uuid="UUID" -- 匹配VDI的UUID显示VDI信息
xe vdi-list name-label="VDI名称" -- 匹配VDI名称显示VDI信息
xe vdi-forgrt uuid="UUID" -- 匹配VDI的UUID遗忘该VDI信息(srcan可找回)
六、端口映射类iptables -t nat -nvL -- 查看端口映射信息表
1.手动添加端口映射(重启后会丢失)
iptables -t nat -A PREROUTING -i eth0(网卡名) -p tcp -d 公网IP --dport 80(端口) -j DNAT --to-destination 映射IP:80
2.映射出口规则(重启后会丢失)
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
3.XenSystem_NAT_Server(
Nginx)
/etc/init.d/networking restart -- 重启网卡
vi /etc/resolv.conf -- 修改DNS
vi /etc/network/interfaces -- 查看NAT网卡配
常见问题解答
一、无法删除POOL里面的虚拟机?1.选中不能删除的虚拟机所在的物理机,在console下输入如下内容:
#xe host-forget uuid=
其中uuid的信息使用#xe host-list查看
查看虚拟机详细信息 xe vm-list params=all/(name-label,uuid,networks)
关闭虚拟机 xe vm-shutdown uuid=ext3-fs error (device xvda2) in start_transaction: journal has aborted
关闭halted/running虚拟机 xe vm-reset-powerstate force=true vm=uuid
删除虚拟机 xe vm-destroy uuid=
二、无法修改虚拟机的系统时间?修改 /etc/sysctl.conf 文件,添加
# Set independent wall clock
TIMe
xen.independent_wallclock=1
或disable掉Window Time Service
三、pool中的主节点master崩溃掉之后,xencenter无法连接pool下的所有xenserver主机?执行如下命令:#pool-emergency-transition-to-master
指示 XenServer 成员主机成为池主节点。仅在 XenServer 主机转换到紧急模式后才接受此命令。进入紧急模式意味着该成员主机所在的池中的主节点已从网络中消失,经过若干次重试仍无法连接。
#xe pool-recover-slaves 这些成员此时将指向新主节点
将成员 XenServer 主机转换为主节点后,您还应检查默认池存储库是否设置了适当的值。通过使用 xe pool-param-list 命令
并验证 default-SR 参数是否指向有效存储库,可实现此操作
四、xencenter中不能显示 CPU,内存,硬盘信息?在加入POOL时,要保证xenserver的系统时间和master同步或者比它快一点,即能显示硬件信息
五、Redhat Linux 5.6 无法安装xs-tools?若建虚机选模板时采用Other media disc可能会出现此问题,建议采用自带模板进行创建。无模板可选时才用脑Other media disc选项
六、删除无法关闭的虚机?1.xe vm-list #查看需要操作的虚拟机uuid
2.xe vm-reset-powerstate uuid=60207d23-979e-ef86-2ede-455bf3504eee force=true #重置电源状态
3.xe vm-destroy uuid=60207d23-979e-ef86-2ede-455bf3504eee #删除对应虚拟机
更新日志
1. 新增 Windows 11 和 vTPM 支持,满足现代操作系统安全需求。
2. 修复了特定存储配置下 SR-IOV 网络卡顿问题。
3. 优化 XenCenter 性能图表刷新逻辑,降低 GUI 延迟。
4. 引入 Trial Edition 试用版本,池节点上限扩展至 3 台主机。
5. 更新许可策略:Citrix 工作负载需绑定 XenServer Premium 许可证。