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





大功告成!!!


推荐阅读
  • Fabricetcdraft模式部署配置要求以下信息仅供参考系统环境(Centos7.5)Docker版本(19.03.12)Docker-compose版本(1.24.0)Fab ... [详细]
  • CentOS7通过RealVNC实现多人使用服务器桌面
    背景:公司研发团队通过VNC登录到CentOS服务器的桌面实现软件开发工作为防止数据外泄,需要在RealVNC设置禁止传输文件、访问粘贴板等策略过程&# ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • SecureCRT是一款功能强大的终端仿真软件,支持SSH1和SSH2协议,适用于在Windows环境下高效连接和管理Linux服务器。该工具不仅提供了稳定的连接性能,还具备丰富的配置选项,能够满足不同用户的需求。通过SecureCRT,用户可以轻松实现对远程Linux系统的安全访问和操作。 ... [详细]
  • 技术日志:Ansible的安装及模块管理详解 ... [详细]
  • ffmpeg【百度百科】
    FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录 ... [详细]
  • 微软云计算操作系统WindowsAzure平台——云+端全面攻略
    在云计算时代,有三个平台非常重要,即开发平台、部署平台和运营平台。WindowsAzurePlatform是微软的云计算平台,在微软的整体云计算解决方案中发挥关键作用。它既是 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 如何在Mozilla Firefox中调整GIF动画的循环次数
    本文介绍了如何通过调整Mozilla Firefox的高级设置来控制GIF动画的播放次数,帮助用户根据个人喜好自定义浏览体验。 ... [详细]
  • 如何在U8系统中连接服务器并获取数据
    本文介绍了如何在U8系统中通过不同的方法连接服务器并获取数据,包括使用MySQL客户端连接实例的方法,如非SSL连接和SSL连接,并提供了详细的步骤和注意事项。 ... [详细]
  • 构建个人多节点Linux环境(CodeSheep)
    本文介绍如何通过虚拟机搭建一个多节点的Linux环境,这对于学习、实验和项目部署都具有重要意义。文章详细讲解了网络IP设置、节点间通信等关键步骤。 ... [详细]
  • 深入解析C语言中结构体的内存对齐机制及其优化方法
    为了提高CPU访问效率,C语言中的结构体成员在内存中遵循特定的对齐规则。本文详细解析了这些对齐机制,并探讨了如何通过合理的布局和编译器选项来优化结构体的内存使用,从而提升程序性能。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 本书《.NET Core 2.* 开发者指南》是面向开发者的全面学习与实践手册,涵盖了从基础到高级的各个层面。书中详细解析了 .NET Core 的核心概念,包括如何创建 .NET Core 网站,并通过视频教程直观展示操作过程。此外,还深入探讨了 Startup 类的作用、项目目录结构的组织方式以及如何在应用中使用静态文件等内容。对于希望深入了解 .NET Core 架构和开发技巧的开发者来说,本书提供了丰富的实践案例和详尽的技术指导。 ... [详细]
  • 最新技术_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社区 版权所有