热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

CentOS系统下Xen虚拟机的安装与使用

一、准备条件1.查看cpu是否支持虚拟化输入命令cat/proc/cpuinfo|grepflags,查看结果中有没有pae,若有则支持半虚拟化,再看有没有vmx(intel)或svm((amd),若有,则支持全虚拟化。这个要在xen安装之前做,安装后默认就看不到vms/svm了。

一、准备条件

1. 查看 cpu 是否支持虚拟化

输入命令 cat /proc/cpuinfo | grep flags ,查看结果中有没有 pae ,若有则支持半虚拟化,再看有没有 vmx(intel) 或 svm((amd) ,若有,则支持全虚拟化。这个要在 xen 安装之前做,安装后默认就看不到 vms/svm 了。

2. 确认 BIOS 里虚拟化开关打开

二、安装 xen

安装 xen 有两种方法,一种是做安装系统选择 package 的时候,选择 virtualization 。这样在系统安装完成后, xen 也自动安装好了。 另一种是在安装完系统后,输入命令

yum ?y install kernel-xen xen

命令执行完成后, /boot/grub/menu.lst 自动就会有 xen 的启动项了,修改它为默认启动项。

    安装完成后,使用命令 uname ?a 查看内核版本有没有 xen 字样。如:

输入 xm list 查看有没有 Domain-0

三、安装虚拟机

         如果需要 VNC 安装,则修改 xen 配置文件以支持 vnc

Xen 的配置文件 /etc/xen/xend-config.sxp 默认监听 vnc 的 ip 要改成 0.0.0 .0 ,否则只能在本机连接上去安装系统。(一般服务器是没有 XWindows 的)

如果需要虚拟出 windows 系统,那么必须使用全虚拟模式;如果仅仅是需要虚拟 linux 系统可以使用半虚拟模式。本虚拟的运行效率相对全虚拟要快很多。

1. 全虚拟

virt-install-v ?n vm01 ?r 2048 ?f /var/lib/xen/images/vm01.img ?s 40 ?c/var/lib/xen/images/centos55.iso ?m AA:BB:CC:DD:EE:FF --vnc

-v 全虚拟 ( 半虚拟用 -p)

-n 要创建的虚拟机名称

-r 内存,单位 MB

-f 指定虚拟机硬盘位置

-s 指定虚拟机硬盘大小,单位 GB

-c 指定安装镜像位置

-m 指定虚拟机 MAC 地址

--vnc 使用 vnc 远程连接安装

 

注意:

-m 后面的 mac 字符串中字母大写,如果没有关闭 SELinux ,最好把 img 文件和安装镜像 iso 文件都放在 /var/lib/xen/images 文件夹下。

         在物理机上执行 x m list 查看一下新建的 guest host 机器的 id 。

         如果使用 vncviewerl 连接主机 IP:5901 ,这里 ID 是多少,就连接多少。

完全虚拟化安装要使用 VNC ,半虚拟化可以使用也可以不使用。

 

2. 半虚拟

半虚拟安装可以使用 http 、 ftp 、 nfs 来做为安装源,这里采用 nfs 方式。

配置 nfs

挂载 centos 的镜像

mount ?o loop /var/lib/xen/images/centos57.iso /mnt

编辑 /etc/exports

/mnt * (ro)

启动 nfs

service nfs start

执行命令

virt-install -p ?n vm01 ?r2048 ?f /var/lib/xen/images/vm01.img ?s 40 ?l nfs:10.247.0.220:/mnt ?mAA:BB:CC:DD:EE:FF --vnc

这里跟全虚拟不同的是 -v 变成了 -p ,然后 -c 变成了 -l ,接下来使用 vnc 安装跟全虚拟的步骤一样,如果直接在物理机上安装,则执行 xm console vm01 命令。

注意 : 在安装过程中,定制 linux 的软件包时,只需要留一个 base ,不要有其他的包,否则会出 bug 。

三、配置 xen

使用 vncviewer 远程连接安装完成后,就会在 /etc/xen/ 下生成 vm01 这样跟你指定虚拟机名字一样的配置文件,修改配置文件,可修改 cpu 个数,内存大小, mac 地址等。最重要的,把 vnc = 1 改成 vnc = 0 。这样就不可以远程 VNC 连接了。

四、克隆虚拟机

         克隆前必须关掉被克隆的虚拟机。

virt-clone ?n vm02 ?o vm01 ?f/var/lib/xen/images/vm02.img ?m AA:BB:CC:DD:EE:FF

-n 新虚拟机名称

-o 源虚拟机

-f 新虚拟机硬盘文件

-m 新虚拟机 MAC 地址

克隆完成后,可在物理机中使用 xm console name 来进入到这个虚拟机中。修改

Vi /etc/hosts 修改 hostname

Vi /etc/sysconfig/network 修改 hostname

Vi/etc/sysconfig/network-scripts/ifcfg-eth0 修改 ip

五、 xen 的基本管理命令

Xm ?help 查看帮助

Cd /etc/xen

Xm create vm01 启动 vm01 虚拟机

Xm shutdown vm01 关闭 vm01

Xm destroy vm01 删除 vm01 服务器

Xm reboot vm01 重启 vm01

x m list 查看所有虚拟机

自动启动 vm01

ln -s /etc/xen/vm01/etc/xen/auto/

添加软链接

这样就行了。

虚拟机的配置文件,

On_poweroff = “restart”

这个要注意,否则虚拟机关机后,只能到母机上去 xm create vm01 这样开机了。

还有 nfs 的安装配置。。这个要在半虚拟化时候要用。

/usr/sbin/virt-install--paravirt --name=node1 --file-size=5 --ram=1024 --vcpus=2--file=/xen/node1 --location=nfs:123.125.162.7:/mnt --extra-args="ip=123.125.162.45netmask=255.255.255.192 gateway=123.125.162.1 dns=202.106.0.20" --networkbridge=xenbr0 noipv6

这样可以省得输入 ip ,子网掩码, dns , gateway 了。


推荐阅读
author-avatar
北人南漂记
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有