热门标签 | 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





大功告成!!!


推荐阅读
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 内网知识整理
    内网 ... [详细]
  • ffmpeg【百度百科】
    FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ... [详细]
  • Linux防火墙配置—允许转发
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 我一直都有记录信息的习惯,不知是从什么时候开始,大约是在工作后不久。如今还真有点庆幸从那时开始记了点东西,当然是电子版的,写 ... [详细]
  • smarty内部日期函数html_select_date()用法实例分析,select函数用法
    php教程|php手册smarty,日期,html,select,date(),smartyphp教程-php手册smarty内部日期函数html_select_date()用法实 ... [详细]
  • 最新技术_Tungsten Fabric架构和最新技术进展丨TF成立大会演讲实录
    本文整理自瞻博网络杰出工程师SukhdevKapur在“TF中文社区成立暨第一次全员大会”上的演讲,增加了对于TF功能的描述,pdf点击下载。https://tung ... [详细]
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社区 版权所有