当前位置:文档之家› 虚拟化二之Xen的基本部署和使用

虚拟化二之Xen的基本部署和使用

虚拟化二之Xen的基本部署和使用
虚拟化二之Xen的基本部署和使用

Xen简介:

早期xen是基于半虚拟化的方式运行,大致损失硬件平台性能的5%。然而它十分怪异,因为它仅负责管理cpu和内存。所有I/O设备xen本身是不负责驱动和管理的。因为xen hypervisor仅提供最基本的管理功能,如虚拟化cpu,mmu,内存和中断等。然后将这些虚拟化资源向上输出接口供各虚拟机调用。因此,它必须先启动第一个虚拟机对硬件资源进行分配和管理。而Xen使用域来描述各虚拟机,并且根据ID号来唯一标识。因此第一个启动的虚拟机称为Dom0。虚拟机和hypervisor共同组成xen。

下面说说如何安装Dom0和以及在Dom0上安装启用虚拟机。

安装Dom0:

1.下载并安装好基本操作系统,本次操作使用CentOS6.5_x86-64为配置样例。

2.安装软件包bridge-utils,并且建立网桥并开启STP协议。

# yum install bridge-utils

建立和配置网桥部分,请查看上篇《虚拟化一之虚拟机网络模型简介》。

配置后信息如下:

3.下载官方的yum源:

4.选择要安装的Xen版本:

Xen 4.5

# yum install xen45

# ls -l /boot/xen.gz

lrwxrwxrwx 1 root root 12 Sep 10 02:54 /boot/xen.gz -> xen-4.5.0.gz

Xen 4.6

# yum install xen46

# ls -l /boot/xen.gz

lrwxrwxrwx 1 root root 12 Sep 10 02:54 /boot/xen.gz -> xen-4.6.0.gz

Xen 4.7

# yum install xen47

# ls -l /boot/xen.gz

lrwxrwxrwx 1 root root 12 Sep 10 02:54 /boot/xen.gz -> xen-4.7.0.gz

5.安装kernel-xen包。注意:在安装Xen之后必须单独执行此步骤。如果你同时安装xen

和kernel-xen,kernel-xen包可能会先安装。这将导致所需的grub.conf条目配置失败。

# yum install kernel-xen

6.关闭SElinux。

7.重启系统,并且使用xen内核。

[root@Xen ~]# xl info

host : Xen

release : 4.9.27-1.el7xen.x86_64

version : #1 SMP Mon May 8 18:16:09 AEST 2017

machine : x86_64

nr_cpus : 24

max_cpu_id : 31

nr_nodes : 2

cores_per_socket : 6

threads_per_core : 2

cpu_mhz : 2300

hw_caps : bfebfbff:2c100800:00000000:00003f00:17bee3ff:00000000:00000001:00000000

virt_caps : hvm hvm_directio

total_memory : 24498

free_memory : 23150

sharing_freed_memory : 0

sharing_used_memory : 0

outstanding_claims : 0

free_cpus : 0

xen_major : 4

xen_minor : 6

xen_extra : .3-14.el7

xen_version : 4.6.3-14.el7

xen_caps : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64

xen_scheduler : credit

xen_pagesize : 4096

platform_params : virt_start=0xffff800000000000

xen_changeset : Tue May 2 12:06:15 2017 +0100 git:2e27e86-dirty

xen_commandline : placeholder dom0_mem=1024M cpufreq=xen dom0_max_vcpus=1 dom0_vcpus_pin console=tty0 console=com1 com1=115200,8n1 dom0_mem=1024M,max:1024M cpuinfo com1=115200,8n1 console=com1,tty loglvl=all guest_loglvl=all

cc_compiler : gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11)

cc_compile_by : mockbuild

cc_compile_domain : https://www.doczj.com/doc/8011915789.html,

cc_compile_date : Tue May 2 12:16:48 UTC 2017

xend_config_format : 4

创建虚拟机实例:

正常情况下,需要通过安装树的方式来安装系统。比如光盘映像文件的方式,或者网络引导安装的方式来完成。

如果通过网络引导的方式来完成安装需要定义网络:

vif=[‘name=value’]。比如vif = [‘ip=”192.168.100.11”,bridge=br0’]

参数:

a)Type:设备类型,默认为netfront

b)Mac:指定mac地址

c)Bridge:指定桥接到的物理设备

d)IP:指定IP地址

e)Script:指定配置此接口的脚本文件,默认已经存在脚本文件

f)Vifname:后端设备名称

步骤:

1.下载vmlinuz和initrd.img,此处这两个文件是通过cobbler提供的web页面下载

wget http://192.168.89.170/cobbler/ks_mirror/CentOS_6.5-x86_64/isolinux/vmlinuz

wget http://192.168.89.170/cobbler/ks_mirror/CentOS_6.5-x86_64/isolinux/initrd.img

2.为创建虚拟机提供配置文件:

# This is a fairly minimal example of what is required for a

# Paravirtualised Linux guest. For a more complete guide see xl.cfg(5)

# Guest name

name ="CentOS6.5"

# 128-bit UUID for the domain as a hexadecimal number.

# Use "uuidgen" to generate one if required.

# The default behavior is to generate a new UUID each time the guest is started. #uuid = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"

# Kernel image to boot

kernel = "/root/xen/vmlinuz"

# Ramdisk (optional)

#ramdisk = "/boot/initrd.gz"

ramdisk = "/root/xen/initrd.img"

# Kernel command line options

#extra = "root=/dev/xvda1"

# Initial memory allocation (MB)

memory = 512

# Maximum memory (MB)

# If this is greater than `memory' then the slack will start ballooned

# (this assumes guest kernel support for ballooning)

#maxmem = 512

# Number of VCPUS

vcpus = 2

# Network devices

# A list of 'vifspec' entries as described in

# docs/misc/xl-network-configuration.markdown

vif = [ 'bridge=br0' ]

# Disk Devices

# A list of `diskspec' entries as described in

# docs/misc/xl-disk-configuration.txt

disk = [ 'file:/xen/vm2/centos6.img,xvda,rw' ]

3.为虚拟机创建磁盘映像:

# dd if=/dev/zero of=/xen/vm2/centos6.img oflag=direct seek=102399 count=1 bs=1M

4.创建虚拟机:xl create –c centos6。本次演示通过url安装,基于text的模式进行。注意需

要提供网络安装树。

安装过程中,可退出控制台:ctrl+ ] 然后通过xlconsolecentos6重新连接到虚拟机

5.安装完毕后,必须先关机,然后将配置文件加入bootloader.因为要使用虚拟机自己的内核,

因此必须使用pygrub来模拟grub以加载内核;并且注释kernel和ramdisk选项

6.安装完毕。

提示:可使用libvirt工具栈对Xen进行更加通用的管理。

本次干货到此结束,下篇文章将介绍kvm的基本部署和使用,敬请期待~

By赵建文

相关主题
文本预览
相关文档 最新文档