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

CentOS6.4系统中安装配置KVM虚拟机

说明:只有RHEL5.5以上64位server版才可以安装KVM,Centos相同。client版本和32位都安装不了KVM。安装前期准备:因为有些CPU不支持kvm虚拟化,Need查看主板(BIOS)是否启动了虚拟化选项;另外在安装Centos的软件包时,勾选虚拟化,如果没有选,可以用命令:
说明:
只有RHEL5.5以上 64位 server版才可以安装KVM,Centos相同。client版本和32位都安装不了KVM。
安装前期准备: 因为有些CPU不支持kvm虚拟化,Need查看主板(BIOS)是否启动了虚拟化选项; 另外在安装Centos的软件包时,勾选虚拟化, 如果没有选, 可以用命令:yum install virt* 安装即可

0. 配置BIOS
使BIOS支持虚拟化,
如果没配置的话会报错:
“Error polling connection 'qemu:///system': internal error Cannot find suitable emulator for x86_64 ”

1.需要软件
       1.1Kvm 模块
       2.6.29之后内核大多包含了kvm模块, Slackware13.37内核版本为2.6.32已经包含       了kvm模块,所以无需从网上下载kvm-mod模块,否则模块无法正常启动,kvm虚拟机  速度极慢。
       1.2用户空间组件
       目前两种版本qemu-kvm 和 kvm 的用户空间组件,kvm 现在已经不提倡使用,最好使用qemu-kvm,从网上下载qemu-kvm-1.0.tar.gz, 版本号1.0

       1.3 yum install  tunctl 组件,版本号1.5, 主要用来实现虚拟机联网packages is in  DVD.
2.安装步骤 
       2.1  安装   qemu-kvm(如果yum 安装了qemu-kvn可以不安装这一步。)
       ./configure --disable-vnc-tls --disable-vnc-sasl    把这个VNC选项禁掉否则会报错;
       make
       make install
       2.2  安装   tunctl       
       yum install  tunctl -y
重启server,调试CPU.

3.主机和客户机联网
一  真实机上配置
[root@localhost src]# cd /etc/sysconfig/network-scripts/
1/ 备份网卡
 cp -rap ifcfg-eth0 bak.ifcfg-eth0
2/新的桥接网卡使用eth0的配置文件
  cp -rap ifcfg-eth0 ifcfg-br33
3/编辑这两个配置文件 注意编辑这个文件会导致网卡ip宕掉。可以先编辑下面的配置文件。
vim ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
HWADDR=bc:ae:c5:df:93:96
NM_COnTROLLED=yes
OnBOOT=yes
BRIDGE="br33"
IPV6INIT=no
USERCTL=no
保存推出
vim /etc/sysconfig/network-scripts/ifcfg-br33 
DEVICE=br33
BOOTPROTO=static
HWADDR=bc:ae:c5:df:93:96
NM_COnTROLLED=yes
OnBOOT=yes
TYPE=Bridge
IPADDR=192.168.1.202
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
保存推出
重启网卡
/etc/init.d/network restart
3. 关闭centos的NetworkManager(这一步可以不做)
一定要关闭这个服务,否则网卡的脚本配置文件可能不会生效,上不了网
service NetworkManager stop
3.4重启网络服务
service network restart
3.5开启转发(这一步可以不做)
echo 1 > /proc/sys/net/ipv4/ip_forward
3.6 Review network card status: [root@localhost ~]# ifconfig
br33      Link encap:Ethernet  HWaddr 00:25:64:97:BA:51  
          inet addr:192.168.120.96  Bcast:192.168.120.255  Mask:255.255.255.0
          inet6 addr: fe80::225:64ff:fe97:ba51/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:641005 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4785 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:64019315 (61.0 MiB)  TX bytes:278717 (272.1 KiB)
eth0      Link encap:Ethernet  HWaddr 00:25:64:97:BA:51  
          inet6 addr: fe80::225:64ff:fe97:ba51/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:1410323 errors:0 dropped:0 overruns:0 frame:0
          TX packets:465818 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:254264481 (242.4 MiB)  TX bytes:293774426 (280.1 MiB)
          Interrupt:21 Memory:fe6e0000-fe700000 
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:468571 errors:0 dropped:0 overruns:0 frame:0
          TX packets:468571 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:898319692 (856.7 MiB)  TX bytes:898319692 (856.7 MiB)
virbr0    Link encap:Ethernet  HWaddr 52:54:00:B3:44:41  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4293 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:205669 (200.8 KiB)
vnet0     Link encap:Ethernet  HWaddr FE:54:00:11:CE:91  
          inet6 addr: fe80::fc54:ff:fe11:ce91/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:182999 errors:0 dropped:0 overruns:0 frame:0
          TX packets:911932 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:266186182 (253.8 MiB)  TX bytes:110334183 (105.2 MiB)
vnet1     Link encap:Ethernet  HWaddr FE:54:00:A5:0F:52  
          inet6 addr: fe80::fc54:ff:fea5:f52/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:161319 errors:0 dropped:0 overruns:0 frame:0
          TX packets:783482 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:20856924 (19.8 MiB)  TX bytes:97247791 (92.7 MiB)
[root@localhost ~]# 

Summary: eth0 don't have IP address, only br33 has valid IP. That is to say, br33 IP address is server's IP address.
小结:之前主机不能上网,虚拟机可以上网,可能的:1.没有写网桥的配置文件而是参照KVM官网上面,用命令来添加网桥,绑定网卡,故网桥就没有配置网关2.开启了NetworkManager 这个服务,导致用ifconfig命令来配置网络失效3.没有正确的设置好DNS
########## 
新建完虚拟机后,千万不要使用默认的硬盘类型,要删除默认的硬盘,然后再添加一块硬盘,硬盘类型要vda的,硬盘格式要raw的,缓存模式要none,即可。 
#########
使用默认的硬盘类型会出现死机情况和老牛拉破车情况---慢!!!
########### 
注意选择架构和虚拟机类型,一定要选择kvm,架构符合你的虚拟机的实际情况,我的虚拟机选择kvm和i686,否则虚拟机非常慢,都没法使用了。 
################################

      

4.0 新建KVM虚拟机
安装虚拟机时,选择高级-网卡-br33,即可。
       切换到root用户: su ?l
       安装kvm模块    modprobe kvm && modprobe kvm_intel
       查看模块安装; lsmod | grep kvm
新建虚拟机的步骤:
1. 在服务器上键入命令:(因为要选择镜像格式qcow2来做快照,所以不能使用图形界面默认的格式)
[root@PLASPACSHCN14 ~]# cd /var/lib/libvirt/images/
[root@PLASPACSHCN14 images]# qemu-img create -f qcow2 test.img 10G
Formatting 'test1.img', fmt=qcow2 size=10737418240 encryption=off cluster_size=65536
大小我给10G,根据需求自己可以定义,镜像名称是test.img。
2. 打开图形界面:
[root@PLASPACSHCN14 images]# virt-manager 
Xlib:  extension "RANDR" missing on display "localhost:10.0".


选择new,来新建一个虚拟机:


这里输入虚拟机的名字,然后注意,一定要选择“import existing disk image”,这样才可以选择刚才创建好的镜像。
选择“Forward”

这里输入刚才创建的镜像的路径即可。
选择下一步。
一路下一步,等待设置完成之后,会发现,没有选择光驱。
选择Details选项

这里选择“Add Hardware”
下面需要修改光盘文件的路径,指向操作系统镜像文件即可。
然后Device type:这里选择"IDE cdrom"即可。如图:

接下来,点击finish。重启之后继续安装系统就OK啦!
 kvm相关命令:
开启虚拟机:
virt-manager
4.1为客户机新建一个硬盘镜像
       qemu-img create -f qcow2 vdisk.img 50G
4.2安装客户机操作系统:
       光盘启动:
       qemu-system-x86_64-hda vdisk.img -cdrom /dev/cdrom -boot d -m 512
       .iso文件启动:
       qemu-system-x86_64-hda vdisk.img -cdrom /Centos6.0.iso(此处为iso文件路径) -bootd  -m512
4.3启动操作系统:
       qemu-system-x86_64?had vdisk.img?net nic,macaddr=自定义物理地址?net tap ?  m 512
启动客户机后,可以如一般操作系统来使用,如果要联网配下客户机的ip和网关即可上网
过程中碰到的问题如:Centos6.2 下KVM 虚拟机 花屏死机问题, VNC错误等参见博客的其他文章,如有其他问题欢迎留言共同探讨, 另外以上命令可写成脚本简化安装。

推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 我一直都有记录信息的习惯,不知是从什么时候开始,大约是在工作后不久。如今还真有点庆幸从那时开始记了点东西,当然是电子版的,写 ... [详细]
  • 1、打开etcsysconfiggrub,   #vimetcsysconfiggrub   内容如下: ... [详细]
  • 本文介绍了如何找到并终止在8080端口上运行的进程的方法,通过使用终端命令lsof -i :8080可以获取在该端口上运行的所有进程的输出,并使用kill命令终止指定进程的运行。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 图片复制到服务器 方向变了_双服务器热备更新配置文件步骤问题及解决方法
    本文介绍了在将图片复制到服务器并进行方向变换的过程中,双服务器热备更新配置文件所出现的问题及解决方法。通过停止所有服务、更新配置、重启服务等操作,可以避免数据中断和操作不规范导致的问题。同时还提到了注意事项,如Avimet版本的差异以及配置文件和批处理文件的存放路径等。通过严格执行切换步骤,可以成功进行更新操作。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 1.webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用(1) ... [详细]
  • 1、DashAPI文档Dash是一个API文档浏览器,使用户可以使用离线功能即时搜索无数API。程序员使用Dash可访问iOS,MacOS, ... [详细]
  • 与.Net大师Jeffrey Richter面对面交流——TUP对话大师系列活动回顾(多图配详细文字)...
    与.Net大师JeffreyRichter面对面交流——TUP对话大师系列活动回顾(多图配文字)上周末很有幸参加了CSDN举行的TUP活动, ... [详细]
  • Abp+MongoDb改造默认的审计日志存储位置
    一、背景在实际项目的开发当中,使用AbpZero自带的审计日志功能写入效率比较低。其次审计日志数据量中后期十分庞大,不适合与业务数据存放在一起。所以我们可以重新实现A ... [详细]
  • 支持_iOS 11.3 固件暗示:iPad Pro 将支持面容 ID
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了iOS11.3固件暗示:iPadPro将支持面容ID相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
key920721
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有