换了一家新公司,需要拿出一套虚拟化方案,就把业界的主流虚拟化技术划拉了一遍,给领导交了一份报告,具体的技术部分已经在之前的随笔里了,本篇文章主要介绍的是xen虚拟化工具的安装:

Xen官方部署文档:https://wiki.xenproject.org/wiki/Xen_Project_Beginners_Guide#What_is_this_Xen_Project_software_all_about.3F

宿主机信息:centos7.4-1708版本的虚拟机,安装与配置如下图,值得一提的是,因为本次测试使用的是全虚拟化,所以需要cpu的支持:

1.没什么好说的,关闭防火墙和selinux,做一下基础配置:

systemct disable firewald

sed -i 7s/enforcing/disabled/g /etc/selinux/config

reboot(因为我比较懒)

2.网上有比较多的xen安装教程,做的时候也踩了不少坑,对于这些问题,接下来会一一列举

yum -y install centos-release-xen-48.x86_64

安装xen的yum源

3.修改xen源为不启用

sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-Xen-48.repo

PS:repo配置enabled=0是禁用该源,enabled=1是启用该源,yum --enablerepo=centos-virt-xen会指定使用该源,如果该源已禁用(enabled=0),该参数也可以让yum暂时使用该源

4.使用centos的xen源来更新内核

yum --enablerepo=centos-virt-xen-48 -y update kernel

这一步需要是需要注意的,网上给出的很多教程也是到这一步出问题,错误的消息是:

failure: repodata/repomd.xml from centos-virt-xen-46: [Errno 256] No more mirrors to try.
http://mirror.centos.org/centos/7/virt/x86_64/xen-46/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found

其根本原因在于xen源中的名称

[centos-virt-xen-48]是该源的真正名称,名称错了,当然是404错误,[centos-virt-xen-48-testing]中的内容是正在测试的软件,可以无视。

PS:因为centos的源是在国外,所以更新的很慢,我下载了大概一个多小时,才更新完了内核。

5.安装xen程序:yum --enablerepo=centos-virt-xen-48 -y install xen

这一步没什么说的,如果上一步更新成功了xen内核,那这一步就不会出问题,还是有点慢,下载了大概半个小时。

6.设置Domain0

这两个的意思我在网上找了点资料,但都是术语,用通俗的话来讲呢:

dom0_mem=3072M的意思是xen内核最多调用的内存,即xen内核从你的linux内核上所能调用的内存大小,max:3072M,的意思是建立在xen内核上的虚拟机从xen内核中所能调用的内存大小,裸机系统内核内存->xen内核内存->建立在xen内核上的系统内存,这样的话,才不会报错,默认的值都是1024,因为我要用来做测试,所以我把它改成了3G=3072M

7.安装管理工具,有人看到这要问了,xen不是虚拟化了吗,是xen是实现了资源的虚拟化,但是xen本身只提供虚拟化,所以呢,本事虚拟机的创建,管理等等都是需要第三方管理工具来做。

因为虚拟化与传统技术相比的特殊性,所以呢,先从base源中更新通用的依赖与部分工具软件,然后使用xen源来安装管理工具。

yum -y install gnutls-utils vte3 dbus-libs python-ipaddr

yum --enablerepo=centos-virt-xen-48 -y install libvirt libvirt-daemon-xen virt-install virt-manager

这一步我遇到了点问题,安装管理工具的时候,报了个错,说是因为这个包下载速度太慢,所以取消了下载,国外的网速还是伤不起啊,没关系,反正包的名称都知道了,复制了这个包的名称到百度里去下载,然后使用rpm -ivh来安装,

8.添加xen开机启动项,就是运行一个脚本,CentOS官网描述这将生成/boot/grub2/grub.cfg;https://wiki.centos.org/zh/HowTos/Xen/Xen4QuickStart

安装好了之前的包之后,这个脚本就会出现在这个目录:/bin/grub-bootxen.sh,直接执行就行了。

9.重启服务器,如果都做的没有问题,那么开机选择内核的时候,应该出现下面的画面:

直接回车启动就行了

10.检测安装是否成功:

输入图上所示的命令之后,如果出现了类似的信息,那就是安装好了,然后就看你选择哪种管理工具了。

备注:在网上找了virsh的命令行管理,有需要就拿走吧:

virsh的基本用法如下
virsh [COMMAND] [ARGS...] 
另外需要注意的是,virsh提供两种执行模式: "直接模式(Direct Mode)"与"互动模式(Interactive Mode)"。在直接模式里,你必须在Shell中以参数、自变量的方式来执行virsh,如果在互动模式中,则virsh会提供一个提示字符串,你可以在该提示字符串后,输入要执行的命令。如果执行virsh没有指定任何参数或自变量则默认就是进入互动模式。
与xm一样,COMMAND也是 virsh提供的命令,常用的命令如下:

virsh常用命令如下:

命令 说明
help      显示该命令的说明
quit      结束 virsh,回到 Shell
connect  连接到指定的虚拟机服务器
create    启动一个新的虚拟机
destroy  删除一个虚拟机
start    开启(已定义的)非启动的虚拟机
define    从 XML 定义一个虚拟机
undefine  取消定义的虚拟机
dumpxml  转储虚拟机的设置值
list      列出虚拟机
reboot    重新启动虚拟机
save      存储虚拟机的状态
restore  回复虚拟机的状态
suspend  暂停虚拟机的执行
resume    继续执行该虚拟机
dump      将虚拟机的内核转储到指定的文件,以便进行分析与排错
shutdown  关闭虚拟机
setmem    修改内存的大小
setmaxmem 设置内存的最大值
setvcpus  修改虚拟处理器的数量

安装使用xen虚拟化工具的更多相关文章

  1. OpenStack学习笔记(一)----安装虚拟化工具

    下面的命令运行在操作系统Ubuntu 14.04上. 在开源软件里面,主要是采用KVM和Xen.尽管OpenStack对KVM和Xen都支持,但是OpenStack对KVM的支持明显要比Xen做得好, ...

  2. Linux虚拟化 xen的工具栈介绍

    试验环境centos6.10 xen的工具栈介绍: 查看xl目录的帮助:xl help 查看xen下安装了哪些虚拟机:xl list # xl list Domain-0 Name ID Mem VC ...

  3. Xen虚拟化基本原理详解

    标签:虚拟化 xen 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://wangzan18.blog.51cto.com/80210 ...

  4. Xen虚拟化基础篇

    一.xen的简介 Xen是一个开放源代码虚拟机监视器,由剑桥大学开发.它打算在单个计算机上运行多达128个有完全功能的操作系统. 在旧(无虚拟硬件)的处理器上执行Xen,操作系统必须进行显式地修改(& ...

  5. Xen虚拟化

    Xen虚拟化基础 Xen虚拟化类型 hypervisor Xen组件 Xen hypervisor Colletion CPU.Memory.Interrupter Domain0 ---> D ...

  6. kvm与xen虚拟化的比较(转)

    Linux虚拟化技术的用户目前有两种免费的开源管理程序可以选择:Xen和KVM. 作为较早出现的虚拟化技术,Xen是“第一类”运行在裸机上的虚拟化管理程序(Hypervisor),也是当前相当一部分商 ...

  7. Linux中安装配置KVM虚拟化

    KVM 概述: KVM 即 Kernel-based Virtual Machine 基于内核的虚拟机. KVM,是一个开源的系统虚拟化模块,自 Linux 2.6.20 之后集成在 Linux 的各 ...

  8. CentosX64使用yum快速搭建xen虚拟化环境

    Xen的大名想必已经被众SA所熟知.Xen 是一个开放源代码虚拟机监视器,由剑桥大学开发.它打算在单个计算机上运行多达100个满特征的操作系统.操作系统必须进行显式地修改(“移植”)以在Xen上运行( ...

  9. 台式电脑部署xen虚拟化的各种问题

    本打算用一台台式机做xen虚拟化,搞了一天搞得焦头烂额还是没搞定,中间遇到各种奇葩问题,这里mark一下 1.计划用三块2TB的SATA硬盘,然后装centos5 做虚拟化,结果忘记了centos5最 ...

随机推荐

  1. Paxos算法——前世

    Paxos算法是基于消息传递且具有高度容错特性的一致性算法.我们将从一个简单的问题开始,逐步的改进我们的设计方案,最终得到Paxos,一个可以在逆境下工作的协议. 一.客户端-服务器模型 我们从最小的 ...

  2. Smobiler实现手机弹窗

    前言 在实际项目中有很多场景需要用到弹窗,如图1 那么这些弹窗在Smobiler中如何实现呢? 正文 Smobiler实现弹窗有两种方式:1.MessageBox.Show 2.ShowDialog和 ...

  3. 分布式事务(1)---2PC和3PC理论

    分布式事务(1)---2PC和3PC理论 分布式事物基本理论:基本遵循CPA理论,采用柔性事物特征,软状态或者最终一致性特点保证分布式事物一致性问题. 分布式事物常见解决方案: 2PC两段提交协议 3 ...

  4. HDU 4055:Number String(DP计数)

    http://acm.hdu.edu.cn/showproblem.php?pid=4055 题意:给一个仅包含‘I','D','?'的字符串,’I'表示前面的数字比后面的数字要小(Increase升 ...

  5. Python Day_2

    入门任何一门编程语言,前面总是离不开变量,字符串这些概念,而且这些东西在往后的日子里,有着至关重要的存在.因为不管我们写什么程序,都要用到变量以及字符串. 变量 首先,我们的变量在定义的时候,是不需要 ...

  6. 从零开始基于go-thrift创建一个RPC服务

    Thrift 是一种被广泛使用的 rpc 框架,可以比较灵活的定义数据结构和函数输入输出参数,并且可以跨语言调用.为了保证服务接口的统一性和可维护性,我们需要在最开始就制定一系列规范并严格遵守,降低后 ...

  7. 消息队列(MQ)

    什么是消息队列 消息队列,即MQ,Message Queue. 消息队列是典型的:生产者.消费者模型.生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息.因为消息的生产和消费都是异步的,而且 ...

  8. 走近Java之包装器类Integer

    前几天,有个同事问了我一个关于Integer类赋值的问题,很有意思,我们一起来看一下(如果有说的不正确的地方,欢迎大家指正). 如上图,同样是赋值,但是两次比较的结果完全不同.我们走近了解一下. 在I ...

  9. HTML认识二

    <!doctype html> <html lang="en"><head> <meta charset="UTF-8" ...

  10. Linux日志系统分析:rsyslog、syslog和klog

    参考博客: https://blog.csdn.net/lidonghat/article/details/55004280 https://blog.csdn.net/u012247418/arti ...