KVM安装部署

时间:2022-09-22 20:56:41

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&period;4安装部署openstack &lbrack;Liberty版&rsqb; (一)

    一.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. Aspose&period;Words组件介绍及使用—基本介绍与DOM概述

    1.基本介绍 Aspose.Words是一个商业.NET类库,可以使得应用程序处理大量的文件任务.Aspose.Words支持Doc,Docx,RTF,HTML,OpenDocument,PDF,XP ...

  2. php 5&period;3 配置mssql笔记

    参考URL  https://docs.moodle.org/29/en/Installing_MSSQL_for_PHP#Using_FreeTDS_on_Debian_Lenny 第一步,下载相应 ...

  3. GeoPandas官方中文文档--译著

    译自GeoPandas 0.1.0 文档(原版译著,有错误欢迎交流,转载请注明) GeoPandas是一个开源项目,它的目的是使得在Python下更方便的处理地理空间数据.GeoPandas扩展了pa ...

  4. hdu1037

    #include <iostream> #include <cstdio> using namespace std; int main() { int a,b,c; while ...

  5. ERROR Worker&colon; All masters are unresponsive&excl; Giving up

    启动spark的时候发现,主节点(master)上的Master进程还在,子节点(Worker)上的Worker进程自动关闭. 在子节点上查询log发现: ERROR Worker: All mast ...

  6. 《Windows驱动开发技术详解》之驱动程序的同步处理

    中断请求级 中断请求被分为软件中断和硬件中断两种,这些中断都映射成不同级别的中断请求级.每个中断请求都有各自的优先级别,正在运行的线程随时都可以被中断打断,进入到中断处理程序.优先级高的中断来临时,处 ...

  7. ref、out参数

    ref和out都是表示按引用传递.与指针类似,直接指向同一内存. 按值传递参数的方法永远不可能改变方法外的变量,需要改变方法外的变量就必须按引用传递参数. 传递参数的方法,在C语言里,用指针.在C#里 ...

  8. Retrofit 实现获取往里圆角图片,且传值到另一个页面

    记得加网络权限 java包: // compile 'jp.wasabeef:glide-transformations:3.0.1' implementation 'com.squareup.ret ...

  9. react native中使用native-echarts

    第一步,下载依赖 npm install native-echarts --save 第二步,引入 import Echarts from 'native-echarts'; 第三步,使用 expor ...

  10. 统计学习方法c&plus;&plus;实现之八 EM算法与高斯混合模型

    EM算法与高斯混合模型 前言 EM算法是一种用于含有隐变量的概率模型参数的极大似然估计的迭代算法.如果给定的概率模型的变量都是可观测变量,那么给定观测数据后,就可以根据极大似然估计来求出模型的参数,比 ...