1、OpenStack Icehouse for RHEL65OpenStack Icehouse for RHEL6.5安装指南北京海云捷迅科技有限公司2014年04月01日目录1. 环境说明 52. 操作系统准备工作 62.1 操作系统安装 62.2 软件仓库配置 72.3 Cinder EBS块存储服务准备工作 93. 控制节点Controller安装 93.1 防火墙配置 93.2 Rabbitmq消息队列安装 103.3 MySQL数据库安装 103.4 KeyStone安装 113.5 Glance安装 153.6 Cinder安装 193.7 Swift安装 223.8 Horizo
2、n Dashboard安装 364. 网络节点Network安装 374.1 确认定制内核 374.2 安装定制Open vSwitch软件包 374.3 升级iproute和dnsmasq软件包 374.4 创建数据库和KeyStone帐号和服务 374.5 安装Quantuam相关的软件包 384.6 配置neutron server 394.7 配置neutron openvswitch agent 404.8 配置neutron dhcp agent 404.9 配置neutron L3 agent 414.10 配置neutron metadata服务 424.11 检查Neutro
3、n相关服务 425. 计算节点Compute安装 435.1 确认定制内核 435.2 安装定制OpenVswitch软件包 435.3 升级iproute和dnsmasq软件包 445.4 安装Nova 445.5 修改neutron的配置文件 475.6 配置neutron-openvswitch-agent 486. 实验 506.1 网络架构图 506.2 实验环境说明 506.3 实验操作步骤 516.3.1 创建外部网络Ext-Net 516.3.2 创建外部网络对应的子网192.168.100.0/24 516.3.3 TenantA租户创建一个网络TenantA-Net 526
4、.3.4 TenantA租户创建一个子网10.0.0.0/24 536.3.5 TenantA租户创建一个虚拟机TenantA_VM1 536.3.6 TenantA租户创建一个路由器TenantA-R1 556.3.7 TenantA租户关联路由器和子网10.0.0.0/24 556.3.8 TenantA租户路由器和外网关联 556.3.9 TenantA租户申请一个floating IP 556.3.10 TenantA租户给TenantA_VM1绑定浮动IP 566.3.11 TenantA租户创建第二个虚拟机TenantA_VM2 576.3.12 TenantA租户申请第二个flo
5、ating IP 576.3.13 TenantA租户给TenantA_VM2绑定浮动IP 586.3.14 TenantB创建第一个网络TenantB-Net1 596.3.15 TenantB租户创建第一个子网10.0.0.0/24 596.3.16 TenantB租户创建第二个网络TenantB-Net2 606.3.17 TenantB租户创建第二个子网10.0.1.0/24 606.3.18 TenantB租户创建虚拟机TenentB_VM1 616.3.19 TenantB租户创建一个路由器TenantB-R1 626.3.20 TenantB租户关联路由器和两个子网 626.3.
6、21 TenantB租户路由器和外网关联 636.3.22 TenantB租户申请一个floating IP 636.3.23 TenantB租户TenantB_VM1绑定浮动IP 646.3.24 TenantB租户创建虚拟机TenantB_VM2 646.3.25 TenantB租户申请第二个floating IP 656.3.26 TenantB租户TenantB_VM2绑定浮动IP 661. 环境说明采用三台物理服务器或虚拟机作为本次测试环境,三台机器分别用作为控制节点、计算节点和网络节点。总体架构图如下:控制节点用于安装MySQL、Rabbitmq、KeyStone、Glance、S
7、wift、Cinder、memcached、Dashboard。建议配置2CPU、2G内存、1块网卡和20G磁盘空间。计算节点用于安装Nova,运行虚拟机。计算节点需要能够运行虚拟机,所以需要采用物理服务器,或者是能够启动虚拟机的虚拟机,例如在VMWare Workstartion上安装虚拟机以后,透传VT过去以后,虚拟机里面还可以再起虚拟机。建议配置4CPU、4G内存、1块网卡和10G磁盘空间。网络节点用于安装Neutron,为整个平台提供网络服务。建议配置2CPU、1G内存、2块网卡和10G磁盘空间。三台服务器主机名和IP地址对应如下:主机名controller,eth0 192.168.
8、1.233/255.255.255.0主机名compute,eth0 192.168.1.232/255.255.255.0主机名network, eth0 192.168.1.231/255.255.255.0三台服务器的eth0会作为内网,用于openstack组件之间的通讯,eth1会作为外网。2. 操作系统准备工作2.1 操作系统安装三台机器都需要安装RedHat Enterprise Linux 6.5 x86_64位,选择时区为上海,并去掉UTC时间,在选择安装包时,选择Virtualization Host,并将虚拟化的包全部安装上,如下图:1. 修改主机名,检查网卡的配置文件
9、修改主机名rootcontroller # cat /etc/sysconfig/networkNETWORKING=yesHOSTNAME=controller检查网卡的配置,并重启网络service network restartrootcontroller # cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0TYPE=EthernetONBOOT=yesNM_CONTROLLED=noBOOTPROTO=staticIPADDR=192.168.1.233NETMASK=255.255.255.02. 编辑/etc/sys
10、ctl.conf文件,修改net.ipv4.ip_forward为1(IP路由转发和桥上面的iptables生效)net.ipv4.ip_forward = 1net.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1net.bridge.bridge-nf-call-arptables = 13. 编辑/etc/security/limits.conf文件,添加: (打开文件最大数)* soft nproc 65535 * hard nproc 65535* soft nofile 65535*
11、hard nofile 65535* soft core ulimit * hard core ulimit4. 编辑/etc/selinux/config文件,关闭selinuxSELINUX=disabled5. 重启服务器6. 删除libvirt自带的bridge,准备使用openvswitchmv /etc/libvirt/qemu/networks/default.xml /etc/libvirt/qemu/networks/default.xml.bakmodprobe -r bridge7. 删除 /etc/udev/rules.d/70-persistent-net.rules
12、8. 关闭服务器9. 克隆出2台服务器 用作 compute network10. 修改compute和network主机名和网络信息/etc/sysconfig/network /etc/sysconfig/network-scripts/ifcfg-eth011. 重启服务器2.2 软件仓库配置1. 默认选择控制节点作为软件仓库服务器;其他节点通过http来访问2. 将光盘rhel6.5光盘挂载到服务器上比如 mount /dev/cdrom /mnt vi /etc/yum.repos.d/rhel65.reporhel65_Servername=RHEL65_Serverbaseurl
13、=file:/mnt/Serverenabled=1gpgcheck=1gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-releaseyum install httpd3. 将把实验提供的软件仓库rabbitmq、redhat-openstack-icehouse拷贝到/var/www/html目录制作yum源cp redhat-openstack-icehouse.tar /var/www/html/cp epel-depends.tar /var/www/htmlcd /var/www/htmltar zxvf redhat-openstac
14、k-icehouse.tartar zxvf epel-depends.tar新建rhel65目录,将rhel65 光盘里面的内容拷贝进去mkdir rhel65cp -r /mnt/* /var/www/html/rhel65/4. 将icehouse.repo rabbitmq.repo rhel65.repo epel-depends.repo文件,拷贝到/etc/yum.repos.d/ 目录5. 启动httpd服务service httpd startchkconfig httpd oncurl http:/192.168.1.233/rabbitmq/检查repo是否可以访问。2.
15、3 Cinder EBS块存储服务和Swift 对象存储服务准备工作1. 在控制节点Controller上,新加一块盘10G,单独做一个VG,VG名称为vgstorage,此VG将会被分配给Cinder和Swift使用;2. 假设新加的盘为 sdb3. pvcreate /dev/sdb4. vgcreate vgstorage /dev/sdb3. 控制节点Controller安装 192.168.1.2333.1 防火墙配置1) 编辑 /etc/sysconfig/iptables 文件,在filter 中添加防火墙规则。-I INPUT -p tcp -dport 80 -j ACCEP
16、T-I INPUT -p tcp -dport 3306 -j ACCEPT-I INPUT -p tcp -dport 5000 -j ACCEPT-I INPUT -p tcp -dport 5672 -j ACCEPT-I INPUT -p tcp -dport 8080 -j ACCEPT-I INPUT -p tcp -dport 8773 -j ACCEPT-I INPUT -p tcp -dport 8774 -j ACCEPT-I INPUT -p tcp -dport 8775 -j ACCEPT-I INPUT -p tcp -dport 8776 -j ACCEPT-I
17、INPUT -p tcp -dport 8777 -j ACCEPT-I INPUT -p tcp -dport 9292 -j ACCEPT-I INPUT -p tcp -dport 9696 -j ACCEPT-I INPUT -p tcp -dport 15672 -j ACCEPT-I INPUT -p tcp -dport 55672 -j ACCEPT-I INPUT -p tcp -dport 35357 -j ACCEPT-I INPUT -p tcp -dport 12211 -j ACCEPT2) 重新启动防火墙 /etc/init.d/iptables restart3
18、.2 Rabbitmq消息队列安装1) 安装rabbitmq软件导入KEY 进入 cd /var/www/html/rabbitmq rpm -import rabbitmq-signing-key-public.ascyum install rabbitmq-server2) 编辑/etc/hosts 文件,在127.0.0.1后面添加controller主机名称例如,cat /etc/hosts127.0.0.1 controller localhost.localdomain localhost4 localhost4.localdomain43) 新建 /etc/rabbitmq/en
19、abled_plugins文件,添加一行下面的内容,千万要注意后面的.,这个.不能遗漏。rabbitmq_management.4) 设置rabbitmq服务开机自启动chkconfig rabbitmq-server on5) 启动rabbitmq服务 service rabbitmq-server start完成后访问 http:/192.168.1.233:15672 guest/guest 可以监控状态3.3 MySQL数据库安装1) mysql软件安装yum install mysql mysql-server2) 修改编码格式为UTF8vi /etc/f在mysqld下面加入def
20、ault-character-set=utf8default-storage-engine=InnoDB3) 启动mysql服务器/etc/init.d/mysqld start 4) 设置MySQL服务器开机自动启动chkconfig mysqld on5) 修改mysql数据库root密码为openstack/usr/bin/mysqladmin -u root password openstack3.4 KeyStone安装1) KeyStone软件安装导入KEY cd /var/www/html/rdo-icehouse-b3rpm -import RPM-GPG-KEY-RDO-Ic
21、ehouse yum install -y openstack-keystone openstack-utils 2) 创建KeyStone的服务TOKENexport SERVICE_TOKEN=$(openssl rand -hex 10)echo $SERVICE_TOKEN /root/ks_admin_token3) 配置keystone.conf文件,使用UUID认证openstack-config -set /etc/keystone/keystone.conf DEFAULT admin_token $SERVICE_TOKENopenstack-config -set /et
22、c/keystone/keystone.conf token provider keystone.token.providers.uuid.Provider;openstack-config -set /etc/keystone/keystone.conf sql connection mysql:/keystone:keystone192.168.1.233/keystone;4) 同步keystone数据openstack-db -init -service keystone -password keystone -rootpw openstack;5) 修改/etc/keystone目录
23、属性,并启动keystone服务chown -R keystone:keystone /etc/keystone/etc/init.d/openstack-keystone start6) 设置openstack-keystone服务开机自启动chkconfig openstack-keystone on7) 创建keystone serviceexport SERVICE_TOKEN=cat /root/ks_admin_tokenexport SERVICE_ENDPOINT=http:/192.168.1.233:35357/v2.0keystone service-create -na
24、me=keystone -type=identity -description=Keystone Identity Service输出结果如下:+-+-+| Property | Value |+-+-+| description | Keystone Identity Service | id | 78286cee575e42e4aa1b35d8ebf95444 | name | keystone | type | identity |+-+-+8) 创建KeyStone endporint keystone endpoint-create -service keystone -public
25、url http:/192.168.1.233:5000/v2.0 -adminurl http:/192.168.1.233:35357/v2.0 -internalurl http:/192.168.1.233:5000/v2.0 -region beijing 输出结果如下:+-+-+| Property | Value |+-+-+| adminurl | http:/192.168.1.233:35357/v2.0 | id | 90d6a35d55c14d598993aff16765c9ad | internalurl | http:/192.168.1.233:5000/v2.0
26、 | publicurl | http:/192.168.1.233:5000/v2.0 | region | beijing | service_id | 78286cee575e42e4aa1b35d8ebf95444 |+-+-+9) 创建Keystone租户admin, 用户admin,角色admin keystone user-create -name admin -pass openstack 输出结果如下:+-+-+| Property | Value |+-+-+| email | | enabled | True | id | c2df4ce7c2db4bc38abbd19c
27、7bb462ff | name | admin | tenantId | |+-+-+ keystone role-create -name admin 输出结果如下:+-+-+| Property | Value |+-+-+| id | 267b8d33846e4b66bd45c821ff02ada2 | name | admin |+-+-+ keystone tenant-create -name admin 输出结果如下:+-+-+| Property | Value |+-+-+| description | | enabled | True | id | a85bdecd1f16
28、4f91a4cc0470ec7fc28e | name | admin |+-+-+把admin租户、用户和角色进行关联。 keystone user-role-add user admin -role admin -tenant admin10) 编辑KeyStone操作的环境变量vi /root/keystone_adminexport OS_USERNAME=adminexport OS_TENANT_NAME=adminexport OS_PASSWORD=openstackexport OS_AUTH_URL=http:/192.168.1.233:35357/v2.0/export PS1=uh W(keystone_admin)$ 11) 创建一个Member的角色 重新ssh登录controler节点source /root/keystone_admin keystone role-create -name Member 输出结果如下:+-+-+| Pr
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1