跳至内容
响水凹
欢迎来到 Guang-Wen Duan (Dennis Duan) 的个人 Wiki
用户工具
登录
站点工具
搜索
工具
显示页面
过去修订
反向链接
最近更改
媒体管理器
网站地图
登录
>
最近更改
媒体管理器
网站地图
您的足迹:
computer:env:kvm
本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。
====== CentOS 6下KVM环境的安装和配置 ====== KVM是Kernel-based Virtual Machine的缩写,是虚拟化的一种实现方案。本文主要参考[[http://www.redhat.com|RedHat]]虚拟化方面的官方文档: * [[https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Administration_Guide/index.html|Virtualization Administration Guide]] * [[https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Getting_Started_Guide/index.html|Virtualization Getting Started Guide]] * [[https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Host_Configuration_and_Guest_Installation_Guide/index.html|Virtualization Host Configuration and Guest Installation Guide]] * [[https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Security_Guide/index.html|Virtualization Security Guide]] 更多信息均可以从官网获得,下面只简要说明处理步骤。 ===== 安装软件包 ===== 除了基本的KVM软件包,也同时安装一些管理工具: <code bash> yum install kvm yum install virt-manager libvirt libvirt-python python-virtinst libvirt-client </code> 各个软件包的详细说明,可参阅:[[https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Host_Configuration_and_Guest_Installation_Guide/sect-Virtualization_Host_Configuration_and_Guest_Installation_Guide-Host_Installation-Installing_KVM_packages_on_an_existing_Red_Hat_Enterprise_Linux_system.html|Installing virtualization packages on an existing Red Hat Enterprise Linux system]]。 KVM包含全套的命令行工具,如果在图形界面下,使用virt-manager是最简单的方式。 ===== SELinux ===== SELinux是无法回避的一套安全机制,详细信息可参考官方文档[[https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/index.html|Security-Enhanced Linux]]。很多人图省事,简单的禁用了它。个人不建议这么做,相反,还安装如下的一些软件包,方便管理: <code bash> yum install policycoreutils-python yum install setroubleshoot yum install setroubleshoot-server yum install setools-console </code> 同时,启用auditd服务,记录安全日志,以便能更容易找到解决方案: <code bash> chkconfig auditd on </code> ===== 存储 ===== KVM支持本地和网络的存储,每种又支持很多模式。详细说明可参阅:[[https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Administration_Guide/chap-Virtualization_Administration_Guide-Storage_Concepts.html|Storage concepts]]。 最简单的本地存储模式就是文件系统目录,本地存储缺省目录在/var/lib/libvirt/images/下。在[[.:platform|虚拟机学习平台的搭建]]一文中已准备好了一个文件系统/raid0,通过virt-manager将其添加到存储池里,以后就可以利用这块存储空间来建立虚拟机了。 对于比较简单的NFS网络模式,需要注意的是,要让虚拟机能利用远端服务器的NFS存储,需要设置SELinux: <code bash> /usr/sbin/setsebool -P virt_use_nfs=1 </code> NFS对网络要求很高,这也是在[[.:platform|虚拟机学习平台的搭建]]一文中提到至少千兆网卡的原因,百兆网络的速度还不如一些本地移动设备。 ===== 网络 ===== ==== 虚拟网络 ==== 每个虚拟网络就好比是一台交换机(switch),使用同一个虚拟网络的虚拟机就如同接在同一台交换机上,彼此可以互相通信。 KVM支持多种虚拟网络模式: * NAT模式(缺省),虚拟机通过IP伪装与外界通信,外界无法访问虚拟机; * Routed模式,虚拟网络如同一台路由器,路由设置正确后,内外可互访; * Isolated模式,虚拟机只能与宿主机以及同一个虚拟网络上的其他虚拟机通信。 有关虚拟网络的详细说明,可参阅:[[https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Administration_Guide/chap-Virtualization_Administration_Guide-Virtual_Networking.html|Virtual Networking]]。 ==== 桥接模式 ==== 还有一种模式称为桥接(bridge)模式,此模式下,虚拟机就如同一台真实的物理机器展现在外界。 要配置桥接模式,需要禁用NetworkManager,恢复传统的网络配置模式: <code bash> chkconfig NetworkManager off chkconfig network on service NetworkManager stop </code> 编辑桥接对应的物理网卡配置文件(以eth0为例)/etc/sysconfig/network-scripts/ifcfg-eth0: <code> DEVICE="eth0" ONBOOT=yes HWADDR=8C:89:A5:56:2C:B2 BRIDGE=br0 </code> 这里只需指定物理地址和桥接设备名称br0,详细的网络参数下面设置。 新建桥接设备配置文件/etc/sysconfig/network-scripts/ifcfg-br0: <code> DEVICE="br0" TYPE=Bridge BOOTPROTO=none ONBOOT=yes DELAY=0 IPADDR=192.168.176.20 PREFIX=24 GATEWAY=192.168.176.1 DNS1=192.168.176.1 DEFROUTE=yes </code> 注意“TYPE=Bridge”的大小写,其余都是传统的网络参数了。 完毕启动网络: <code bash> service network start </code> 针对桥接,需要修改防火墙设置,让所有桥接数据都forward通过: <code bash> iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT service iptables save service iptables restart </code> 显示桥接状态: <code bash> brctl show </code> 有关桥接网络的详细说明,可参阅:[[https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Host_Configuration_and_Guest_Installation_Guide/sect-Virtualization_Host_Configuration_and_Guest_Installation_Guide-Network_Configuration-Network_Configuration-Bridged_networking_with_libvirt.html|Bridged networking with libvirt]]。 ===== 应用 ===== 一些应用案例(不断更新): [[.:net_simulation | 用KVM虚拟机模拟网络环境]] [[.:hadoop | Hadoop集群环境的模拟]] [[.:openmpi | OpenMPI并行环境的模拟]] [[.:mongodb | MongoDB数据库集群的模拟]] {{tag>CentOS 虚拟化}}
computer/env/kvm.txt
· 最后更改: 2014/11/01 02:02 由
127.0.0.1
页面工具
显示页面
过去修订
反向链接
回到顶部