Cloudstack 高级网络配置手册v1.0


www.itnihao.com www.itnihao.com cloudstack 高级网络配置手册 版权声明 作者 itnihao Mail itnihao@qq.com 时间 2014-06-19 版本 V1.0 个人网站 http://www.itniaho.com 一、cloudstack 安装前的准备工作 1.1 安装前的考虑因素  Cloudstack-management 可以用一台虚拟机,但必须保证其稳定可靠,如需在生产环境 中使用,建议使用一台物理机来搭建管理端,另外还需要配置 cloudstack-management 的 HA。  Cloudstack-agent 可以采用多种 Hypervisor 平台,建议采用 KVM。本文中将以 KVM 为 例来说明。  操作系统可采用 RHEL6.3 以上版本,建议最新版本 RHEL6.5 或者 CentOS 6.5。  网络规划必须明确,在 cloudstack 安装之前,需要将网络规划好,一旦确定后,更改很 麻烦。 1.2 网络的准备 1.2.1Cloudstack 的网络模型 在 cloudstack 中,网络分为基本网络和高级网络。 基本网络: 提供 DHCP,DNS 等基本服务,采用共享网络的方式,用户之间的数据隔离采用安全组的 三层隔离。 流量分为: (一)管理网络 (二)存储网络 (三)来宾网络 www.itnihao.com www.itnihao.com 高级网络: 提供 DHCP, DNS,VPN,Firewall,NAT,User data 等高级功能,用户之间的数据隔离采用 VLAN 2 层隔离的方式。高级网络默认虚拟机只能访问外网,外网不能访问虚拟机,如需要 外网访问虚拟机,则需要配置公共网络的 NAT 功能。 流量分为: (一)管理网络 (二)存储网络 (三)公共网络 (四)来宾网络 各流量标签的作用: 管理网络:cloudstack-management 与 hypervisor 通信流量网络 存储网络:cloudstack-management、cloudstack-agent、hypervisor 与共享存储之间的通 信流量网络 公网网络:仅在高级中支持此功能,对外提供服务的 IP,可与内部虚拟机进行 NAT,VPN 配 置,外部用户如需访问虚拟机,则首先通过的是公共网络,NAT 到内部虚拟机的来宾网络。 来宾网络:虚拟机的网络流量,默认每个用户下的虚拟机通过此网络通信。在基本网络中或 者是高级网络中的共享网络,此 IP 直接对外通信。 1.2.2 网络规划的案例 各标签仅仅是将流量指定走哪一个物理的网卡流量标签,可以将多个网络流量标签绑定到一 个或者多个网卡上面,注意,如果没有指定存储网络流量,则 cloudstack-management 会将 此流量自动设置为管理网卡的流量标签。例如,可以做如下规划 1.KVM 的主机网络流量规划 1 个网卡 网卡名称 桥接名称 网络流量 eth0 cloudbr0 管理网络 cloudbr0 存储网络 cloudbr0 公共网络 cloudbr0 来宾网络 2 个网卡 网卡名称 桥接名称 网络流量 eth0 cloudbr0 管理网络 cloudbr0 存储网络 eth1 cloudbr1 公共网络 cloudbr1 来宾网络 注意,上面的例子(以下类似)只列举了 2 个网卡中的一种方案,也可以 eth1 只留一个来 宾网络流量,其余网络流量由 eth0 承担。 3 个网卡 www.itnihao.com www.itnihao.com 网卡名称 桥接名称 网络流量 eth0 cloudbr0 管理网络 cloudbr0 存储网络 eth1 cloudbr1 公共网络 eth2 cloudbr2 来宾网络 4 个网卡 网卡名称 桥接名称 网络流量 eth0 cloudbr0 管理网络 eth1 cloudbr1 存储网络 eth2 cloudbr2 公共网络 eth3 cloudbr3 来宾网络 如图所示,是一个实际配置的桥接网络,有 4 块物理网卡。 关于如何配置 Linux 的网卡桥接,请参考后面的文档。 网络的流量如图所示: 2.VMware 的主机网络流量规划 网卡名称 虚拟交换机名称 网络流量 eth0 vSwitch0 管理网络 www.itnihao.com www.itnihao.com eth1 vSwitch1 存储网络 eth2 vSwitch2 公共网络 eth3 vSwitch3 来宾网络 在 VMware 中,虚拟交换机如图所示,有 2 块物理网卡,配置了 2 个虚拟交换机。 如只有一个网卡,或者 2 个网卡,处理的方式和 KVM 类似。 3.Hyer-V 的主机网络流量规划 网卡名称 虚拟交换机名称 网络流量 eth0 managemnt 管理网络 eth1 storage 存储网络 eth2 public 公共网络 eth3 guest 来宾网络 在 Hyper-V 中,新建虚拟交换机,网卡选用外部网络。 www.itnihao.com www.itnihao.com 1.3 存储的准备 Cloudstack 的存储分为主存储和二级存储。  主存储:存放虚拟机的镜像文件,需要高性能存储。  二级存储:存放虚拟机的模板,ISO,快照等文件。可以选用廉价存储。 存储支持的类型: 在本文中,我们采用 NFS 作为二级存储。 本例所在的 NFS 服务器IP为192.168.10.2 # cat /etc/exports /export/secondary *(rw,async,no_root_squash) /export/primary *(rw,async,no_root_squash) [-d "/export/secondary" ] ||mkdir /export/secondary -p [-d "/export/primary" ] ||mkdir /export/primary -p www.itnihao.com www.itnihao.com service rpcbind restart service nfs restart chkconfig rpcbind on chkconfig nfs on 1.4 cloudstack 本地 YUM 源的配置 将 cloudstack 的 rpm 包放到 http 服务器下面,如此处的 http 服务器为 192.168.153.245. #cat /etc/yum.repos.d/cloudstack.repo [cloudstack421] name=cloudstack #baseurl=http://192.168.153.245/cloudstack/421/ baseurl=file:///opt/cloudstack-4.2.0/ enabled=1 gpgcheck=0 Cloudstack 的 RPM 包可以在此链接获得 http://cloudstack.apt-get.eu/rhel/4.3/ 二、安装 Cloudstack 2.1 cloudstack-manament 的安装 yum install -y cloudstack-management sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config setenforce 0 egrep "binlog-format = 'ROW'" /etc/my.cnf||sed -i "/\[mysqld\]/ainnodb_rollba ck_on_timeout=1\ninnodb_lock_wait_timeout=600\nmax_connections=350\nlog-bin= mysql-bin\nbinlog-format = 'ROW'" /etc/my.cnf /etc/init.d/mysqld restart chkconfig mysqld on mysql_password=123456 #设置MySQL的密码为123456 mysqladmin -uroot password ${mysql_password} mysql -uroot -p${mysql_password} -e "GRANT ALL PRIVILEGES on *.* TO ROOT@'%' I DENTIFIED BY '${mysql_password}'" mysql -uroot -p${mysql_password} -e "FLUSH PRIVILEGES" #导入cloudstack-manager的数据库文件 cloudstack-setup-databases cloud:${mysql_password}@localhost --deploy-as=root: ${mysql_password} -e file -m ${mysql_password} -k ${mysql_password} www.itnihao.com www.itnihao.com 导入系统虚拟机模板,该虚拟机模板的作用是生成 Zone 的管理虚拟机,包括 SSVM,CPVM,VR 三个部分。 #mount -t nfs X.X.X.X:/export/secondary /mnt/secondary #wget http://cloudstack.apt-get.eu/systemvm/systemvmtemplate-2013-07-21-maste r-kvm.qcow2.bz2 #/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tm plt -m /mnt/secondary/ -f systemvm64template-2014-01-14-master-kvm.qcow2.bz2 -h kvm -F 2.2 cloudstack-agent 的安装 KVM 的准备 注意问题,不能更改默认的 SSH 端口,从 KVM 所在的主机需要和管理端能够通信。 在添加一个 Zone 的时候,需要准备一台 KVM 的主机(hypervisor),在一个 Zone 里面,所 有的主机(hypervisor)必须保持环境的一致,包括,网卡的数量,网卡的桥接名称,用户 名(root)和密码必须保证一致。 1.确保硬件支持 kvm 虚拟化 #egrep --color '(vmx|svm)' /proc/cpuinfo flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat p se36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmper f pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt aes lahf_lm ida arat dts tpr_shadow vnmi flexpriority ept vpid 2.设置 iptables 和 Selinux iptables -F iptables -Z iptables -X iptables -I INPUT 1 -p tcp -m tcp --dport 22 -j ACCEPT iptables -I INPUT 1 -p tcp -m tcp --dport 4505 -j ACCEPT iptables -I INPUT 1 -p tcp -m tcp --dport 4506 -j ACCEPT iptables -I INPUT 1 -p tcp -m tcp --dport 1798 -j ACCEPT iptables -I INPUT 1 -p tcp -m tcp --dport 16509 -j ACCEPT iptables -I INPUT 1 -p tcp -m tcp --dport 5900:6100 -j ACCEPT iptables -I INPUT 1 -p tcp -m tcp --dport 49152:49216 -j ACCEPT service iptables save www.itnihao.com www.itnihao.com service iptables restart 配置 Selinux sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config setenforce 0 3.配置桥接 IP 地址 在此案例中,该服务器有 4 块物理网卡,其用途如下: 物理网卡 桥接名称 用途 交换机端口 VLANID 是否 trunk eth0 cloudbr600 管理网络 20 600 否 eth1 cloudbr601 存储网络 21 601 否 eth2 cloudbr602 公关网络 22 602 可选 eth3 cloudbr603 来宾网络 23 允许 1000-2000 必须 如果服务器的网卡和此环境不同,则需要另外的规划了,如服务器有 2 块网卡,可规划如下: 物理网卡 桥接名称 用途 交换机端口 VLANID 是否 trunk eth0 cloudbr600 管理网络 存储网络 30 600 否 eth1 cloudbr601 公关网络 来宾网络 31 601 必须 两块物理网卡的配置,在 cloudstack 添加区域(zone)的时候,与 4 块网卡稍有不同。 在 4 个网卡中,只有第一个网卡需要配置 IP 地址,其他网卡无需配置 IP 地址,对于公共和 来宾网络所在的网卡,cloudstack 会在创建虚拟机的时候,添加 VLANID,如公共网络会生 成 eth2.602 这种子接口,来宾网络,在使用隔离网络的情况下,每创建一个网络,会自动分 配一个 VLANID,即创建一个子接口,如 eth3.1005,表示在 eth3 网卡上面,其子接口的 VLAN ID 是 1005,该网络的 IP 地址,可以由用户自定义。 各网卡的配置文件 eth0 # cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none NM_CONTROLLED=no ONBOOT=yes BRIDGE=cloudbr600 TYPE=Ethernet IPV6INIT=no USERCTL=no # cat /etc/sysconfig/network-scripts/ifcfg-cloudbr600 DEVICE=cloudbr600 BOOTPROTO=none ONBOOT=yes TYPE=Bridge IPADDR=192.168.160.2 www.itnihao.com www.itnihao.com NETMASK=255.255.255.0 GATEWAY=192.168.160.1 Eth1 # cat /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=none NM_CONTROLLED=no ONBOOT=yes BRIDGE=cloudbr601 TYPE=Ethernet IPV6INIT=no USERCTL=no # cat /etc/sysconfig/network-scripts/ifcfg-cloudbr601 DEVICE=cloudbr601 BOOTPROTO=none ONBOOT=yes TYPE=Bridge Eth2 # cat /etc/sysconfig/network-scripts/ifcfg-eth602 DEVICE=eth602 BOOTPROTO=none NM_CONTROLLED=no ONBOOT=yes BRIDGE=cloudbr602 TYPE=Ethernet IPV6INIT=no USERCTL=no # cat /etc/sysconfig/network-scripts/ifcfg-cloudbr602 DEVICE=cloudbr602 BOOTPROTO=none ONBOOT=yes TYPE=Bridge Eth3 # cat /etc/sysconfig/network-scripts/ifcfg-eth603 DEVICE=eth603 BOOTPROTO=none NM_CONTROLLED=no ONBOOT=yes BRIDGE=cloudbr603 TYPE=Ethernet IPV6INIT=no USERCTL=no # cat /etc/sysconfig/network-scripts/ifcfg-cloudbr603 www.itnihao.com www.itnihao.com DEVICE=cloudbr603 BOOTPROTO=none ONBOOT=yes TYPE=Bridge 查看配置好的桥接 #brctl show 4.安装 kvm #yum groupinstall Virtualization "Virtualization Client" "Virtualization Plat form" -y 5.修改 libvirt 参数 修改 libvirt #sed -i \ -e '/#listen_tls = 0/alisten_tls = 0' \ -e '/#listen_tcp = 1/alisten_tcp = 1' \ -e '/#tcp_port = "16509"/atcp_port = "16509"' \ -e '/#mdns_adv = 0/amdns_adv = 0' \ -e '/#auth_tcp = "sasl"/aauth_tcp = "none"' /etc/libvirt/libvirtd.conf # sed -i "s@#LIBVIRTD_ARGS@LIBVIRTD_ARGS@g" /etc/sysconfig/libvirtd 6.安装 cloudstack-agent #yum install cloudstack-agent -y 三、配置 Cloudstack 添加 zone,基础架构->区域类型(高级)—设置区域-设置网络-添加资源-启动 www.itnihao.com www.itnihao.com 3.1 规划 用途 网关 掩码 IP 范围 VLANID 管理网络 192.168.0.1 255.255.255.0 192.168.0.10-100 600 存储网络 192.168.10.1 255.255.255.0 192.168.1.10-20 601 公共网络 172.16.50.1 255.255.255.0 172.16.50.10-100 602 来宾网络 用户自定义 3000-3500 主机 192.168.100.1 255.255.255.0 192.168.100.2-40 存储 用途 名称 服务器 路径 主存储 /export/primary 192.168.10.2 /export/primary 从存储 /export/secondary 192.168.10.2 /export/secondary 3.2 添加区域 www.itnihao.com www.itnihao.com 1.选择区域类型 www.itnihao.com www.itnihao.com 2.设置物理网络标签 设置网卡的桥接接口,需要填写流量标签 www.itnihao.com www.itnihao.com www.itnihao.com www.itnihao.com www.itnihao.com www.itnihao.com www.itnihao.com www.itnihao.com www.itnihao.com www.itnihao.com 3.添加公共网路 4.添加管理网络 www.itnihao.com www.itnihao.com 5.添加来宾网络 www.itnihao.com www.itnihao.com www.itnihao.com www.itnihao.com 6.添加存储网络 www.itnihao.com www.itnihao.com 7.设置群集名称 www.itnihao.com www.itnihao.com 8.添加主机 添加主存储 www.itnihao.com www.itnihao.com www.itnihao.com www.itnihao.com 9.添加二级存储 www.itnihao.com www.itnihao.com 10.启动区域 四、使用 Cloudstack 使用过程略 创建模板 略 添加模板 略 www.itnihao.com www.itnihao.com 创建网络  隔离网络 隔离网络的特点: 隔离网络可以由普通用户创建,每个账户之间通过 VLAN 进行隔离 可以动态的分配资源,如 VLAN 分配和回收,无需手动设置 VLANID。 当创建一个隔离网络的时候,不会立即分配 VLANID,当网络在进行使用的时候,即创建 第一个实例(虚拟机)的时候,会自动分配 VLANID(在来宾网络允许的 VLANID 范围内随机 分配 VLANID) 分配整个网段的 IP 地址,其中第一个 IP 是 VR 的地址  隔离网络的创建  隔离网络的原理 www.itnihao.com www.itnihao.com  共享网络 共享网络的特点: 共享网络只能由管理员创建 网络共享可以指定某个域(domain) 共享网络中的资源,如 VLAN 和它所使用的 IP 地址范围是由管理员指定的 网络共享可以通过安全组对用户进行隔离 公共网络是不显示给最终用户的共享网络 不支持 Firewall/Source Nat/Static Nat/Port Forwarding/Load balancing  共享网络的创建 www.itnihao.com www.itnihao.com  共享网络的原理 www.itnihao.com www.itnihao.com 添加实例 略 五 高级网络中的高级使用 NAT VPN VPS 待续
还剩29页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享pdf获得金币 ] 1 人已下载

下载pdf

pdf贡献者

b2bn

贡献于2015-05-30

下载需要 8 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf