xen安装(一)

简介:

一、近日接到CTO分下来任务,研发部经常使用一批机器来业务测试,准备几台性能好服务器放在IDC房做Linux虚拟化来接入使用。我第一时间想到就是用xen,以前看过这方面资料,但没运用在生产环境上,先从xen实施起,以后在利用openstack打造内部私有云。

 

二、以下回忆xen原理,具体原理,网上有很多资料查询的到

  虚拟化技术的分类:

     模拟:著名的模拟器,PearPC, Bochs, QEMU
     完全虚拟化:也称为native virtulization
                  两种加速方式:
                       BT
                           HVM
       VMware Workstation, VMware Server, Parallels Desktop, KVM, Xen(HVM)
 

    半虚拟化:para-virtualization
      xen, uml(user-mode linux)
 

    OS级别的虚拟化:
          OpenVZ, lxc
          Solaris Containers
          FreeBSD jails
 

    库虚拟化:
          wine

   应用程序虚拟化:
          jvm

 

    虚拟化网络:
         nat mode
         bridge mode
         routed mode
         isolation mode

 

 

Xen的工作模式:
     pv: 半虚拟化
     fv: 依赖于CPU的HVM
     pv on hvm: CPU完全虚拟化,但IO采用半虚拟化;

 

xen的使用方式:
     xen hypervisor
              硬件 --> 安装Linux --> 安装xen --> 修改grub,配置其内核为xen,而不再使用原Linux的内核(原Linux的内核和initramfs文件被当作xen的模块)--> 重新编译Linux内核,使得其能够运行于Dom0 --> 重启系统;
 

     DomU: 在Dom0使用工具创建虚拟机-->启动虚拟机-->安装操作系统;
 

     xenserver: 
              citrix: 
 

        xcp: xen cloud platform

 

        工具栈:xm/xend, xl, xapi/xe
              libvirt: virsh/libvirtd, virtmanager


 基本组件

 Xen包含三大部分:

Hypervisor:直接运行于硬件之上,是Xen客户操作系统与硬件资源之间的访问接口。通过将客户操作系统与硬件进行分类,Xen管理系统可以允许客户操作系统安全,独立的运行在相同硬件环境之上。

Domain 0:运行在Xen管理程序之上,具有直接访问硬件和管理其他客户操作系统的特权的客户操作系统。

DomainU:运行在Xen管理程序之上的普通客户操作系统或业务操作系统,不能直接访问硬件资源(如:内存,硬盘等),但可以独立并行的存在多个。

 

二、操作系统

拿公司一台装有linux系统的物理来测试

1
2
3
4
[root@logicserver ~]# cat /etc/issue;uname -r
CentOS release  6.3  (Final)
Kernel \r on an \m
2.6 . 32 - 279 .el6.x86_64

 

三、部署安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
[root@logicserver ~]# yum install centos-release-xen
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
epel/metalink                                                                                                                                                                      |  4.8  kB      00 : 00     
  * base: mirrors.pubyun.com
  * epel: ftp.cuhk.edu.hk
  * extras: centos.ustc.edu.cn
  * updates: centos.ustc.edu.cn
epel                                                                                                                                                                               |  4.3  kB      00 : 00     
epel/primary_db                                                                                                                                                                    |  5.7  MB      00 : 13     
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package centos-release-xen.x86_64  10 : 6 - 4 .el6.centos will be installed
--> Finished Dependency Resolution
Dependencies Resolved
==========================================================================================================================================================================================================
  Package                                                Arch                                       Version                                               Repository                                  Size
==========================================================================================================================================================================================================
Installing:
  centos-release-xen                                     x86_64                                      10 : 6 - 4 .el6.centos                                     extras                                      4.9  k
Transaction Summary
==========================================================================================================================================================================================================
Install        1  Package(s)
Total download size:  4.9  k
Installed size:  1.3  k
Is  this  ok [y/N]: y
Downloading Packages:
centos-release-xen- 6 - 4 .el6.centos.x86_64.rpm                                                                                                                                       |  4.9  kB      00 : 00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
   Installing :  10 :centos-release-xen- 6 - 4 .el6.centos.x86_64                                                                                                                                             1 / 1 
   Verifying  :  10 :centos-release-xen- 6 - 4 .el6.centos.x86_64                                                                                                                                             1 / 1
Installed:
   centos-release-xen.x86_64  10 : 6 - 4 .el6.centos                                                                                                                                                            
Complete!
[root@logicserver ~]# yum list xen*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
  * base: mirrors.skyshe.cn
  * epel: ftp.cuhk.edu.hk
  * extras: centos.ustc.edu.cn
  * updates: centos.ustc.edu.cn
Xen4CentOS                                                                                                                                                                         |  3.4  kB      00 : 00     
Xen4CentOS/primary_db                                                                                                                                                              |  150  kB      00 : 00     
Available Packages
xen.x86_64                                                                                             4.4 . 2 - 7 .el6                                                                               Xen4CentOS
xen-debuginfo.x86_64                                                                                   4.1 . 2 - 20 .el6                                                                              el6-xen   
xen-devel.x86_64                                                                                       4.4 . 2 - 7 .el6                                                                               Xen4CentOS
xen-doc.x86_64                                                                                         4.4 . 2 - 7 .el6                                                                               Xen4CentOS
xen-hypervisor.x86_64                                                                                  4.4 . 2 - 7 .el6                                                                               Xen4CentOS
xen-libs.x86_64                                                                                        4.4 . 2 - 7 .el6                                                                               Xen4CentOS
xen-licenses.x86_64                                                                                    4.4 . 2 - 7 .el6                                                                               Xen4CentOS
xen-ocaml.x86_64                                                                                       4.4 . 2 - 7 .el6                                                                               Xen4CentOS
xen-ocaml-devel.x86_64                                                                                 4.4 . 2 - 7 .el6                                                                               Xen4CentOS
xen-runtime.x86_64                                                                                     4.4 . 2 - 7 .el6                                                                               Xen4CentOS
xenserverjava.noarch                                                                                   5.6 . 100.1 - 1 .el6                                                                           epel      
xenserverjava-javadoc.noarch                                                                           5.6 . 100.1 - 1 .el6                                                                           epel
1
2
3
4
5
[root@logicserver ~]# ll /boot/xen*
-rw-r--r--.  1  root root    855600  8 月    3  20 : 18  /boot/xen- 4.4 . 2 - 7 .el6.gz
lrwxrwxrwx.  1  root root        18  9 月    8  13 : 20  /boot/xen- 4.4 .gz -> xen- 4.4 . 2 - 7 .el6.gz
lrwxrwxrwx.  1  root root        18  9 月    8  13 : 20  /boot/xen.gz -> xen- 4.4 . 2 - 7 .el6.gz
-rw-r--r--.  1  root root  15925635  8 月    3  20 : 18  /boot/xen-syms- 4.4 . 2 - 7 .el6

 

 安装完支持 Xen 的 Linux 内核后需要加新条目到 grub.conf,以便系统能默认启动带 Xen 的 Linux 内核(而不是常规 Linux 内核),这个操作可以通过 grub-bootxen.sh 自动完成,弄完后打开 grub.conf 文件再次确认一下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
root@logicserver ~]# vim /etc/grub.conf
# 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/sda2
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default = 0
timeout= 5
splashimage=(hd0, 0 )/grub/splash.xpm.gz
hiddenmenu
title CentOS ( 3.18 . 17 - 13 .el6.x86_64)
         root (hd0, 0 )
         kernel /xen.gz dom0_mem=1024M,max:1024M loglvl=all guest_loglvl=all
         module /vmlinuz- 3.18 . 17 - 13 .el6.x86_64 ro root=UUID= 17793804 -41a2-4cec-b58d-ffec3766aaf3 rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF- 8  rd_NO_LVM rd_NO_DM rhgb quiet
         module /initramfs- 3.18 . 17 - 13 .el6.x86_64.img
title CentOS ( 2.6 . 32 - 279 .el6.x86_64)
         root (hd0, 0 )
         kernel /vmlinuz- 2.6 . 32 - 279 .el6.x86_64 ro root=UUID= 17793804 -41a2-4cec-b58d-ffec3766aaf3 rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF- 8  rd_NO_LVM rd_NO_DM rhgb quiet
         initrd /initramfs- 2.6 . 32 - 279 .el6.x86_64.img

 

重启机器reboot

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
[root@logicserver ~]# service xend start
启动 xend 守护进程:                                       [确定] 
 
[root@logicserver ~]# xm info
WARNING: xend/xm  is  deprecated.
host                   : logicserver
release                :  3.18 . 17 - 13 .el6.x86_64
version                : # 1  SMP Tue Jul  21  17 : 17 : 17  UTC  2015
machine                : x86_64
nr_cpus                :  2
nr_nodes               :  1
cores_per_socket       :  2
threads_per_core       :  1
cpu_mhz                :  2993
hw_caps                : bfebfbff: 28100800 : 00000000 :00007f00:059ae3bf: 00000000 : 00000001 : 00000281
virt_caps              : hvm
total_memory           :  8068
free_memory            :  6951
free_cpus              :  0
xen_major              :  4
xen_minor              :  4
xen_extra              : . 2 - 7 .el6
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          : Thu Apr  23  15 : 06 : 13  2015  + 0100  git:8621d99-dirty
xen_commandline        : dom0_mem=1024M,max:1024M loglvl=all guest_loglvl=all
cc_compiler            : gcc (GCC)  4.4 . 7  20120313  (Red Hat  4.4 . 7 - 11 )
cc_compile_by          : mockbuild
cc_compile_domain      : centos.org
cc_compile_date        : Mon Aug   3  12 : 17 : 58  UTC  2015
xend_config_format     :  4
1
2
3
4
[root@logicserver ~]# xm list
WARNING: xend/xm  is  deprecated.
Name                                        ID   Mem VCPUs      State   Time(s)
Domain- 0                                      0   1021      2      r-----      94.7


另外xl不需要xend服务的,所以在使用它前,需要把xend服务停掉

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
[root@logicserver ~]# service xend stop
正在关闭 xend 守护进程:                                   [确定] 
 
[root@logicserver ~]# xl info
host                   : logicserver
release                :  3.18 . 17 - 13 .el6.x86_64
version                : # 1  SMP Tue Jul  21  17 : 17 : 17  UTC  2015
machine                : x86_64
nr_cpus                :  2
max_cpu_id             :  1
nr_nodes               :  1
cores_per_socket       :  2
threads_per_core       :  1
cpu_mhz                :  2993
hw_caps                : bfebfbff: 28100800 : 00000000 :00007f00:059ae3bf: 00000000 : 00000001 : 00000281
virt_caps              : hvm
total_memory           :  8068
free_memory            :  6951
sharing_freed_memory   :  0
sharing_used_memory    :  0
outstanding_claims     :  0
free_cpus              :  0
xen_major              :  4
xen_minor              :  4
xen_extra              : . 2 - 7 .el6
xen_version            :  4.4 . 2 - 7 .el6
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          : Thu Apr  23  15 : 06 : 13  2015  + 0100  git:8621d99-dirty
xen_commandline        : dom0_mem=1024M,max:1024M loglvl=all guest_loglvl=all
cc_compiler            : gcc (GCC)  4.4 . 7  20120313  (Red Hat  4.4 . 7 - 11 )
cc_compile_by          : mockbuild
cc_compile_domain      : centos.org
cc_compile_date        : Mon Aug   3  12 : 17 : 58  UTC  2015
xend_config_format     :  4
 
 
[root@logicserver ~]# xl list
Name                                        ID   Mem VCPUs State Time(s)
Domain- 0                                      0   1021      2      r-----      106.8









本文转自 zouqingyun 51CTO博客,原文链接:http://blog.51cto.com/zouqingyun/1692781,如需转载请自行联系原作者
目录
相关文章
|
存储 Linux 网络安全
KVM安装
uname -r yum install qemu virt librbdl-devel -y
149 0
KVM安装
|
存储 Linux 网络安全
|
KVM 虚拟化 Linux
KVM 虚拟机安装
上传操作系统 qcow2格式创建,空间为可动态增长 qemu-img create -f qcow2 test02.img 7G virt-install --name=oeltest02 --os-variant=RHEL5.
1072 0
|
存储 Linux KVM
CentOS 7 安装KVM,并创建虚拟机
CentOS 7 安装KVM,并创建虚拟机 使用KVM(基于内核的虚拟机)+ QEMU的虚拟化。 需要具有Intel VT或AMD-V功能的CPU。 安装KVM[root@kvm-centos7 ~]# yum -y install qemu-kvm libvirt virt-install.
2556 0
|
JavaScript 虚拟化 Ubuntu
|
Ubuntu Linux
|
Ubuntu Shell 开发工具
|
Linux 虚拟化