kvm网络模式.doc_第1页
kvm网络模式.doc_第2页
kvm网络模式.doc_第3页
kvm网络模式.doc_第4页
kvm网络模式.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

_摘要:KVM虚拟机网络配置的两种方式:NAT方式和Bridge方式。Bridge方式的配置原理和步骤。Bridge方式适用于服务器主机的虚拟化。Bridge模式问题客户机安装完成后,需要为其设置网络接口,以便和主机网络,客户机之间的网络通信。事实上,如果要在安装时使用网络通信,需要提前设置客户机的网络连接。KVM 客户机网络连接有两种方式: 用户网络(User Networking):让虚拟机访问主机、互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机,性能上也需要大的调整。NAT方式。 虚拟网桥(Virtual Bridge):这种方式要比用户网络复杂一些,但是设置好后客户机与互联网,客户机与主机之间的通信都很容易。Bridge方式。本文主要解释Bridge方式的配置。Bridge方式原理Bridge方式即虚拟网桥的网络连接方式,是客户机和子网里面的机器能够互相通信。可以使虚拟机成为网络中具有独立IP的主机。桥接网络(也叫物理设备共享)被用作把一个物理设备复制到一台虚拟机。网桥多用作高级设置,特别是主机多个网络接口的情况。如上图,网桥的基本原理就是创建一个桥接接口br0,在物理网卡和虚拟网络接口之间传递数据。Bridge方式的适用范围服务器主机虚拟化。网桥方式配置步骤1、编辑修改网络设备脚本文件,增加网桥设备br0vi /etc/sysconfig/network-scripts/ifcfg-br0DEVICE=br0ONBOOT=yesTYPE=BridgeBOOTPROTO=staticIPADDR=9NETMASK=GATEWAY=DEFROUTE=yes上述配置将虚拟网卡配置在了10.0.112.* 网段。如果不需要静态地址,可以把配置地址的相关项屏蔽。如:DEVICE=br0ONBOOT=yesTYPE=BridgeBOOTPROTO=dhcp2、编辑修改网络设备脚本文件,修改网卡设备eth0DEVICE=eth0NM_CONTROLLED=noONBOOT=yesTYPE=EthernetBOOTPROTO=noneBRIDGE=br0NAME=System eth0HWADDR=44:37:E6:4A:62:ADNM_CONTROLLED这个属性值,根据redhat公司的文档是必须设置为“no”的(这个值为“yes”表示可以由服务NetworkManager来管理。NetworkManager服务不支持桥接,所以要设置为“no”。),但实际上发现设置为“yes”没有问题。通讯正常。3、重启网络服务#service network restart4、校验桥接接口#brctl showbridge name bridge id STP enabled interfacesbr0 8000.4437e64a62ad no eth0客户机配置客户机安装时注意,网络要选择用br0桥接方式。图形化的方式:文本方式:编辑修改虚拟机配置文件 /etc/libvirt/qemu/v1.xml,增加如下内容虚拟机启动后,验证网络接口是否正常:# brctl showbridge name bridge id STP enabled interfacesbr0 8000.4437e64a62ad no eth0vnet0NAT方式的影响网桥方式的配置与虚拟机支持模块安装时预置的虚拟网络桥接接口virbr0没有任何关系,配置网桥方式时,可以把virbr0接口(即NAT方式里面的default虚拟网络)删除。# virsh net-destroy default# virsh net-undefine default# service libvirtd restartNAT模式问题客户机安装完成后,需要为其设置网络接口,以便和主机网络,客户机之间的网络通信。事实上,如果要在安装时使用网络通信,需要提前设置客户机的网络连接。KVM 客户机网络连接有两种方式: 用户网络(User Networking):让虚拟机访问主机、互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机,性能上也需要大的调整。NAT方式。 虚拟网桥(Virtual Bridge):这种方式要比用户网络复杂一些,但是设置好后客户机与互联网,客户机与主机之间的通信都很容易。Bridge方式。本文主要解释NAT方式的配置。NAT方式原理NAT方式是kvm安装后的默认方式。它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机。检查当前的网络设置:#virsh net-list -allName State Autostart-default active yesdefault是宿主机安装虚拟机支持模块的时候自动安装的。检查当前的网络接口:#ifconfigeth0 Link encap:Ethernet HWaddr 44:37:E6:4A:62:AD inet6 addr: fe80:4637:e6ff:fe4a:62ad/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:987782 errors:0 dropped:0 overruns:0 frame:0TX packets:84155 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:109919111 (104.8 MiB) TX bytes:12695454 (12.1 MiB)Interrupt:17 lo Link encap:Local Loopback inet addr: Mask:inet6 addr: :1/128 Scope:HostUP LOOPBACK RUNNING MTU:16436 Metric:1RX packets:4 errors:0 dropped:0 overruns:0 frame:0TX packets:4 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:240 (240.0 b) TX bytes:240 (240.0 b)virbr0 Link encap:Ethernet HWaddr 52:54:00:B9:B0:96 inet addr: Bcast:55 Mask:UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:2126 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:100387 (98.0 KiB)virbr0-nic Link encap:Ethernet HWaddr 52:54:00:B9:B0:96 BROADCAST MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:500 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)其中virbr0是由宿主机虚拟机支持模块安装时产生的虚拟网络接口,也是一个switch和bridge,负责把内容分发到各虚拟机。几个虚拟机管理模块产生的接口关系如下图:从图上可以看出,虚拟接口和物理接口之间没有连接关系,所以虚拟机只能在通过虚拟的网络访问外部世界,无法从网络上定位和访问虚拟主机。virbr0是一个桥接器,接收所有到网络192.168.122.*的内容。从下面命令可以验证:# brctl showbridge name bridge id STP enabled interfacesvirbr0 8000.525400b9b096 yes virbr0-nic# routeKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface * U 0 0 0 virbr0同时,虚拟机支持模块会修改iptables规则,通过命令可以查看:# iptables -t nat -L -nvChain PREROUTING (policy ACCEPT 16924 packets, 2759K bytes)pkts bytes target prot opt in out source destinationChain POSTROUTING (policy ACCEPT 2009 packets, 125K bytes)pkts bytes target prot opt in out source destination 421 31847 MASQUERADE all - * * /24 !/24 -这条是关键,它配置了NAT功能。Chain OUTPUT (policy ACCEPT 2011 packets, 125K bytes)pkts bytes target prot opt in out source destination # iptables -t filter -L -nvChain INPUT (policy ACCEPT 0 packets, 0 bytes)pkts bytes target prot opt in out source destination 1 74 ACCEPT udp - virbr0 * /0 /0 udp dpt:53 -由libvirt脚本自动写入0 0 ACCEPT tcp - virbr0 * /0 /0 tcp dpt:53 -由libvirt脚本自动写入3 984 ACCEPT udp - virbr0 * /0 /0 udp dpt:67 -由libvirt脚本自动写入0 0 ACCEPT tcp - virbr0 * /0 /0 tcp dpt:67 -由libvirt脚本自动写入178K 195M ACCEPT all - * * /0 /0 state RELATED,ESTABLISHED -iptables的系统预设2 168 ACCEPT icmp - * * /0 /0 -iptables的系统预设1148 216K ACCEPT all - lo * /0 /0 -iptables的系统预设1 60 ACCEPT tcp - * * /0 /0 state NEW tcp dpt:22 -iptables的系统预设16564 2721K REJECT all - * * /0 /0 reject-with icmp-host-prohibited -iptables的系统预设Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)pkts bytes target prot opt in out source destination 3726 3485K ACCEPT all - * virbr0 /0 /24 state RELATED,ESTABLISHED -由libvirt脚本自动写入3491 399K ACCEPT all - virbr0 * /24 /0 -由libvirt脚本自动写入0 0 ACCEPT all - virbr0 virbr0 /0 /0 -由libvirt脚本自动写入0 0 REJECT all - * virbr0 /0 /0 reject-with icmp-port-unreachable -由libvirt脚本自动写入0 0 REJECT all - virbr0 * /0 /0 reject-with icmp-port-unreachable -由libvirt脚本自动写入0 0 REJECT all - * * /0 /0 reject-with icmp-host-prohibited -iptables的系统预设Chain OUTPUT (policy ACCEPT 181K packets, 138M bytes)pkts bytes target prot opt in out source destination如果没有default的话,或者需要扩展自己的虚拟网络,可以使用命令重新安装NAT。NAT方式的适用范围桌面主机虚拟化。创建步骤#virsh net-define /usr/share/libvirt/networks/default.xml此命令定义一个虚拟网络,default.xml的内容:default也可以修改xml,创建自己的虚拟网络。标记为自动启动:#virsh net-autostart defaultNetwork default marked as autostarted启动网络:#virsh net-start defaultNetwork default started网络启动后可以用命令brctl show 查看和验证。修改/etc/sysctl.conf中参数,允许ip转发:net.ipv4.ip_forward=1客户机安装客户机安装时注意,网络要选择用NAT方式。图形化的方式:文本方式:编辑修改虚拟机配置文件 /etc/libvirt/qemu/v1.xml,增加如下内容虚拟机启动后,验证网络接口是否正常:# brctl showbridge name bridge id STP enabled interfacesvirbr0 8000.525400b9b096 yes virbr0-nicvnet0Bridge方式的影响Bridge方式配置出来的接口对NAT方式没有影响,因为NAT方式并没有使用物理网卡。但作为客户机,只能选择其中的一种。 客户机动态迁移源机和目的机rhel版本必须一致1 源端建立nfs Vi /etc/exports/var/lib/libvirt/images *.(rw,no_root_squash,sync)2 在目的端mount nfs# mount storage_host:/var/lib/libvirt/images /var/lib/libvirt/images3 在目的端执行virsh# virsh migrate -live GuestName DestinationURLDestinationURL指的是目的机的主机名或ip例如:# virsh migrate -live guest1-rhel6-64 qemu+ssh://system客户机自动启动virsh autostart TestServerDomain TestServer marked as autostarted# virsh autostart -disable TestServerDomain TestServer unmarked as autostarted改变disk image大小# qemu-img resize filename +|-sizeK|M|G|T查看vol信息# virsh vol-info /images/secondimage.imgName: secondimage.imgType: fileCapacity: 20.00 GBAllocation: 136.00 KB创建存储池基于分区先分区,格式化1 定义分区# virsh pool-define-as guest_images_fs fs - - /dev/sdc1 - /guest_imagesPool guest_images_fs definedguest_images_fs pool名称/devsdc1 分区/guest_images mount点2 确认# virsh pool-list -allName State Autostart-default active yesguest_images_fs inactive no3 建立mount点# virsh pool-build guest_images_fsPool guest_images_fs built# ls -la /guest_imagestotal 8drwx-. 2 root root 4096 May 31 19:38 .dr-xr-xr-x. 25 root root 4096 May 31 19:38 .# virsh pool-list -allName State Autostart-default active yesguest_images_fs inactive no4 启动存储池# virsh pool-start guest_images_fsPool guest_images_fs started# virsh pool-list allName State Autostart-default active yesguest_images_fs active no5 自动启动# virsh pool-autostart guest_images_fsPool guest_images_fs marked as autostarted# virsh pool-list -allName State Autostart-default active yesguest_images_fs active yes6 确认存储池# virsh pool-info guest_images_fsName: guest_images_fsUUID: c7466869-e82a-a66c-2187-dc9d6f0877d0State: runningCapacity: 458.39 GBAllocation: 197.91 MBAvailable: 458.20 GB# mount | grep /guest_images/dev/sdc1 on /guest_images type ext4 (rw)# ls -la /guest_imagestotal 24drwxr-xr-x. 3 root root 4096 May 31 19:47 .dr-xr-xr-x. 25 root root 4096 May 31 19:38 .drwx-. 2 root root 16384 May 31 14:18 lost+found基于目录1 定义存储池# virsh pool-define-as guest_images_dir dir - - - - /guest_imagesPool guest_images_dir defined2 确认# virsh pool-list -allName State Autostart-default active yesguest_images_dir inactive no3 创建本地目录# virsh pool-build guest_images_dirPool guest_images_dir built# ls -la /guest_imagestotal 8drwx-. 2 root root 4096 May 30 02:44 .dr-xr-xr-x. 26 root root 4096 May 30 02:44 .# virsh pool-list -allName State Autostart-default active yesguest_images_dir inactive no4 启动存储池# virsh pool-start guest_images_dirPool guest_images_dir started# virsh pool-list -allName

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论