centos6.5安装KVM,并在KVM中安装虚拟6.5系统
=============================环境搭建==================================================
1、检查CPU信息 KVM 需要有 CPU 的支持(Intel VT 或 AMD SVM),在安装 KVM 之前检查一下 CPU 是否提供了虚拟技术的支持。
基于 Intel 处理器的系统,运行 grep vmx /proc/cpuinfo 查找 CPU flags 是否包括 vmx 关键词
基于 AMD 处理器的系统,运行 grep svm /proc/cpuinfo 查找 CPU flags 是否包括 svm 关键词
# 不知道intel还是amd 直接运行:egrep 'vmx|svm' /proc/cpuinfo
#注意:/proc/cpuinfo 仅从 Linux 2.6.15(Intel) 和 Linux 2.6.16(AMD) 开始显示虚拟化方面的信息。请使用 uname -r 命令查询您的内核版本。如有疑问,请联系硬件厂商。
# 有的BIOS没有开启虚拟化,开机时按F2进入CMOS界面,开启Performance/Virtualization On
2、安装KVM
yum groupinstall Virtualization 'Virtualization Client' -y
3、安装api支持
yum install libvirt -y
service libvirtd start
4、验证是否已经载入KVM模块
$ lsmod | grep kvm 显示2行 则正确加载
kvm
kvm_intel (此行没有显示是因为CMOS中没开启虚拟化,或者CPU不支持)
监测kvm是否安装成功
[root@moniter ~]#virsh -c qemu:///system list
Id Name State
5、配置网络桥接
kvm虚拟机网络分为三种:
a)虚拟网络'default':NAT (默认方式,支持虚拟机上网但不支持互访)
b)主机设备 vnet0(根据使劲情况而定):macvtap (支持互访)
c)主机设备 vent0 (桥接'br0') (bridge方式,可以使用虚拟机成为网络中具有独立IP的主机)
bridge方式介绍:
1)安装tunctl:
# yum install -y tunctl
2)禁用网络管理器
# chkconfig NetworkManager off 和桥接有冲突,要关闭
# service NetworkManager stop
3)创建用以桥接的虚拟网卡(应该可以支持多个虚拟机分别配置不同的网卡,暂时没试过)
# cd /etc/sysconfig/network-scripts
# cp ifcfg-eth1 ifcfg-br0 编辑 ifcfg-br0 修改下面几项
# vi ifcfg-br0
DEVICE="br0"
TYPE="Bridge"
BOOTPROTO=static
................
编辑ifcfg-eth1 修改下面几项
# vi ifcfg-eth1
BRIDGE="br0"
..............
4)重新启动网络
# 直接reboot可以,
service network restart会使xshell连接断开。
5)Ifconfig 检查 是否br0工作正常
检查桥接网络
[root@moniter ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.842b2b74e1b6 no eth0
virbr0 8000.000000000000 yes
br0是我们配置的桥接网卡,virbr0是系统脚本自动配置的NAT网卡
======================开始安装虚拟系统(有界面安装)=========================================
1、使用virt-manager安装guest virt-manager是一个api gui工具,可以很方便的管理虚拟机。
可以参考:http://www.linuxidc.com/Linux/2011-03/33653p3.htm
下面简单介绍使用virt-manager安装虚拟机系统。
l 打开菜单è 应用系统工具è虚拟系统管理器
设置磁盘池 就是选择一个存储位置
#不过img的位置要好好配置一下,kvm安装后会有一个默认位置,不注意的话容易占满空间。
或者直接硬盘分区时单独给/var分一个区。
.........
........
........
选择最小,最下边 勾选现在自定义
..........
勾选 基本系统中 基本
...........
最后进入系统后,修改/etc/sysconfig/network-scripts/ifcfg-eth0
onboot=yes
bootproto=static
===========================无界面安装=============================================
2、使用virt-install安装guest (无桌面环境)(没试验过)
当你的CentOS没有桌面环境时,可以使用virt-install命令安装,如: 执行完以上命令,如果没有错误的话,就会打开虚拟系统安装界面。
#virt-install \
--name=v1
--ram=512
--vcpus=1
--cdrom=/media/CentOS_6.2_final.iso
--os-type=rhel6
--disk /var/lib/libvirt/imgages/v1.img,size=8,bus=virtio,cache=writeback
--network bridge=br0,model=virtio
下面对上面的命令进行解读
--name 给虚拟机起个名字
--ram 分配给虚拟机的内存,单位MB
--vcpus 分配给虚拟机的cpu个数
--cdrom 指定安装文件的全路径
--disk 指定虚拟机img文件路径,如果虚拟机使用lvm分区,这里就指向到lvm的分区就行
size 虚拟机文件大小,单位GB
bus 虚拟机磁盘使用的总线类型,为了使虚拟机达到好的性能,这里使用virtio
cache 虚拟机磁盘的cache类型
--network bridge 指定桥接网卡
model 网卡模式,这里也是使用性能更好的virtio
--graphics 图形参数
virt-install
--name=vm1
--ram=512
--vcpus=1
--cdrom=$iso
--os-type=linux
--disk /vms/vm1/vm1.img,size=8,bus=virtio,cache=writeback
--network bridge=br0,model=virtio
3、其他命令行及工具
查看正在运行的虚拟机:
virsh -c qemu:///system list
虚拟机的主要管理命令式virsh,进入virsh管理shell之后:
==================================遇到问题======================================
4、其他问题
1)、虚拟机重新配置 虚拟机的配置文件保存在/etc/libvirt/qemu目录下,扩展名是xml。
修改相应的文件即可重新配置虚拟机。
kvm虚拟机文件位置:var/lib/libvirt/images/
2)、虚拟机备份及恢复
备份:拷贝/etc/libvirt/qemu目录下的xml配置文件,以及xml中设置的img文件。
恢复:进入virsh,执行define 目录下的xml文件路径
3)、开机自动启动虚拟机 命令行下:在autostart目录下的虚拟机名。
centos6.5安装KVM,并在KVM中安装虚拟6.5系统的更多相关文章
- Ubuntu安装二:在VM中安装Ubuntu
在VM中安装Ubuntu,先的安装VM,VM的安装请见:http://blog.csdn.net/u011043843/article/details/35291799 1.打开VM,新建虚拟机 2. ...
- Windows安装VMware并在VMware中安装Ubuntu
安装 VMware 去官方下载 VMware 安装包,一路默认到底即可 VMware 安装Ubuntu 参考链接:VMware12安装虚拟机教程.Ubuntu16.04安装教程 VM1 ...
- centos 安装教程 服务器配置教程 服务器中安装python 服务器中安装Django 安装MySQL 配置MySQL
一 .解决python编译安装所需的软件依赖 yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel opens ...
- gitlab安装笔记一_虚拟机中安装Centos7
(为搭建gitlab环境的准备) 环境:vmware workstation 12 pro 系统: CentOS-7-x86_64-Everything-1804.iso (CentOS-7-Min ...
- Mac下安装VirtualBox并在VirtualBox中安装CentOS7
VirtualBox (百科)VirtualBox 是一款开源虚拟机软件.VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems公司Sun Microsystem ...
- 安装vm,在vm中安装windows10操作系统。
步骤:双击打开虚拟机文件 根据向导安装 下一步 然后等待安装 安装好了后点击许可证 ZF3R0-FHED2-M80TY-8QYGC-NPKYF YF390-0HF8P-M81RQ-2DXQE-M2U ...
- 在CentOS 7中安装与配置Tomcat-8方法
安装前提 在CentOS 7中安装与配置JDK8 安装tomcat apache-tomcat-8.0.14.tar.gz文件上传到/usr/local中执行以下操作: [root@localhos ...
- 在Ubuntu中安装Redis
原文地址:http://blog.fens.me/linux-redis-install/ 在Ubuntu中安装Redis R利剑NoSQL系列文章,主要介绍通过R语言连接使用nosql数据库.涉及的 ...
- 在virtualenv中安装libxml2和libxslt
在使用python的工作中,需要使用到libxml2和libxslt库.原来在实际环境中已经安装完成了,但是在virtualenv中还没有,现在正在整理virtualenv的环境.下面把在virtua ...
- 在Windows Server2016中安装SQL Server2016
SQL Server2016安装硬.软件条件:点击打开链接 WinServer2016的安装参见: 在虚拟机中安装Windows Server2016 1. SQL Server2016下载地址: - ...
随机推荐
- Asp.net Core 2.0 实现Cookie会话
与1.0版本相比微软做了一些调整.详细请参考官方文档,我这里就讲2.0的吧 1.首先要在 根目录下 Startup.cs 类中启用 cookie会话,有两处要配置 第一处在 public void ...
- Spark学习进度-Transformation算子
Transformation算子 intersection 交集 /* 交集 */ @Test def intersection(): Unit ={ val rdd1=sc.parallelize( ...
- exchangeNetwork
泛洪(Flooding) 转发(Forwarding) 丢弃(Discarding) 交换机中有一个MAC地址表,里面存放了MAC地址与交换机的映射关系.MAC地址表也称为CAM(Content Ad ...
- Jenkins Android APP 持续集成体系建设二—自动部署、执行测试任务,关联打包任务
经过上一遍博客我们知道了怎么使用Jenkins自动打包,但打完包之后,我们还需要对新包进行回归测试,确定新包有没有问题,然后才能发布包,那么,话不多说,我们先来新建个自动化回归测试任务 新包自动化回归 ...
- 温故而知新--day2
温故而知新--day2 类 类与对象 类是一个抽象的概念,是指对现实生活中一类具有共同特征的事物的抽象.其实列化后称为对象.类里面由类属性组成,类属性可以分为数据属性和函数属性(函数属性又称为类方法) ...
- 【MySql】[ERROR] Can't read from messagefile '/usr/share/mysql/english/errmsg.sys'
[root@zhang bin]# ./mysql_install_db --datadir=/usr/local/mysql/mydata/data/ 2018-08-18 03:09:14 [WA ...
- 构造无字母数字Webshell
异或: 补充: A的ascii为65,对应二进制是01000001 <?php echo "1"^"A"; ?> 将"A"和&q ...
- 视图V_160M和表T_160M的维护
今天发现一个视图,通过SM30居然无法维护,这个视图就是V_160M,表为T_160M,是采购相关的系统消息, 不过别着急,有办法维护的,呵呵,看下面: 试一试OMCQ这个事物代码吧! 分享出来,给需 ...
- Sentry(v20.12.1) K8S 云原生架构探索,JavaScript 性能监控之采样 Transactions
系列 Sentry-Go SDK 中文实践指南 一起来刷 Sentry For Go 官方文档之 Enriching Events Snuba:Sentry 新的搜索基础设施(基于 ClickHous ...
- STL_string容器
一.string概念 string是STL的字符串类型,通常用来表示字符串.而在使用string之前,字符串通常是用char*表示的.string与char*都可以用来表示字符串,那么二者有什么区别. ...