当前位置: 移动技术网 > 科技>操作系统>windows > Linux系统下Xen虚拟机的安装和配置详细教程

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

2018年03月08日  | 移动技术网科技  | 我要评论

摇情乐园,撼三国,拉拉·瓦斯奎兹

注 1 :本次实验环境 真机 centos 5.8 32位, 虚拟机 centos 5.2 32位, 真机ip: 192.168.100.117

注 2 :实验前一定要先记下真机的 mac 地址,以免以后不能上网用,我这里的 mac 是 00:1d:7d:cd:d7:74

第一步 查看硬件支持

1. 半虚拟化硬件要求


复制代码
代码如下:
[root@xen ~]# cat /proc/cpuinfo | grep flags</p> <p>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</p> <p>pbe nx lm constant_tsc pni monitor ds_cpl est tm2 cid cx16 xtpr lahf_lm

如果出现 pae 字符,表示支持半虚拟化; 我们这次就是使用半虚拟化实验。

2. 全虚拟化硬件要求

由于我没有支持的硬件,大概说下,查询命令和上面的一样

inter 的 cpu 要出现 pae vmx ;  amd 的 cpu 要出现 pae svm


 

第二步 安装 xen 核心软件

注意要先关闭selinux和禁止netmanager


复制代码
代码如下:
/etc/sysconfig/network-script/ifcfg-eth0
中加入


复制代码
代码如下:
nm_controlled=no


1. 基本安装和检测


复制代码
代码如下:
[root@xen ~]# yum install xen* kernel-xen*</p> <p>
[root@xen ~]# vi /boot/grub/menu.lst</p> <p>
<strong>default=0</strong>
&nbsp;timeout=5
&nbsp;splashimage=(hd0,0)/grub/splash.xpm.gz
&nbsp;hiddenmenu
&nbsp;<strong>title centos (2.6.18-308.4.1.el5xen)</strong>
&nbsp; root (hd0,0)
&nbsp; kernel /xen.gz-2.6.18-308.4.1.el5
&nbsp; module /vmlinuz-2.6.18-308.4.1.el5xen ro root=label=/ rhgb quiet
&nbsp; module /initrd-2.6.18-308.4.1.el5xen.img
&nbsp; title centos (2.6.18-308.4.1.el5)
&nbsp; root (hd0,0)
&nbsp; kernel /vmlinuz-2.6.18-308.4.1.el5 ro root=label=/ rhgb quiet
&nbsp; initrd /initrd-2.6.18-308.4.1.el5.img
&nbsp;

看到上面的 el5xen 内核版本的系统了吗?将 default 改为 0 就是以它启动。

然后,重启服务器


复制代码
代码如下:
[root@xen ~]# shutdown -r now


启动好后,再次确认是否是以 xen 内核启动的


复制代码
代码如下:
[root@xen ~]# uname -r</p> <p>2.6.18-308.4.1.el5xen


复制代码
代码如下:

[root@xen ~]# <span>chkconfig --list | grep xen</span>
&nbsp;xend 0:关闭 1:关闭 2:启用 <strong>3:启用</strong> 4:启用 <strong>5:启用</strong> 6:关闭
&nbsp;xendomains 0:关闭 1:关闭 2:关闭 <strong>3:启用</strong> 4:启用 <strong>5:启用</strong> 6:关闭
&nbsp;[root@xen ~]# <span>pstree -p | grep xen</span>
&nbsp; | |-xenbus(14)
&nbsp; | `-xenwatch(13)
&nbsp;|-xenconsoled(2860)---{xenconsoled}(2861)
&nbsp;|-xend(2856)---xend(2858)-+-{xend}(28 62)
&nbsp; | |-{xend}(2866)
&nbsp; | |-{xend}(2867)
&nbsp;| |-{xend}(3086)
&nbsp; | `-{xend}(3087)
&nbsp; |-xenstored(2852)
[root@xen ~]# <span>xm list</span>
&nbsp;name id mem(mib) vcpus state time(s)
&nbsp;<span>domain-0</span> 0 1763 2 r----- 37.1
&nbsp;

如果上面几步有颜色和加粗部分和我差不多的话,说明启动成功了!

 

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</p> <p>[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 就是大小; 小二,给我来 8g 空间

 

3. 安装 vsftp 并把光驱中的 系统 挂载到 ftp 目录下


复制代码
代码如下:
[root@xen ~]# yum install vsftpd</p> <p>
[root@xen ~]# service vsftpd start


这样一个匿名 ftp 就可以用了,下载挂载光驱


复制代码
代码如下:
[root@xen ~]# mount /dev/cdrom /var/ftp/pub/


测试下是不是挂载成功了,从浏览器中访问


复制代码
代码如下:
ftp://192.168.100.117/pub/</p> <p>e2fsck’s blog http://www.e2fsck.org

能看到光盘内容说明成功了。

 

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


复制代码
代码如下:
[root@xen ~]# cd /var/vps/</p> <p>
[root@xen vps]# virt-install –prompt</p> <p>
what is the name of your virtual machine? vps1 #输入名字</p> <p>how much ram should be allocated (in megabytes)? 415 #内存大小</p> <p>what would you like to use as the disk (file path)? /var/vps/vps1.img #存放位置,写上面 of 后的地址</p> <p>what is the install url? ftp://192.168.100.117/pub/ #安装文件在哪


接下来就是 text 安装模式


复制代码
代码如下:
welcome to centos +---------+ choose a language +---------+
| |
| what language would you like to use |
| during the inst
allation process? |
| |
| catalan ^ |
| chinese(simplified) : |
| chinese(traditional) # |
| croatian : |
| czech : |
| danish : |
| dutch : |
| english v |
| |
| +----+ |
| | ok | |
| +----+ |
| |
| |
+---------------------------------------+

/ between elements | selects | next screen

文本模式安装不难,如果有问题,网上搜搜

安装好后,重启,出现:


复制代码
代码如下:
centos release 5.2 (final)</p> <p>kernel 2.6.18-92.el5xen on an i686</p> <p>localhost.localdomain login: root</p> <p>password: </p> <p>[root@localhost ~]#

输入帐号密码就进去了

退出的按键和 telnet 的一样:  ctrl + ]


 

5. 管理 xen 虚拟机

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


复制代码
代码如下:
[root@xen vps]# <span id="comm">xm list</span>
&nbsp;name id mem(mib) vcpus state time(s)
&nbsp;domain-0 0 1599 2 r----- 421.9
&nbsp;vps1 2 415 1 -b---- 24.9
&nbsp;

顺便讲下上面 state 的 6 种状态:

r – 运行、b – 阻塞(不运行状态或者是 sleep 状态)、p – 暂停(可能执行了 xm pause)、s – 关闭、c – 崩溃、d – 垂死


 

查看虚拟机的负载


复制代码
代码如下:
[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</p> <p>
[root@xen xen]# cp /etc/xen/vps1 /etc/xen/vps2


修改新复制虚拟机的配置文件


复制代码
代码如下:
[root@xen xen]# vi /etc/xen/vps2


原内容为:


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

修改后为:


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


注: 就是要保证 name、uuid、mac 唯一,然后把 disk 路径改了


然后启动并进入新的虚拟机


复制代码
代码如下:
[root@xen xen]# xm create -c vps2


修改主机名和ip


复制代码
代码如下:
[root@localhost ~]# vi /etc/hosts</p> <p>
[root@localhost ~]# vi /etc/sysconfig/network


上面2个比较简单,我就不说了


复制代码
代码如下:
[root@localhost ~]# hostname vps2</p> <p>[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0</p> <p>
# xen virtual ethernet</p> <p>device=eth0</p> <p>bootproto=static</p> <p>hwaddr=00:16:3e:44:09:cb #这里最好换成上面修改过的配置文件中的mac地址</p> <p>onboot=yes</p> <p>ipaddr=192.168.100.167</p> <p>netmask=255.255.255.0</p> <p>network=192.168.100.0</p> <p>gateway=192.168.100.1

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网