开发者社区> 技术小阿哥> 正文

虚拟化技术之KVM安装与使用

简介:
+关注继续查看


什么是KVM虚拟化技术?

KVM(Kernel-based Virtual Machine),主流虚拟化技术之一,集成与Linux2.6之后版本中,通过linux内核提供任务调度及管理。

注:此文档为2014年所写,但内容绝对实用!

安装体验下KVM吧!

操作系统:CentOS 6.5_x64 mini Desktop

一、KVM组件安装与配置网络(首先先更新系统软件:yum update)

1、检查CPU是否支持虚拟化

#KVM虚拟化基于硬件的完全虚拟化,因此需要硬件支持,目前CPU基本都支持,如果没有输出信息,看下BIOS里有没有开启虚拟化支持,如果找不到,百度对你的CPU型号,看是否支持虚拟化技术

# egrep '(vmx|svm)' --color=always /proc/cpuinfo


#简单说下完全虚拟化与半虚拟化的区别:半虚拟化不需要硬件虚拟化技术支持即虚拟化,如Xen,即可实现完全虚拟化也可实现半虚拟化。半虚拟化需要修改虚拟系统内核(模拟指令),以实现虚拟机完美运行在Xen上面,完全虚拟化不需要修改虚拟系统内核,可直接运行在虚拟化技术之上。如我们常用的VMwareWorkstation,即完全虚拟化,如果硬件不支持虚拟化技术,只能跑32位操作系统。

2、安装KVM及相关管理工具

# yum -y install qemu-kvm qemu-img virt-viewer virt-manager libvirt python-virtinst

软件说明:

qemu-kvm  #kvm只对cpu、内存虚拟化,qemu-kvm在此基础上模拟I/O设备

qemu-img  #磁盘镜像管理工具

virt-manager #图形界面虚拟机管理工具

virt-viewer #连接虚拟机控制台

libvirt   #提供一套管理虚拟化工具的接口,支持主流的虚拟化技术,如KVM、XEN、LXC等,用于命令行管理虚拟机

python-virtinst #python写的脚本,用于virt-install安装虚拟机

3、检查KVM模块是否加载成功

# lsmod | grep kvm

kvm_intel              54394  0

kvm                 317376  1 kvm_intel

提示以上信息说明已经加载成功!如没有可尝试modprobe kvm加载。

4、关闭NetworkManager服务,避免虚拟机与主机网络出现问题

# service NetworkManager stop

# chkconfig NetworkManager off

5、桥接网络

qemu支持的网络模式:

桥接    #基于网桥的虚拟网卡,与主机同网段IP地址

NAT    #共享主机的IP地址

主机模式 #主机之间专用网络

    5.1 添加桥接,网卡不配置IP信息

1
2
3
4
5
6
7
8
    # vi /etc/sysconfig/network-scripts/ifcfg-eth0 
    DEVICE=eth0
    HWADDR=54:39:DF:D0:AD:10
    TYPE=Ethernet
    UUID=7fd81a50-9ee4-41f2-aa53-b73acb45a913
    ONBOOT=yes
    NM_CONTROLLED=yes
    BRIDGE=br0      #添加桥接

    5.2 创建ifcfg-br0,里面配置真实物理IP信息

1
2
3
4
5
6
7
8
9
    # vi /etc/sysconfig/network-scripts/ifcfg-br0
    DEVICE=br0
    TYPE=Bridge
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.3.10
    NETMASK=255.255.255.0
    GATEWAY=192.168.3.1
    DNS1=8.8.8.8

    5.3 重启网络

    # service network restart

 #可以看到eth0加入br0网桥,如果没有brctl命令,请安装bridge-utils工具

 #当创建虚拟机时指定桥接,也会加入这个网桥

 # brctl show

 bridge namebridge id  STP enabled interfaces

 br0  8000.0cc47a7432b0    no    eth0

6、启动libvirtd服务,并设置开机启动

# service libvirtd start

# chkconfig libvirtd on


博客地址:http://lizhenliang.blog.51cto.com


二、安装远程桌面VNC,用于图形管理虚拟机

1、安装配置tigervnc

# yum -y install tigervnc tigervnc-server

# chkconfig vncserver on

2、修改配置文件

# vi /etc/sysconfig/vncservers

VNCSERVERS="1:root"

VNCSERVERARGS[1]="-geometry 1024x768"

注:系统运行级别为3时,也可以正常进入图形界面

3、设置VNC密码

# vncserver  #直接设置当前用户密码,可以使用vncpasswd修改密码

注:VNC密码与ROOT密码可以不同。

4、重启VNC

# service vncserver restart

5、防火墙设置

# /sbin/iptables -I INPUT -p tcp --dport 5901 -j ACCEPT

# /etc/rc.d/init.d/iptables save

6、使用VNC Viewer连接Linux桌面

wKiom1Z_peTgd_57AAA05qKKU3o417.png

wKiom1Z_pe3xReunAAAw3ViQZK8093.png

远程桌面连接后如下图:

wKioL1Z_piDT37x-AAIHSsjUxd4976.png

三、把系统镜像通过软件上传到服务器

1:这里使用WinSCP上传,把系统映像文件传到你自己想传的目录即可。

spacer.gifwKioL1Z_pjTiu3kjAACqpK9lMoU007.png

wKiom1Z_pjDz4K8XAAJlDjVC9rs577.png

四、创建虚拟机

1、通过VNC远程登入桌面环境wKiom1Z_pkWzF3nyAAJHmcCMUO8487.png

wKiom1Z_pmjgxeCEAABzPkMDSZU204.pngwKiom1Z_poPhWaHGAABs6aC5FXQ497.png


2、添加存储池wKioL1Z_psiSTTrSAAFDPRNGlMY626.png

3、删除默认的,添加新的存储

spacer.gifwKioL1Z_puPwmHEfAADAnLnircY754.pngwKiom1Z_p3bi-ok1AAE6K0jftGc713.png

新存储卷,格式为qcow2,支持快照

五、创建虚拟机

wKioL1Z_p6eDXfVKAAEFtGB9D1U324.png

wKioL1Z_p7vwpQiRAAELVh_pWpo611.png

wKioL1Z_p8rC5-hkAADLEpYFTzw311.png

选择刚创建的虚拟机存储卷:

wKioL1Z_p9rzWKwNAAD1EOH9vr8413.png

wKiom1Z_qNaBhuweAADky2rXNdI705.png


wKiom1Z_qObA6dooAAJ3nR4FeHo964.jpg



本文转自 李振良OK 51CTO博客,原文链接:http://blog.51cto.com/lizhenliang/1728809,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《构建高可用VMware vSphere 5.X虚拟化架构》——1.3 使用VMware Update Manager管理升级
VMware Update Manager是VMware官方发布的用于对ESXi主机以及虚拟机硬件进行升级的统一管理控制平台,通过光盘安装对ESX 4.1主机进行了升级(1.2节),但对于有多台ESX主机的大规模生产环境来说,这样的升级方式会花费大量的精力,必须借助专业的工具来进行升级操作。
1580 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
21368 0
【Java 虚拟机原理】Java 类中的类加载初始化细节 ( 只使用类中的常量时加载类不会执行到 ‘初始化‘ 阶段 )
【Java 虚拟机原理】Java 类中的类加载初始化细节 ( 只使用类中的常量时加载类不会执行到 ‘初始化‘ 阶段 )
28 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
23640 0
BIOS中未启用虚拟化支持系列~~例如:因此无法安装Hyper-V
异常处理汇总-服务器系列:http://www.cnblogs.com/dunitian/p/4522983.html 一般都是启动一下CUP虚拟化就可以了 比如华硕的:   作者:毒逆天 出处:https://www.cnblogs.com/dotnetcrazy 打赏:18i4JpL6g54yAPAefdtgqwRrZ43YJwAV5z 本文版权归作者和博客园共有。
497 0
13689
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载