设为首页 收藏本站
查看: 1961|回复: 0

[经验分享] RHEL6 KVM安装备忘

[复制链接]

尚未签到

发表于 2015-4-10 15:26:54 | 显示全部楼层 |阅读模式
  KVM(全称是Kernel-based Virtual Machine)是Linux下x86 硬件平台上的全功能虚拟化解决方案,包含一个可加载的内核模块kvm.ko提供和虚拟化核心架构和处理器规范模块。
  使用KVM可允许多个包括Linux和Windows每个虚拟机有私有的硬件,包括网卡、磁盘以及图形适配卡等。自Linux 2.6.20之后集成在Linux的各个主要发行版本中,它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。
  KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己到进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列也是基于软件模拟的Para-Virtualization。
  
  KVM原理图

DSC0000.jpg


  一个典型的 KVM 安装包括以下部件:


  • 一个管理虚拟硬件的设备驱动,这个驱动通过一个字符设备 /dev/kvm 导出它的功能。通过 /dev/kvm 每一个客户机拥有其自身的地址空间,这个地址空间与内核的地址空间相分离或与任何一个正运行着的客户机相分离。
  • 一个模拟硬件的用户空间部件,它是一个稍微改动过的 QEMU 进程。从客户机操作系统执行 I/O 会拥有 QEMU 。 QEMU 是一个平台虚拟化方案,它允许整个 PC 环境(包括磁盘、显示卡(图形卡)、网络设备)的虚拟化。任何客户机操作系统所发出的 I/O 请求都被拦截,并被路由到用户模式用以被 QEMU 过程模拟仿真。
  检查CPU
  和 Xen 不同,KVM 需要有 CPU 的支持(IntelVT 或 AMD SVM),在安装 KVM之前检查一下CPU是否提供了虚拟技术的支持:


  # grep -E --color 'vmx|svm' /proc/cpuinfo
  flags       :fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dtsacpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmonpebs bts rep_good aperfmperf pni dtes64 monitor ds_cplvmxest
tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm tpr_shadow vnmi flexpriority
  flags       :fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dtsacpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmonpebs bts rep_good aperfmperf pni dtes64 monitor ds_cplvmxest
tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm tpr_shadow vnmi flexpriority
  
  RHEL6系列安装虚拟化工具可以在安装系统的时候选择安装(这里不作介绍),这里主要介绍的是系统安装之后使用YUM安装虚拟化工具的过程。
  
  yum安装虚拟化
  为了在RHEL6上使用虚拟化至少要安装qemu-kvmqemu-img包。这些安装包提供用户级别的KVM模拟器和RHEL6系统主机磁盘镜像管理。
  


  # yum install qemu-kvm qemu-img
  
  其他一些额外


  # yum install virt-managerlibvirt libvirt-python python-virtinst libvirt-client virt-viewer
  virt-manager: virt-manager, also known as Virtual Machine Manager, provides agraphical tool for administering virtual machines. It uses libvirt-clientlibrary as the management API.
  libvirt: he libvirt package provides the server and host side librariesfor interacting with hypervisors and host systems. The libvirt package providesthe libvirtd daemon that handles the library calls, manages
virtualized guestsand controls the hypervisor.
  libvirt-python:The libvirt-python package contains a module thatpermits applications written in the Python programming language to use theinterface supplied by the libvirt API.
  python-virtinst:Provides the virt-install command for creatingvirtual machines.(提供virt-install命令安装虚拟机)
  libvirt-client:The libvirt-client package provides theclient-side APIs and libraries for accessing libvirt servers. Thelibvirt-client package includes the virsh command line tool to manage andcontrol virtualized
guests and hypervisors from the command line or a specialvirtualization shell.
  virt-viewer:开启图形控制台安装虚拟客户机需要
  
  也可以使用 yum groupinstall


  # yum groupinstall -y  Virtualization  "Virtualization Client""Virtualization Platform" "Virtualization Tools"
  
  birdge networking 桥接网络


  # vim /etc/sysconfig/network-scripts/ifcfg-eth0
  DEVICE=eth0
  HWADDR=xxxxxxxxx
  ONBOOT=yes
  BRIDGE=br0
  


  # vim /etc/sysconfig/network-scripts/ifcfg-br0
  DEVICE=br0
  TYPE=Bridge
  BOOTPROTO=static
  ONBOOT=yes
  IPADDR=10.1.1.X
  NETMASK=255.255.255.0
  GATEWAY=x.x.x.x
  
DSC0001.png


  # service network restart
  # brctl show
  bridge name    bridge id                     STP enabled    interfaces
  br0                      8000.b8975a004d66        no              eth0
  virbr0                 8000.52540077cd54        yes            virbr0-nic
  
  如果设置了防火墙,则使用以下命令放行


  # iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
  # service iptables save
  # service iptables restart
  


  # /etc/init.d/libvirtd restart
  正在关闭libvirtd 守护进程:                               [确定]
  启动libvirtd 守护进程:                                       [确定]
  # chkconfig libvirtd on
  
  安装可以使用命令行实现,也可以使用KVM管理器安装,这里只介绍命令行的一般安装方法
  # virt-install --name=rhel6-1 --disk path=/kvm/rhel6-1/rhel6.img,size=10,sparse=true --graphics=vnc --network bridge=br0 --os-type=linux --os-variant=rhel6 --ram=1024 --cdrom=/media/rhel-server-6.1-i386-dvd.iso  //本地安装


  
  

# virt-install \
--name=rhel6-2 \
--file=/kvm/rhel6-2/rhel6-2.img \
--file-size=10 \
--nonsparse --graphics spice \
--vcpus=2 --ram=2048 \
--location=http://example1.com/installation_tree/RHEL6.1-Server-x86_64/os \
--network bridge=br0 \
--os-type=linux \
--os-variant=rhel6-2

//http方式安装

  
  网络安装方法

# virt-install    --name=rhel6-3   --disk path=/kvm/rhel6-3/rhel6.img,size=10,sparse=true \

--graphics=vnc    --vcpus=1 --ram=1024   --network bridge=br0    --os-type=linux  \

--os-variant=rhel6    --location=nfs:10.1.1.1:/share/rhel6.1 --extra-args "ks=ftp://cs:cs@10.1.1.10/my.cfg"

  参考:红帽虚拟化官方文档


  terry技术博客


  IBM虚拟机

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-55737-1-1.html 上篇帖子: Ubuntu 10.04 之 KVM (转) 下篇帖子: virtio支持的kvm和内核版本要求(方法二)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表