kvm网络模式.docx
- 文档编号:10380115
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:15
- 大小:18.77KB
kvm网络模式.docx
《kvm网络模式.docx》由会员分享,可在线阅读,更多相关《kvm网络模式.docx(15页珍藏版)》请在冰豆网上搜索。
kvm网络模式
摘要:
KVM虚拟机网络配置的两种方式:
NAT方式和Bridge方式。
Bridge方式的配置原理和步骤。
Bridge方式适用于服务器主机的虚拟化。
Bridge模式
问题
客户机安装完成后,需要为其设置网络接口,以便和主机网络,客户机之间的网络通信。
事实上,如果要在安装时使用网络通信,需要提前设置客户机的网络连接。
KVM客户机网络连接有两种方式:
∙用户网络(UserNetworking):
让虚拟机访问主机、互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机,性能上也需要大的调整。
NAT方式。
∙虚拟网桥(VirtualBridge):
这种方式要比用户网络复杂一些,但是设置好后客户机与互联网,客户机与主机之间的通信都很容易。
Bridge方式。
本文主要解释Bridge方式的配置。
Bridge方式原理
Bridge方式即虚拟网桥的网络连接方式,是客户机和子网里面的机器能够互相通信。
可以使虚拟机成为网络中具有独立IP的主机。
桥接网络(也叫物理设备共享)被用作把一个物理设备复制到一台虚拟机。
网桥多用作高级设置,特别是主机多个网络接口的情况。
如上图,网桥的基本原理就是创建一个桥接接口br0,在物理网卡和虚拟网络接口之间传递数据。
Bridge方式的适用范围
服务器主机虚拟化。
网桥方式配置步骤
1、编辑修改网络设备脚本文件,增加网桥设备br0
vi/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE="br0"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO=static
DEFROUTE=yes
DEVICE="br0"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO=dhcp
2、编辑修改网络设备脚本文件,修改网卡设备eth0
DEVICE="eth0"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE=Ethernet
BOOTPROTO=none
BRIDGE="br0"
NAME="Systemeth0"
HWADDR=44:
37:
E6:
4A:
62:
AD
NM_CONTROLLED这个属性值,根据redhat公司的文档是必须设置为“no”的(这个值为“yes”表示可以由服务NetworkManager来管理。
NetworkManager服务不支持桥接,所以要设置为“no”。
),但实际上发现设置为“yes”没有问题。
通讯正常。
3、重启网络服务
#servicenetworkrestart
4、校验桥接接口
#brctlshow
bridgenamebridgeidSTPenabledinterfaces
br08000.4437e64a62adnoeth0
客户机配置
客户机安装时注意,网络要选择用br0桥接方式。
图形化的方式:
文本方式:
编辑修改虚拟机配置文件/etc/libvirt/qemu/v1.xml,增加如下内容
54: 00: da: c3: dc'/> 虚拟机启动后,验证网络接口是否正常: #brctlshow bridgenamebridgeidSTPenabledinterfaces br08000.4437e64a62adnoeth0 vnet0 NAT方式的影响 网桥方式的配置与虚拟机支持模块安装时预置的虚拟网络桥接接口virbr0没有任何关系,配置网桥方式时,可以把virbr0接口(即NAT方式里面的default虚拟网络)删除。 #virshnet-destroydefault #virshnet-undefinedefault #servicelibvirtdrestart NAT模式 问题 客户机安装完成后,需要为其设置网络接口,以便和主机网络,客户机之间的网络通信。 事实上,如果要在安装时使用网络通信,需要提前设置客户机的网络连接。 KVM客户机网络连接有两种方式: ∙用户网络(UserNetworking): 让虚拟机访问主机、互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机,性能上也需要大的调整。 NAT方式。 ∙虚拟网桥(VirtualBridge): 这种方式要比用户网络复杂一些,但是设置好后客户机与互联网,客户机与主机之间的通信都很容易。 Bridge方式。 本文主要解释NAT方式的配置。 NAT方式原理 NAT方式是kvm安装后的默认方式。 它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机。 检查当前的网络设置: #virshnet-list--all NameStateAutostart ----------------------------------------- defaultactiveyes default是宿主机安装虚拟机支持模块的时候自动安装的。 检查当前的网络接口: #ifconfig eth0Linkencap: EthernetHWaddr44: 37: E6: 4A: 62: AD inet6addr: fe80: : 4637: e6ff: fe4a: 62ad/64Scope: Link UPBROADCASTRUNNINGMULTICASTMTU: 1500Metric: 1 RXpackets: 987782errors: 0dropped: 0overruns: 0frame: 0 TXpackets: 84155errors: 0dropped: 0overruns: 0carrier: 0 collisions: 0txqueuelen: 1000 MiBMiB) Interrupt: 17 loLinkencap: LocalLoopback inet inet6addr: : : 1/128Scope: Host UPLOOPBACKRUNNINGMTU: 16436Metric: 1 RXpackets: 4errors: 0dropped: 0overruns: 0frame: 0 TXpackets: 4errors: 0dropped: 0overruns: 0carrier: 0 collisions: 0txqueuelen: 0 RXbytes: 240(240.0b)TXbytes: 240(240.0b) virbr0Linkencap: EthernetHWaddr52: 54: 00: B9: B0: 96 inet UPBROADCASTRUNNINGMULTICASTMTU: 1500Metric: 1 RXpackets: 0errors: 0dropped: 0overruns: 0frame: 0 TXpackets: 2126errors: 0dropped: 0overruns: 0carrier: 0 collisions: 0txqueuelen: 0 RXbytes: 0(0.0b)TXbytes: 100387(98.0KiB) virbr0-nicLinkencap: EthernetHWaddr52: 54: 00: B9: B0: 96 BROADCASTMULTICASTMTU: 1500Metric: 1 RXpackets: 0errors: 0dropped: 0overruns: 0frame: 0 TXpackets: 0errors: 0dropped: 0overruns: 0carrier: 0 collisions: 0txqueuelen: 500 RXbytes: 0(0.0b)TXbytes: 0(0.0b) 其中virbr0是由宿主机虚拟机支持模块安装时产生的虚拟网络接口,也是一个switch和bridge,负责把内容分发到各虚拟机。 几个虚拟机管理模块产生的接口关系如下图: 从图上可以看出,虚拟接口和物理接口之间没有连接关系,所以虚拟机只能在通过虚拟的网络访问外部世界,无法从网络上定位和访问虚拟主机。 virbr0是一个桥接器,接收所有到网络的内容。 从下面命令可以验证: #brctlshow bridgenamebridgeidSTPenabledinterfaces virbr08000.525400b9b096yesvirbr0-nic #route KernelIProutingtable DestinationGatewayGenmaskFlagsMetricRefUseIface 同时,虚拟机支持模块会修改iptables规则,通过命令可以查看: #iptables-tnat-L-nv ChainPREROUTING(policyACCEPT16924packets,2759Kbytes) pktsbytestargetprotoptinoutsourcedestination ChainPOSTROUTING(policyACCEPT2009packets,125Kbytes) pktsbytestargetprotoptinoutsourcedestination 这条是关键,它配置了NAT功能。 ChainOUTPUT(policyACCEPT2011packets,125Kbytes) pktsbytestargetprotoptinoutsourcedestination #iptables-tfilter-L-nv ChainINPUT(policyACCEPT0packets,0bytes) pktsbytestargetprotoptinoutsourcedestination 174ACCEPTudpudpdpt: 53---->由libvirt脚本自动写入 00ACCEPTtcptcpdpt: 53---->由libvirt脚本自动写入 3984ACCEPTudpudpdpt: 67---->由libvirt脚本自动写入 00ACCEPTtcptcpdpt: 67---->由libvirt脚本自动写入 iptables的系统预设 2168ACCEPTicmpiptables的系统预设 iptables的系统预设 160ACCEPTtcptcpdpt: 22---->iptables的系统预设 icmp-host-prohibited---->iptables的系统预设 ChainFORWARD(policyACCEPT0packets,0bytes) pktsbytestargetprotoptinoutsourcedestination 由libvirt脚本自动写入 由libvirt脚本自动写入 00ACCEPTall--virbr0virbr0由libvirt脚本自动写入 icmp-port-unreachable---->由libvirt脚本自动写入 icmp-port-unreachable---->由libvirt脚本自动写入 icmp-host-prohibited---->iptables的系统预设 ChainOUTPUT(policyACCEPT181Kpackets,138Mbytes) pktsbytestargetprotoptinoutsourcedestination 如果没有default的话,或者需要扩展自己的虚拟网络,可以使用命令重新安装NAT。 NAT方式的适用范围 桌面主机虚拟化。 创建步骤 #virshnet-define/usr/share/libvirt/networks/default.xml 此命令定义一个虚拟网络,default.xml的内容: 也可以修改xml,创建自己的虚拟网络。 标记为自动启动: #virshnet-autostartdefault Networkdefaultmarkedasautostarted 启动网络: #virshnet-startdefault Networkdefaultstarted 网络启动后可以用命令brctlshow查看和验证。 修改/etc/sysctl.conf中参数,允许ip转发: 客户机安装 客户机安装时注意,网络要选择用NAT方式。 图形化的方式: 文本方式: 编辑修改虚拟机配置文件/etc/libvirt/qemu/v1.xml,增加如下内容 54: 00: 4f: 1b: 07'/> 虚拟机启动后,验证网络接口是否正常: #brctlshow bridgenamebridgeidSTPenabledinterfaces virbr08000.525400b9b096yesvirbr0-nic vnet0 Bridge方式的影响 Bridge方式配置出来的接口对NAT方式没有影响,因为NAT方式并没有使用物理网卡。 但作为客户机,只能选择其中的一种。 客户机动态迁移 源机和目的机rhel版本必须一致 1源端建立nfs Vi/etc/exports /var/lib/libvirt/images*(rw,no_root_squash,sync) 2在目的端mountnfs #mountstorage_host: /var/lib/libvirt/images/var/lib/libvirt/images 3在目的端执行virsh #virshmigrate--liveGuestNameDestinationURL DestinationURL指的是目的机的主机名或ip 例如: #virshmigrate--liveguest1-rhel6-64qemu+ssh 客户机自动启动 virshautostartTestServer DomainTestServermarkedasautostarted #virshautostart--disableTestServer DomainTestServerunmarkedasautostarted 改变diskimage大小 #qemu-imgresizefilename[+|-]size[K|M|G|T] 查看vol信息 #virshvol-info/images/secondimage.img Name: secondimage.img Type: file Capacity: 20.00GB Allocation: 136.00KB 创建存储池 基于分区 先分区,格式化 1定义分区 #virshpool-define-asguest_images_fsfs--/dev/sdc1-"/guest_images" Poolguest_images_fsdefined guest_images_fspool名称 /devsdc1分区 /guest_imagesmount点 2确认 #virshpool-list--all NameStateAutostart ----------------------------------------- defaultactiveyes guest_images_fsinactiveno 3建立mount点 #virshpool-buildguest_images_fs Poolguest_images_fsbuilt #ls-la/guest_images total8 drwx------.2rootroot4096May3119: 38. dr-xr-xr-x.25rootroot4096May3119: 38.. #virshpool-list--all NameStateAutostart ----------------------------------------- defaultactiveyes guest_images_fsinactiveno 4启动存储池 #virshpool-startguest_images_fs Poolguest_images_fsstarted #virshpool-list–all NameStateAutostart ----------------------------------------- defaultactiveyes guest_images_fsactiveno 5自动启动 #virshpool-autostartguest_images_fs Poolguest_images_fsmarkedasautostarted #virshpool-list--all NameStateAutostart ----------------------------------------- defaultactiveyes guest_images_fsactiveyes 6确认存储池 #virshpool-infoguest_images_fs Name: guest_images_fs UUID: c7466869-e82a-a66c-2187-dc9d6f0877d0 State: running Capacity: 458.39GB Allocation: 197.91MB Available: 458.20GB #mount|grep/guest_images /dev/sdc1on/guest_imagestypeext4(rw) #ls-la/guest_images total24 drwxr-xr-x.3rootroot4096May3119: 47. dr-xr-xr-x.25rootroot4096May3119: 38.. drwx------.2rootroot16384May3114: 18lost+found 基于目录 1定义存储池 #virshpool-define-asguest_images_dirdir----"/guest_images" Poolguest_images_dirdefined 2确认 #virshpool-list--all NameStateAutostart ----------------------------------------- defaultactiveyes guest_images_dirinactiveno 3创建本地目录 #virshpool-buildguest_images_dir Poolguest_images_dirbuilt #ls-la/guest_images total8 drwx------.2rootroot4096May3002: 44. dr-xr-xr-x.26rootroot4096May3002: 44.. #virshpool-list--all NameStateAutostart ----------------------------------------- defaultactiveyes guest_images_dirinactiveno 4启动存储池 #virshpool-startguest_images_dir Poolguest_images_dirstarted #virshpool-list--all NameStateAutostart ----------------------------------------- defaultactiveyes guest_images_diractiveno 5自动启动 #virshpool-autostartguest_images_dir Poolguest_images_dirmarkedasautostarted #virshpool-list--all NameStateAutostart ----------------------------------------- defaultactiveyes guest_images_diractiveyes 6确认存储池 #virshpool-infoguest_images_dir Name: guest_images_dir UUID: 779081bf-7a82-107b-2874-a19a9c51d24c State: running Capacity: 49.22GB Allocation: 12.80GB Available: 36.41GB #ls-la/guest_images total8 drwx------.2rootroot4096May3002: 44. dr-xr-xr-x.26rootroot4096May3002: 44.. 创建vol #virshvol-create-asguest_images_diskvolume18G Volvolume1created #virshvol-create-asguest_images_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- kvm 网络 模式
![提示](https://static.bdocx.com/images/bang_tan.gif)