安装使用xen虚拟化工具
换了一家新公司,需要拿出一套虚拟化方案,就把业界的主流虚拟化技术划拉了一遍,给领导交了一份报告,具体的技术部分已经在之前的随笔里了,本篇文章主要介绍的是xen虚拟化工具的安装:
宿主机信息: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虚拟化工具的更多相关文章
- OpenStack学习笔记(一)----安装虚拟化工具
下面的命令运行在操作系统Ubuntu 14.04上. 在开源软件里面,主要是采用KVM和Xen.尽管OpenStack对KVM和Xen都支持,但是OpenStack对KVM的支持明显要比Xen做得好, ...
- Linux虚拟化 xen的工具栈介绍
试验环境centos6.10 xen的工具栈介绍: 查看xl目录的帮助:xl help 查看xen下安装了哪些虚拟机:xl list # xl list Domain-0 Name ID Mem VC ...
- Xen虚拟化基本原理详解
标签:虚拟化 xen 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://wangzan18.blog.51cto.com/80210 ...
- Xen虚拟化基础篇
一.xen的简介 Xen是一个开放源代码虚拟机监视器,由剑桥大学开发.它打算在单个计算机上运行多达128个有完全功能的操作系统. 在旧(无虚拟硬件)的处理器上执行Xen,操作系统必须进行显式地修改(& ...
- Xen虚拟化
Xen虚拟化基础 Xen虚拟化类型 hypervisor Xen组件 Xen hypervisor Colletion CPU.Memory.Interrupter Domain0 ---> D ...
- kvm与xen虚拟化的比较(转)
Linux虚拟化技术的用户目前有两种免费的开源管理程序可以选择:Xen和KVM. 作为较早出现的虚拟化技术,Xen是“第一类”运行在裸机上的虚拟化管理程序(Hypervisor),也是当前相当一部分商 ...
- Linux中安装配置KVM虚拟化
KVM 概述: KVM 即 Kernel-based Virtual Machine 基于内核的虚拟机. KVM,是一个开源的系统虚拟化模块,自 Linux 2.6.20 之后集成在 Linux 的各 ...
- CentosX64使用yum快速搭建xen虚拟化环境
Xen的大名想必已经被众SA所熟知.Xen 是一个开放源代码虚拟机监视器,由剑桥大学开发.它打算在单个计算机上运行多达100个满特征的操作系统.操作系统必须进行显式地修改(“移植”)以在Xen上运行( ...
- 台式电脑部署xen虚拟化的各种问题
本打算用一台台式机做xen虚拟化,搞了一天搞得焦头烂额还是没搞定,中间遇到各种奇葩问题,这里mark一下 1.计划用三块2TB的SATA硬盘,然后装centos5 做虚拟化,结果忘记了centos5最 ...
随机推荐
- 基于uReplicator复制的kafka主备集群间的切换策略
一.概述 目前基于中间件uReplicator实现了kafka集群间的迁移复制,可以实现跨区.跨云的kafka集群间复制同步,也可以实现kafka集群的冷热互备架构:在实现集群间同步以后,需要解决一个 ...
- spring boot 2.x 系列 —— actuator 服务监控与管理
文章目录 一.概念综述 1.1 端点 1.2 启用端点 1.3 暴露端点 1.4 健康检查信息 二.项目说明 1.1 项目结构说明 1.2 主要依赖 1.3 项目配置 1.4 查看监控状态 三.自定义 ...
- java编程思想之面向对象
面向对象和面向过程 面向对象(Object Oriented),简称OO,是软件开发方法的一种,我们都知道java是基于面向对象开发的,但是说到面向对象,我们不得不提一提面向过程开发,面向过程,又称结 ...
- kubernetes实战篇之创建一个只读权限的用户
系列目录 上一节我们讲解到了如何限制用户访问dashboard的权限,这节我们讲解一个案例:如何创建一个只读权限的用户. 虽然可以根据实际情况灵活创建各种权限用户,但是实际生产环境中往往只需要两个就行 ...
- RocketMQ与MYSQL事务消息整合
1.基础理论知识篇“两阶段提交”如果你了解可以跳过这段,当然如果你想深入了解你可以购买相关书籍或去搜索相关资料阅读 两阶段提交分为 正常提交和异常提交或异常回滚 上面是正常提交的示意图,协调者发起预提 ...
- 一套简单的web即时通讯——第一版
前言 我们之前已经实现了 WebSocket+Java 私聊.群聊实例,后面我们模仿layer弹窗,封装了一个自己的web弹窗 自定义web弹窗/层:简易风格的msg与可拖放的dialog,生成博客园 ...
- websocket实现群聊和单聊(转)
昨日内容回顾 1.Flask路由 1.endpoint="user" # 反向url地址 2.url_address = url_for("user") 3.m ...
- .Net Core 学习使用Session、和Cookie验证身份
一.使用Session 1.1 Status.cs 中配置 public void ConfigureServices(IServiceCollection services) { services. ...
- 剑指offer第二版-1.赋值运算符函数
面试题1:赋值运算符函数题目要求:为自定义类添加赋值运算符函数,考察一些细节点的书写.
- liunx某台服务器无法访问其他服务器!!!!!!!!
针对于可以ping通ip地址,但是无法访问端口!!! 访问端口卡死,未响应, 例如mysql出现当前主机无法远程连接数据库,而其他主机都可以 前提条件:防火墙,mysql账号ip限制问题已经解决 问题 ...