游乐游手机版
首页/系统平台/文章详情

Linux系统Xen虚拟机安装配置详细教程

时间:2026-06-16 07:55
注 1:本次实验环境——真机 CentOS 5 8 32 位,虚拟机 CentOS 5 2 32 位,真机 IP:192 168 100 117注 2:实验前请务必记录真机的 MAC 地址,以免后续无法正常联网。本机 MAC 为 00:1D:7D:CD:D7:74 第一步 检查硬件支持情况 1 半

注 1:本次实验环境——真机 CentOS 5.8 32 位,虚拟机 CentOS 5.2 32 位,真机 IP:192.168.100.117

注 2:实验前请务必记录真机的 MAC 地址,以免后续无法正常联网。本机 MAC 为 00:1D:7D:CD:D7:74

第一步 检查硬件支持情况

1. 半虚拟化硬件要求

首先确认 CPU 是否支持半虚拟化功能,执行以下命令即可查看:

[root@xen ~]# cat /proc/cpuinfo | grep flags
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
pbe nx lm constant_tsc pni monitor ds_cpl est tm2 cid cx16 xtpr lahf_lm

重点观察输出中是否包含 pae 标识。如果出现该标志,说明 CPU 支持半虚拟化。本次实验正是基于半虚拟化方式进行。

2. 全虚拟化硬件要求

由于手头暂无支持全虚拟化的硬件,这里简要说明查询方法,命令与上述相同:

Intel CPU 需同时出现 paevmx;AMD CPU 则需同时出现 paesvm。满足这些条件才能运行全虚拟化。

第二步 安装 Xen 核心组件

开始安装之前,请务必关闭 SELinux 和 NetworkManager。在 /etc/sysconfig/network-scripts/ifcfg-eth0 中添加一行:

NM_CONTROLLED=no

1. 基本安装与验证

[root@xen ~]# yum install xen* kernel-xen*
[root@xen ~]# vi /boot/grub/menu.lst

default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-308.4.1.el5xen)
        root (hd0,0)
        kernel /xen.gz-2.6.18-308.4.1.el5
        module /vmlinuz-2.6.18-308.4.1.el5xen ro root=LABEL=/ rhgb quiet
        module /initrd-2.6.18-308.4.1.el5xen.img
        title CentOS (2.6.18-308.4.1.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-308.4.1.el5 ro root=LABEL=/ rhgb quiet
        initrd /initrd-2.6.18-308.4.1.el5.img

看到上面那个 el5xen 内核选项了吗?将 default 修改为 0,重启后系统便会以 Xen 内核引导。

[root@xen ~]# shutdown -r now

重启完成后,检查内核版本:

[root@xen ~]# uname -r
2.6.18-308.4.1.el5xen

[root@xen ~]# chkconfig --list | grep xen
xend            0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
xendomains      0:关闭  1:关闭  2:关闭  3:启用  4:启用  5:启用  6:关闭

[root@xen ~]# pstree -p | grep xen
            |             |-xenbus(14)
            |             `-xenwatch(13)
            |-xenconsoled(2860)---{xenconsoled}(2861)
            |-xend(2856)---xend(2858)-+-{xend}(2862)
            |                         |-{xend}(2866)
            |                         |-{xend}(2867)
            |                         |-{xend}(3086)
            |                         `-{xend}(3087)
            |-xenstored(2852)

[root@xen ~]# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0     1763     2 r-----     37.1

若上述输出与加粗部分基本相符,则说明 Xen 内核已成功启动。

2. Xen 的软件结构解析

  • /usr/sbin/xend — xend 守护进程的启动脚本,用 Python 编写,结构清晰易懂。
  • /usr/sbin/xm — 管理 Xen 的命令行工具,输入 xm help 即可查看全部用法。
  • /etc/xen/xend-config.sxp — xend 的主配置文件,通常无需修改。
  • /etc/xen/ — 存放各个 domain-U 的配置文件模板,其中 xmexample.hvm 是全虚拟化的参考配置。
  • /etc/xen/auto/ — 系统开机时自动启动某个 domain-U 的目录。例如:
[root@xen ~]# cd /etc/xen/auto/
[root@xen auto]# ln -s ../xmexample.hvm .

这样系统启动时会自动加载 xmexample 虚拟机——但鸟哥提醒,切勿直接使用,需自行修改配置文件。

  • /etc/xen/scripts — 存放虚拟设备及网络相关的启动脚本。

第三步 安装虚拟系统

1. 创建存放虚拟系统的目录

[root@xen auto]# cd /var
[root@xen var]# mkdir vps

我们将虚拟机镜像统一放置在 /var/vps 目录下。

2. 制作空映像文件

[root@xen var]# dd if=/dev/zero of=/var/vps/vps1.img bs=1M count=8000

count 参数决定镜像大小,这里分配了 8 GB 空间。

3. 安装 vsftpd 并挂载系统光盘

[root@xen ~]# yum install vsftpd
[root@xen ~]# service vsftpd start
[root@xen ~]# mount /dev/cdrom /var/ftp/pub/

至此,匿名 FTP 服务搭建完成。通过浏览器访问:

ftp://192.168.100.117/pub/

若能看到光盘内容,则说明配置成功。

4. 进入 /var/vps 目录创建虚拟机

[root@xen ~]# cd /var/vps/
[root@xen vps]# virt-install --prompt

What is the name of your virtual machine? vps1                       #输入虚拟机名称
How much RAM should be allocated (in megabytes)? 415                 #分配内存大小
What would you like to use as the disk (file path)? /var/vps/vps1.img      #指定磁盘镜像路径
What is the install URL? ftp://192.168.100.117/pub/              #设置安装源地址

接下来会进入文本模式的安装界面:

Welcome to CentOS
+---------+ Choose a Language +---------+
|                                       |
|   What language would you like to use  |
|   during the installation process?    |
|                                       |
|       Catalan                ^        |
|       Chinese(Simplified)    :        |
|       Chinese(Traditional)   #        |
|       Croatian               :        |
|       Czech                  :        |
|       Danish                 :        |
|       Dutch                  :        |
|       English                v        |
|                                       |
|                +----+                 |
|                | OK |                 |
|                +----+                 |
|                                       |
|                                       |
+---------------------------------------+

/ between elements  |  selects |  next screen

文本安装模式并不复杂,选择语言、分区等步骤与图形界面类似,若遇到问题可随时搜索解决。

安装完成后重启,会看到:

CentOS release 5.2 (Final)
Kernel 2.6.18-92.el5xen on an i686
localhost.localdomain login: root
Password: 
[root@localhost ~]#

输入用户名和密码即可进入系统。退出虚拟机的快捷键与 telnet 相同——CTRL + ]

5. 管理 Xen 虚拟机基本命令

查看当前系统中的虚拟机信息:

[root@xen vps]# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0     1599     2 r-----    421.9
vps1                                       2      415     1 -b----     24.9

顺便说明 State 列中 6 种状态的含义:

  • r — 运行中(running)
  • b — 阻塞(blocked,类似于 sleep 状态,不执行)
  • p — 暂停(paused,通常因执行了 xm pause
  • s — 已关闭(shutdown)
  • c — 崩溃(crashed)
  • d — 即将消亡(dying)

查看虚拟机负载:

[root@xen vps]# xm top

关闭虚拟机:

[root@xen vps]# xm shutdown vps1

进入虚拟机控制台:

[root@xen vps]# xm console vps1

启动虚拟机:

[root@xen vps]# xm create vps1

将 vps1 添加至真机开机自启动:

[root@xen xen]# ln -s /etc/xen/vps1 /etc/xen/auto/vps1

更多参数可输入 xm help 查看。

6. Xen 虚拟机克隆与复制

首先关闭要复制的虚拟机:

[root@xen xen]# xm shutdown vps1

复制镜像文件和配置文件:

[root@xen xen]# cp /var/vps/vps1.img /var/vps/vps2.img
[root@xen xen]# cp /etc/xen/vps1 /etc/xen/vps2

修改新虚拟机的配置文件:

[root@xen xen]# vi /etc/xen/vps2

原始配置内容:

name = "vps1"
uuid = "1f251cca-5ea2-49fb-95e6-3b08359e6d33"
maxmem = 415
memory = 415
vcpus = 1
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
disk = [ "tap:aio:/var/vps/vps1.img,xvda,w" ]
vif = [ "mac=00:16:3e:44:09:ca,bridge=xenbr0,script=vif-bridge" ]

修改后的配置:

name = "vps2"
uuid = "1f251cca-5ea2-49fb-95e6-3b08359e6d34"
maxmem = 415
memory = 415
vcpus = 1
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
disk = [ "tap:aio:/var/vps/vps2.img,xvda,w" ]
vif = [ "mac=00:16:3e:44:09:cb,bridge=xenbr0,script=vif-bridge" ]

关键点:nameuuidmac 必须保持唯一,disk 路径也要指向新镜像文件。

然后启动新虚拟机:

[root@xen xen]# xm create -c vps2

进入系统后,修改主机名和 IP:

[root@localhost ~]# vi /etc/hosts
[root@localhost ~]# vi /etc/sysconfig/network
[root@localhost ~]# hostname vps2
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

# Xen Virtual Ethernet
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:16:3E:44:09:CB         # 替换为配置文件中设定的 MAC 地址
ONBOOT=yes
IPADDR=192.168.100.167
NETMASK=255.255.255.0
NETWORK=192.168.100.0
GATEWAY=192.168.100.1

至此,一台全新的 Xen 虚拟机克隆完成。

来源:https://www.jb51.net/os/other/352458.html
上一篇VMware虚拟机网络开关批处理设置 下一篇CentOS系统NIS服务器安装教程
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
微软详解Win11时间点还原 默认每24小时创建恢复点
系统平台 · 2026-06-30

微软详解Win11时间点还原 默认每24小时创建恢复点

微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验
系统平台 · 2026-06-30

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext

Win11六月可选更新KB5095093修复回收站弹窗异常
系统平台 · 2026-06-30

Win11六月可选更新KB5095093修复回收站弹窗异常

微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞
系统平台 · 2026-06-30

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M

微软加速Win11 25H2推送 覆盖所有符合条件家用PC
系统平台 · 2026-06-30

微软加速Win11 25H2推送 覆盖所有符合条件家用PC

近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送