安装Xen On CentOS 5.2(i386)
版本1.0
作者:Falko Timme
本教程提供了有关如何在CentOS 5.2系统(i386)上安装Xen (版本3.0.3 )的分步说明。
Xen允许您在主机操作系统( dom0
)下创建客户操作系统(* nix操作系统,如Linux和FreeBSD),即所谓的“虚拟机”或主机。 使用Xen可以将应用程序分离成完全独立的虚拟机(例如,邮件服务器的虚拟机,高流量网站的虚拟机,为客户网站提供的另一个虚拟机,一个用于DNS的虚拟机等),但仍然使用相同的硬件。 这样可以节省资金,更重要的是更安全。 如果您的DNS服务器的虚拟机被黑客入侵,它对您的其他虚拟机没有影响。 此外,您可以将虚拟机从一个Xen服务器移动到下一个。
我将使用CentOS 5.2(i386)作为主机操作系统( dom0
)和客户操作系统( domU
)。
这是一个实践指南; 它不包括理论背景。 他们在网络上的许多其他文档中被处理。
本文档不附带任何形式的保证! 我想说,这不是设立这样一个制度的唯一办法。 实现这一目标有很多方法,但这是我所采取的方式。 我不会保证这将为您工作!
1初步说明
我在CentOS 5.2主机系统( dom0
)上使用以下分区:
-
/ boot
150 MB(ext3
) -
互换
1GB -
/
3GB(ext3
) -
/ vm
其余(ext3
)
我将在/ vm
目录中创建虚拟机; 当然,您可以使用剩余足够空间的任何其他目录,并且您不必为其创建自己的分区。 如果您使用其他目录,请在本教程中将/ vm
替换为您自己的目录。
如果要将虚拟机保存在/ vm
中,但是如果您的系统中不存在目录/ vm
,那么还没有为其创建分区,可以这样创建:
mkdir /vm
确保SELinux已禁用或允许:
vi /etc/sysconfig/selinux
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. SELINUX=disabled # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=targeted |
如果您必须修改/ etc / sysconfig / selinux
,请重新启动系统:
reboot
2安装Xen
要安装Xen,我们只需运行
yum install kernel-xen xen
这将在我们的CentOS系统上安装Xen和Xen内核。
在使用Xen内核引导系统之前,请检查您的GRUB引导程序配置。 我们打开/boot/grub/menu.lst
:
vi /boot/grub/menu.lst
第一个列出的内核应该是您刚刚安装的Xen内核:
[...] title CentOS (2.6.18-92.1.13.el5xen) root (hd0,0) kernel /xen.gz-2.6.18-92.1.13.el5 module /vmlinuz-2.6.18-92.1.13.el5xen ro root=/dev/VolGroup00/LogVol00 module /initrd-2.6.18-92.1.13.el5xen.img [...] |
将默认
值更改为0
(以便默认情况
下第一个内核(Xen内核)将被引导):
[...] default=0 [...] |
完整的/boot/grub/menu.lst
应该是这样的:
# grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00 # initrd /initrd-version.img #boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.18-92.1.13.el5xen) root (hd0,0) kernel /xen.gz-2.6.18-92.1.13.el5 module /vmlinuz-2.6.18-92.1.13.el5xen ro root=/dev/VolGroup00/LogVol00 module /initrd-2.6.18-92.1.13.el5xen.img title CentOS (2.6.18-92.1.1.el5) root (hd0,0) kernel /vmlinuz-2.6.18-92.1.1.el5 ro root=/dev/VolGroup00/LogVol00 initrd /initrd-2.6.18-92.1.1.el5.img title CentOS (2.6.18-92.el5) root (hd0,0) kernel /vmlinuz-2.6.18-92.el5 ro root=/dev/VolGroup00/LogVol00 initrd /initrd-2.6.18-92.el5.img |
之后,我们重新启动系统:
reboot
系统现在应该自动启动新的Xen内核。 系统启动后,我们可以通过运行进行检查
uname -r
[root@server1 ~]# uname -r
2.6.18-92.1.13.el5xen
[root@server1 ~]#
所以它真的使用新的Xen内核!
我们现在可以跑
xm list
检查Xen是否已启动。 应该列出域0
( dom0
):
[root@server1 ~]# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 964 1 r----- 134.1
[root@server1 ~]#