热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

CentOS6.3系统安装kvm虚拟机并安装Windows系统

在CentOS6.3上安装配置KVM和创建虚拟机1.安装KVMKVM(Kernel-basedVirtualMachine,即内核级虚拟机)是一个开源的系统虚拟化模块,是使用于Linux核心中的虚拟化基础建设,KVM在2007年2月被导入Linux2.6.20核心中,它也被引入FreeBSD。它使用Linux自身的调度
在CentOS 6.3 上安装配置KVM和创建虚拟机
 
1. 安装KVM
KVM(Kernel-based Virtual Machine,即内核级虚拟机)是一个开源的系统虚拟化模块,是使用于 Linux 核心中的虚拟化基础建设,KVM 在 2007 年 2 月被导入 Linux 2.6.20 核心中,它也被引入 FreeBSD。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。
l 它包含一个为处理器提供底层虚拟化 可加载的核心模块kvm.ko (kvm-intel.ko 或  kvm-AMD.ko)。
l kvm还需要一个经过修改的QEMU软件(qemu-kvm),作为虚拟机上层控制 和界面。
l kvm能在不改变linux或windows镜像的情况下同时运行多个虚拟机,并为 每一个虚拟 机配置个性化硬件环境(网卡、磁盘、图形适配器……)。
l 在主流的linux内核,如2.6.20以上的内核均包含了kvm核心。
1) 检查cpu
KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化
# egrep 'vmx|svm'   --color=always/proc/cpuinfo
如果输出的结果包含VMX,是Intel处理器虚拟机技术标志:如果包含SVM,是AMD处理器虚拟机技术的标志,如果什么都没有得到,那系统并没有支持虚拟化的处理,不能使用KVM。
2) 安装KVM
直接在线安装KVM:
# yum install -y  kvm-qemu-img libvirt bridge-utils
安装完成后关闭selinux,然后重启linux
#vi /etc/sysconfig/selinux
SELINUX=disabled
#reboot
重启后确认libvirtd是否正常启动、重启 
# /etc/init.d/libvirtd restart
Stopping libvirtd daemon:                               [OK]
Starting libvirtd daemon:                                [OK]
 
检查KVM是否加载成功 
# lsmod | grep kvm
kvm_intel              52570  6
kvm                   314739  1 kvm_intel
检查KVM是否成功安装 
# virsh  list   --all  
Id    名称                    状态
----------------------------------------------------
KVM版本查询
#qemu-kvm -version
QEMU PC emulator version 0.12.1 (qemu-kvm-0.12.1.2), Copyright (c) 2003-2008  Fabrice  Bellard
# virt-install  --version
0.600.0
# virsh --version
0.9.10 
配置网络桥接
[root@gb02 network-scripts]#vi ifcfg-br0
DEVICE="br0"
BOOTPROTO=static
HWADDR="00:25:90:04:07:22"
OnBOOT="yes"
TYPE="Bridge"
IPADDR=10.10.102.2
NETMASK=255.255.0.0
GATEWAY=10.10.77.254
DNS1=8.8.8.8
 
[root@gb02 network-scripts]#Vi ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
BRIDGE="br0"
HWADDR="00:25:90:04:07:22"
IPADDR="10.10.102.2"
NETMASK="255.255.0.0"
GATEWAY="10.10.77.254"
IPV6INIT="no"
MTU="1500"
NM_COnTROLLED="no"
OnBOOT="yes"
TYPE="Ethernet"
UUID="2bed6be5-7a7a-48f9-aba9-151642659da8"
DNS1="8.8.8.8"
 
重启网络
[root@gb02 network-scripts]# service network restart
 
查看桥接网络 
[root@gb02 network-scripts]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.002590040722 no eth0
virbr0 8000.525400083a76 yes virbr0-nic
 
至此KVM安装完成,注意使用KVM命令时是qemu-kvm -[option] 而不是kvm -[option] !!
 
2. 安装VNC-server、VNC-viewer组件
vncserver 是一个为了满足分布式用户共享服务器上面的资源,而在服务器上开启的一项服务,对应的客户端软件为vncviewer;它也可以是不同的操作系统,比如利用windows远程访问linux系统资源的一种远程访问方式。在通过KVM创建虚拟机的过程中我们可以在客户端利用VNC-viewer连接到服务器的VNC-server相应端口,进入图形化界面安装。
目前VNC主要有两个版本,即realVNC和tigerVNC,关于服务器安装VNC-server,两种版本都可以,但客户端的VNC-viewer,建议安装tigerVNC-viewer,因为realVNC-viewer会在创建虚拟机的端口如590x由于连接加密的问题连接不上服务器。
本次VNC安装采用服务器端realVNC-server和客户端tigerVNC-viewer。
 
1) yum源里面没有realVNC,首先要下载realVNC,本系统为64位的centOS6.3,所以下载了64位的版本5.0.5。
http://www.realvnc.com/download/vnc/
2) 压缩包解压后会有两个rpm,服务器上仅安装server端
# rpm -ivh VNC-Server-5.0.5-Linux-x64.rpm
如果发现缺少什么包,就用yum安装,实测centos6.3没缺任何包。
 
3) 安装序列号,进行注册
# /usr/bin/vnclicense -add VKUPN-MTHHC-UDHGS-UWD76-6N36A
这里贡献部分license
VKUPN-MTHHC-UDHGS-UWD76-6N36A
69NCN-JRLBC-QD28Y-5KLY2-UEE6A
6GQQQ-HXLBS-U2H8Q-B6UB7-R7R6A
8XWCU-ZRJBF-U7BXZ-G5EAE-ZPQ2A
6XQQQ-WXL4Q-NN4KX-NUTC6-8ZK6A
PGUFQ-HTZBB-WNHU7-YHDQC-A7R6A
至此服务器端的安装已经完成
 
4) 客户端安装tigerVNC-viewer
首先下载tigerVNC,本客户端采用64位win7,所以下载64位的windows 版本
http://sourceforge.net/projects/tigervnc/
这里仅安装客户端tigerVNC-viewer
然后就可以用vnc viewer远程桌面连接了,这里要用系统帐号的密码登录, 默认端口为5900,远程桌面连接端口则是5900+n(n是vncserver命令指定的)

3. 创建虚拟机
所有组件已经安装好,接下来我们创建虚拟机,分别创建centOS6.3和windows7虚拟机各一个。
1) 创建centOS虚拟机
 
通过qemu-img创建一个10G的映像文件
#qemu-img create -f qow2 centos.img 10G
 
通过/usr/libexec/qemu-kvm创建一个虚拟机,内存1024,从CentOS-6.3.iso安装
#qemu-kvm -m 1024 -cdrom CentOS-6.3.iso -drive file=centos6.3.img -boot d -net nic  -nographic -vnc :2(vnc与:2之间有空格,默认5900端口被占用,使用5900+n端口吧)
 
通过vncviewer观察安装进度
连接端口处写10.10.102.2:5902,连接上之后出现安装界面,继续安装即可。
 
 
2) 安装windows7虚拟机
 
下载virtio驱动,因为win默认不支持virtio驱动,而通过openstack管理虚拟机是需要virtio驱动的。需要两个virtio驱动,一个是硬盘的,一个是网卡的,即:virtio-win-0.1-30.iso和virtio-win-1.1.16.vfd,下载后放到工作目录下。
通过kvm-img或者qemu-img创建一个20G左右的映像文件
#qemu-img create -f raw win7.img 10G
通过/usr/libexec/qume-kvm创建一个虚拟机,内存1024,从windows7.iso安装
#qume-kvm ?m 1024 -cdrom windows7.iso ?drive file=win7.img,if=virtio,boot=on  -fda  virtio-win-1.1.16.vfd -boot d -nographic -vnc :3
通过vncviewer观察安装进度,用vnc安装win7,因为默认没有virtio驱动,所以识别 不了硬盘,需要手动选择,整个过程如下:

 

 



 

 

 

 



 

 






设置开启远程桌面


查看网卡驱动类型


先关机!!!再次启动虚拟机,使用以下命令:
kvm -m 1024 -drivefile=win7.img,if=virtio,boot=on -cdrom virtio-win-0.1-30.iso -net nic,model=virtio -net user -boot c -nographic -vnc 10.1.6.228:8


修改网卡驱动类型









可以看到网卡驱动类型已经更换掉,再次关机!!!
上传win7镜像
glance add name="windows7"is_public=truecontainer_format=ovf disk_format=qcow2



设置安全策略,因为要通过远程桌面连接win7,所以要放开3389端口


启动一个名为win7的虚拟机,第一次启动比较慢,因为要把win7镜像从镜像服务器传送到计算节点上。



通过dashboard的vnc登录



发现一个杯具的事情,那就是dhcp分配的IP并没有生效,那我们就手动配置一下


通过本机自带的mstsc登录win7虚拟机:10.1.200.4





大功告成!!!


推荐阅读
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
author-avatar
mobiledu2502882733
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有