KVM安装部署

公司开始部署KVM,KVM的全称是kernel base virtual machine,对KVM虚拟化技术研究了一段时间,

KVM是基于硬件的完全虚拟化,跟vmware、xen、hyper-v是同一个级别的,而且已经内置在Linux内核

而且KVM是开源产品,最新的虚拟化技术都会优先应用在KVM上,KVM的定制和配置项也很多,比封闭的hyper-v好玩多了

一直觉得微软的产品太封闭,之前一直用hyper-v,可配置项相比于KVM实在太少,而且KVM性能比hyper-v要好

KVM各个组件的关系

libvirt(virt-install,API,服务,virsh)-》qemu(qemu-kvm进程,qemu-img)-》KVM虚拟机-》kvm.ko 内核模块

libvirt:红帽提供的一个管理KVM虚拟机的API库,提供了virsh命令和一些python API

qemu:KVM的用户空间管理工具,用于管理内核空间kvm.ko

kvm.ko:KVM的核心,提供了虚拟CPU的工具,centos6系统安装的时候默认已经自带kvm.ko,只需要加载这个内核模块

安装流程

物理机部署流程

安装KVM组件
1、首先检查系统是否支持kvm,有两个先决条件
a、系统是x86的,通过命令

uname -a

b、CPU 支持虚拟化技术

egrep 'vmx|svm' /proc/cpuinfo

其中intel cpu支持会有vmx,amd cpu支持会有svm
如果看到有输出结果,即证明cpu 支持虚拟化。同时特别注意需要检查 BIOS 中是否开启VT,如果没有启用,虚拟机将会十分慢。

2、使用yum安装kvm
安装kvm内核

yum install -y qemu-kvm.x86_64 qemu-kvm-tools.x86_64 qemu-img

安装virt管理工具

yum -y install libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64 libvirt-java.noarch libvirt-python.x86_64 python-virtinst bridge-utils

说明:
kvm:软件包中含有KVM内核模块,它在默认linux内核中提供kvm管理程序
libvirts:安装虚拟机管理工具,使用virsh等命令来管理和控制虚拟机。
bridge-utils:设置网络网卡桥接。
qemu-img:安装qemu组件,使用qemu命令来创建磁盘等。

加载kvm 内核

modprobe kvm
modprobe kvm-intel

查看kvm内核模块是否加载成功

modprobe -ls | grep kvm

3、配置网络桥接,
进入目录 /etc/sysconfig/network-scripts,复制一份原有的ifcfg-eth0 为 ifcfg-br0
cp ifcfg-eth0 ifcfg-br0
修改ifcfg-br0,内容如下:

DEVICE="br0"
BOOTPROTO=static
ONBOOT="yes"
TYPE="Bridge"
IPADDR=10.11.30.52
NETMASK=255.255.255.0
GATEWAY=10.11.30.1
DEFROUTE=yes

IPADDR、GATEWAY、NETMASK根据自己的实际情况修改。
修改 ifcfg-em1 内容如下:

DEVICE="em1"
BOOTPROTO=none
NM_CONTROLLED="no"
ONBOOT=yes
TYPE=Ethernet
BRIDGE="br0"
HWADDR=::EB:F0::1F
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
NAME="System em1"

重启网络服务即可。

/etc/init.d/network restart

如果出现问题,关闭 NetworkManager 后重试。

chkconfig NetworkManager off
service NetworkManager stop

4、启动或重启libvirtd服务和messagebus 服务

/etc/init.d/libvirtd start
/etc/init.d/messagebus restart

此时可以查看网络接口列表
brctl show 结果如下:
bridge name bridge id STP enabled interfaces
br0 8000.000c2955a70a no eth0
virbr0 8000.52540014efd5 yes virbr0-nic

生成虚拟机流程(在物理机上执行)
1 安装screen 工具

 yum install -y screen

2 生成qcow2 格式的镜像文件

qemu-img create -f qcow2 /data/kvmimg/gzwtest01.qcow2 60G

3 在screen里面新开一个session

screen -S instSys

4 安装一台Windows虚拟机

virt-install --name=gzwtest01 --ram  --vcpus= --autostart --hvm \
--disk path=/data/kvmimg/gzwtest01.qcow2,size=,format=qcow2 \
--cdrom /data/download/cn_windows_server_2012_r2_with_update_x64_dvd_6052725.iso \
--graphics vnc,listen=0.0.0.0,port= \
--network bridge=br0,model=e1000 --force --connect qemu:///system

说明

name:虚拟机名称
ram:内存,单位MB
vcpus:逻辑CPU数
autostart:随母鸡开机启动而启动,母鸡开机,虚拟机也一起开机
hvm:完全虚拟化
model:指定网卡为千兆
disk path:镜像文件位置
size:虚拟机磁盘大小,单位GB
format:镜像文件格式
accelerate:
force:跳过所有交互提示,相当于yum install -y里的-y选项
cdrom:操作系统安装文件路径
graphics: 指定安装通过哪种类型,可以是vnc,也可以没有图形,这里是VNC,如果是文本graphics none
listen:0.0.0.0表示侦听所有来源地址,可以修改/etc/libvirt/qemu.conf
port:vnc端口号
vncport:VNC端口
network:指定网络类型
bridge:宿主机的桥接网卡是br0
connect:连接到一个非默认的hypervisor

5 使用VNC软件连接虚拟机进行系统安装
VNC软件名称 vnc-4_1_2-x86_win32_viewer
10.11.30.53:5902
10.11.30.53:物理机的IP
5902:虚拟机对应端口

至此,一台Windows的KVM虚拟机部署完毕

本文版权归作者所有,未经作者同意不得转载。

KVM安装部署的更多相关文章

  1. VMware虚拟化kvm安装部署总结

    虚拟化 1.环境 Centos7.3 关闭selinux,关闭防火墙 2.虚拟化环境配置 2.1 kvm部署安装 1. VMware 配置桥接模式 2.bios开启虚拟机,以本地台式机为例, 重启动电 ...

  2. 0、ubuntu16.04安装部署kvm

    ubuntu16.04安装部署kvm1.查看CPU是否支持KVM egrep "(svm|vmx)" /proc/cpuinfo 2.安装相关kvm包 sudo apt-get i ...

  3. centos6.5kvm虚拟化安装部署

    一.走进云计算 云计算:云计算是一种按使用量付费的模式,这种模式提供可用的.便捷的.按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供, ...

  4. qemu-kvm和openvswitch安装部署-qemu-kvm和openvswitch原型环境部署和基本测试 (1)

    qemu-kvm和openvswitch安装部署 本文包含两个部分: qemu-kvm的安装部署 openvswitch的安装部署 参考文档: kvm官网:http://www.linux-kvm.o ...

  5. 在Ubuntu 12.10 上安装部署Openstack

    OpenStack系统有几个关键的项目,它们能够独立地安装但是能够在你的云计算中共同工作.这些项目包括:OpenStack Compute,OpenStack Object Storage,OpenS ...

  6. OpenStack安装部署管理中常见问题解决方法

    一.网络问题-network 更多网络原理机制可以参考<OpenStack云平台的网络模式及其工作机制>. 1.1.控制节点与网络控制器区别 OpenStack平台中有两种类型的物理节点, ...

  7. CentOS7.4安装部署openstack [Liberty版] (一)

    一.OpenStack简介 OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. OpenStack是一个 ...

  8. openstack 安装部署

    环境准备 本次搭建的是openstack kilo版本,计算节点和控制节点采用linux bridge的方式连接 1.两台服务器 controller 172.16.201.9 compute01 1 ...

  9. Oracle安装部署,版本升级,应用补丁快速参考

    一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...

随机推荐

  1. C++11特性——变量部分(using类型别名、constexpr常量表达式、auto类型推断、nullptr空指针等)

    #include <iostream> using namespace std; int main() { using cullptr = const unsigned long long ...

  2. MyBatis基础入门--知识点总结

    对原生态jdbc程序的问题总结 下面是一个传统的jdbc连接oracle数据库的标准代码: public static void main(String[] args) throws Exceptio ...

  3. css_02之盒模型、渐变

    1.框模型:盒模型,①对象实际宽度=左右外边距+左右边框+左右内边距 + width:②对象实际高度=上下外边距+上下边框+上下内边距 + height: 2.外边距:margin:取值:①top(上 ...

  4. Android中的flexboxlayout布局

    提到FlexboxLayout大家估计有点模糊,它是谷歌最近开源的一个android排版库,它的前身Flexbox是2009年W3C提出了一种新的布局,可以简便.完整.响应式的实现页面布局,Flexb ...

  5. mysql百万级分页优化

    普通分页 数据分页在网页中十分多见,分页一般都是limit start,offset,然后根据页码page计算start , 这种分页在几十万的时候分页效率就会比较低了,MySQL需要从头开始一直往后 ...

  6. sql server 取文件名函数 转载

    /****** Object: UserDefinedFunction [dbo].[GetDirectoryPath] Script Date: 2016-12-16 16:54:05 ****** ...

  7. windows 7(32/64位)GHO安装指南(序篇)~

    大家好,本人是高三刚毕业,即将踏入校园的程序猿~我写这篇文章呢,主要是想巩固一下之前对于电脑的基础知识理论,也希望能帮助没有电脑基础的同学能维护一下自己的电脑,要是能帮助女生修电脑那就是更好啦~~哈哈 ...

  8. uboot环境配置

    uboot环境配置 通过配置uboot让它在启动过程中从tftp获取内核和设备树,并从在加载内核之后把通过启动参数将"从nfs挂载根文件系统"传入内核.这个配置主要是通过uboot ...

  9. click事件的累加绑定,绑定一次点击事件,执行多次

    最近做项目为一个添加按钮绑定点击事件,很简单的一个事情,于是我按照通常做法找到元素,使用jquery的on()方法为元素绑定了点击事件,点击同时发送请求.完成后看效果,第一次点击没有问题.再一次点击后 ...

  10. 学习笔记:delphi之TStringGrid

    1.说明 最近加入了一个项目组,使用的开发工具是delphi6,想想又要开始搞这个工具有点小忧伤,但没办法谁让咱就是个打杂的尼... 的需求是显示一个类似于Word/excel的那种表格,可以合并列等 ...