KVM安装部署
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安装部署的更多相关文章
- VMware虚拟化kvm安装部署总结
虚拟化 1.环境 Centos7.3 关闭selinux,关闭防火墙 2.虚拟化环境配置 2.1 kvm部署安装 1. VMware 配置桥接模式 2.bios开启虚拟机,以本地台式机为例, 重启动电 ...
- 0、ubuntu16.04安装部署kvm
ubuntu16.04安装部署kvm1.查看CPU是否支持KVM egrep "(svm|vmx)" /proc/cpuinfo 2.安装相关kvm包 sudo apt-get i ...
- centos6.5kvm虚拟化安装部署
一.走进云计算 云计算:云计算是一种按使用量付费的模式,这种模式提供可用的.便捷的.按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供, ...
- qemu-kvm和openvswitch安装部署-qemu-kvm和openvswitch原型环境部署和基本测试 (1)
qemu-kvm和openvswitch安装部署 本文包含两个部分: qemu-kvm的安装部署 openvswitch的安装部署 参考文档: kvm官网:http://www.linux-kvm.o ...
- 在Ubuntu 12.10 上安装部署Openstack
OpenStack系统有几个关键的项目,它们能够独立地安装但是能够在你的云计算中共同工作.这些项目包括:OpenStack Compute,OpenStack Object Storage,OpenS ...
- OpenStack安装部署管理中常见问题解决方法
一.网络问题-network 更多网络原理机制可以参考<OpenStack云平台的网络模式及其工作机制>. 1.1.控制节点与网络控制器区别 OpenStack平台中有两种类型的物理节点, ...
- CentOS7.4安装部署openstack [Liberty版] (一)
一.OpenStack简介 OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. OpenStack是一个 ...
- openstack 安装部署
环境准备 本次搭建的是openstack kilo版本,计算节点和控制节点采用linux bridge的方式连接 1.两台服务器 controller 172.16.201.9 compute01 1 ...
- Oracle安装部署,版本升级,应用补丁快速参考
一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...
随机推荐
- In-Memory:在内存中创建临时表和表变量
在Disk-Base数据库中,由于临时表和表变量的数据存储在tempdb中,如果系统频繁地创建和更新临时表和表变量,大量的IO操作集中在tempdb中,tempdb很可能成为系统性能的瓶颈.在SQL ...
- C#异步编程(一)
异步编程简介 前言 本人学习.Net两年有余,是第一次写博客,虽然写的很认真,当毕竟是第一次,肯定会有很多不足之处, 希望大家照顾照顾新人,有错误之处可以指出来,我会虚心接受的. 何谓异步 与同步相对 ...
- C语言 · 时间转换
问题描述 给定一个以秒为单位的时间t,要求用"<H>:<M>:<S>"的格式来表示这个时间.<H>表示时间,<M>表示分 ...
- 微软新神器-Power BI横空出世,一个简单易用,还用得起的BI产品,你还在等什么???
在当前互联网,由于大数据研究热潮,以及数据挖掘,机器学习等技术的改进,各种数据可视化图表层出不穷,如何让大数据生动呈现,也成了一个具有挑战性的可能,随之也出现了大量的商业化软件.今天就给大家介绍一款逆 ...
- vscode 1.5安装体验
1.下载安装 官方下载地址: http://code.visualstudio.com/ 界面截图: 2.图标显示功能File Icon Themes vscode1.5版本文件夹视图,可显示文件类型 ...
- Canvas讲解
1.Canvas是什么? 简单地说canvas是画布,可以进行画任何的线.图形.填充等一系列的操作,而且操作的画图就是js, 提供简单的二维矢量绘图. 2.步骤: <canvas id=&quo ...
- SQL Server中SELECT会真的阻塞SELECT吗?
在SQL Server中,我们知道一个SELECT语句执行过程中只会申请一些意向共享锁(IS) 与共享锁(S), 例如我使用SQL Profile跟踪会话86执行SELECT * FROM dbo.T ...
- JavaScript知识结构图
画的一个知识结构图,方便理解.
- UITableView(二)
#import "ViewController.h" @interface ViewController () @end @implementation ViewControlle ...
- 修改Tomcat响应请求时返回的Server内容
HTTP Server在响应请求时,会返回服务器的Server信息,比如 Tomcat 7 的Header是: 这东西其实会给一些别有用心之人带来一定的提示作用:为安全起见,我们一般会建议去掉或修改这 ...