OpenStack Nova 完整安装手册


IT 运维专家网 http://www.linuxtone.org IT 运维专家网------“我为人人,人人为我!知识源于分享,源于交流!”---LinuxTone 技术交流分享社区! OpenStack Nova 安装说明 作者: yz 日期: 2011-9-23 版本: v0.2 网址: http://bbs.lixnutone.org IT 运维专家网 http://www.linuxtone.org IT 运维专家网------“我为人人,人人为我!知识源于分享,源于交流!”---LinuxTone 技术交流分享社区! 实验环境: 硬件: DELL R410(两台) CPU:Intel(R) Xeon(R) CPU E5620 @ 2.40GHz * 2 内存:16GB 硬盘:300GB * 2 网卡:Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet * 2 DELL R710(三台) CPU:Intel(R) Xeon(R) CPU E5606 @ 2.13GHz * 2 内存:32GB 硬盘:250GB * 2 ,1T * 2 网卡:Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet * 4 系统: Ubuntu Server 11.04 x64 Openstack 版本: Diablo release 架构部署: 机器型号/主机名 外网 IP 内网 IP 作用 R410/release 60.12.206.111 192.168.1.2 控制节点 R710/r710-cop1 60.12.206.99 192.168.1.3 计算节点 1 R710/r710-cop2 60.12.206.101 192.168.1.4 计算节点 2 R710/r710-cop3 60.12.206.103 192.168.1.5 计算节点 3 实例网段为 10.0.0.0/24,网络模式采用 FlatDHCP 安装过程: 一、 服务器系统安装 Ubuntu server 11.04 x64 安装省略,服务器外网 IP 缺省为 eth0 卡,内网 IP 缺省为 eth1 卡,DELL R710 第 3、 4 块网卡默认不启用 二、 nova 控制节点安装 #安装 ntp apt-get install -y ntp #编辑/etc/ntp.conf,将所有 server 开头的注释掉,并添加如下两行 server 127.127.1.0 fudge 127.127.1.0 stratum 10 #从起 ntp 服务 /etc/init.d/ntp restart #导入更新源 echo 'deb http://ppa.launchpad.net/openstack-release/2011.3/ubuntu natty main' >>/etc/apt/sources.list #导入密钥 IT 运维专家网 http://www.linuxtone.org IT 运维专家网------“我为人人,人人为我!知识源于分享,源于交流!”---LinuxTone 技术交流分享社区! apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 94CA80414F1043F6495425C37D21C2EC3D1B4472 #更新源列表 apt-get update #安装 mysql 数据库,安装过程中把数据库密码设置为 123456(个人定义) apt-get install -y mysql-server #建立 nova 数据库 mysql -uroot -p123456 -e‘create database nova’ #建立 nova 用户赋予 nova 数据权限,设置密码为 nova mysql -uroot -p123456 -e“grant all on nova.* to nova@'192.168.1.%' identified by 'nova'” #更改 mysql 监听地址为控制节点内网 ip sed -i‘s/127.0.0.1/192.168.1.2/g’/etc/mysql/my.cnf #从起 mysql 服务 restart mysql #安装消息队列服务器(rabbitmq)、nova-api、nova-network、nova-objectstore(glance 依赖)、nova-scheduler、 nova-compute、nova-volume(如果卷服务不在控制节点不需要安装) apt-get install -y rabbitmq-server nova-common nova-doc python-nova nova-api nova-network nova-volume nova-objectstore nova-scheduler nova-compute #安装 glance apt-get install -y glance #安装命令行工具包和 unzip 解压工具 apt-get install -y euca2ools unzip #编辑/etc/nova/nova.conf,改成如下内容(nova 配置文件范例) --dhcpbridge_flagfile=/etc/nova/nova.conf #dhcp 桥接配置文件位置 --dhcpbridge=/usr/bin/nova-dhcpbridge #桥接命令位置 --logdir=/var/log/nova #nova 日志存放路径 --state_path=/var/lib/nova #nova 状态文件位置 --lock_path=/var/lock/nova #lock 文件位置,以为为 pid 相关 --force_dhcp_release=True #dhcp 释放 --use_deprecated_auth=1 #是否启用外部认证,比如 keystone --verbose=1 #启用详细日志消息 --libvirt_type=kvm # 通过 libvirt 连接的虚拟化程序名称 --s3_host=60.12.206.111 #objectstore 服务地址 --rabbit_host=60.12.206.111 #rabbitmq 队列服务器地址 --cc_host=60.12.206.111 #nova-api 服务地址 --ec2_url=http://60.12.206.111:8773/services/Cloud #nova-api 接口地址 --fixed_range=10.0.0.0/24 #运行实例分配 ip 范围段 --floating_range=60.12.206.0/24 #分配给实例的外网 ip 范围段 --network_size=256 #网络主机数 --routing_source_ip=60.12.206.111 #路由地址,当实例得到外网 ip,对外的 snat 地址将是这个地址 --sql_connection=mysql://nova:nova@localhost/nova #数据库连接参数 --glance_host=60.12.206.111 #glance 服务地址 --image_service=nova.image.glance.GlanceImageService #默认存储镜像使用的服务 --network_manager=nova.network.manager.FlatDHCPManager #默认网络模式 --flat_network_dhcp_start=10.0.0.2 #dhcp 分配给的 ip 的启示地址 IT 运维专家网 http://www.linuxtone.org IT 运维专家网------“我为人人,人人为我!知识源于分享,源于交流!”---LinuxTone 技术交流分享社区! --public_interface=eth0 #公共接口设定 --flat_interface=eth1 #私有接口设定 --connection_type=libvirt #启动虚拟机的驱动 --flat_network_bridge=br0 #默认的桥接卡 #建立 glance 数据库 mysql -uroot -p123456 -e‘create database glance’ #建立 glance 用户赋予 glance 数据权限,设置密码为 glance mysql -uroot -p123456 -e“grant all on glance.* to glance@'192.168.1.%' identified by 'glance'” #更改 glance 数据库为 mysql(默认为 sqlite) vi /etc/glance/glance-registry.conf: sql_connection = mysql://glance:glance@localhost/glance #初始化 nova 数据库 nova-manage db sync #建立实例网段 nova-manage network create private 10.0.0.0/24 1 256 #建立外网 ip 段 nova-manage floating create 60.12.206.118 #建立名为 admin 的项目管理员 nova-manage user admin admin #建立名为 cloud 的项目并分配给项目管理员 admin nova-manage project create cloud admin #导出项目访问管理凭证 mkdir /root/cert/ nova-manage project zipfile cloud admin /root/cert/cloud.zip #将凭证相关变量导入系统当前用户 cd /root/cert/ unzip cloud.zip source novarc #重启 nova 相关服务 restart nova-network; restart nova-api; restart nova-objectstore; restart nova-scheduler; restart glance-api; restart glance-registry #验证证书是否工作和 nova 服务是否运行正常 euca-describe-availability-zones verbose 如果现实如下说明正常: 注:<独立控制节点,不包括 nova-compute> AVAILABILITYZONE nova available AVAILABILITYZONE |- release AVAILABILITYZONE | |- nova-scheduler enabled :-) 2011-09-23 08:18:43 AVAILABILITYZONE | |- nova-network enabled :-) 2011-09-23 08:18:43 如果现实如下说明正常: 注:<包括 nova-compute> AVAILABILITYZONE nova available AVAILABILITYZONE |- release AVAILABILITYZONE | |- nova-scheduler enabled :-) 2011-09-23 08:20:14 IT 运维专家网 http://www.linuxtone.org IT 运维专家网------“我为人人,人人为我!知识源于分享,源于交流!”---LinuxTone 技术交流分享社区! AVAILABILITYZONE | |- nova-network enabled :-) 2011-09-23 08:20:14 AVAILABILITYZONE | |- nova-compute enabled :-) 2011-09-23 08:20:15 #打包镜像 euca-bundle-image -i ubuntu.img #上传打包好的镜像到 ubuntu_11.04 bucket euca-upload-bundle -b ubuntu_11.04 -m /tmp/ubuntu.img.manifest.xml #注册镜像 euca-register ubuntu_11.04/ubuntu.img.manifest.xml 注:镜像上传相对较慢(20 分钟左右),可以通过 top 命令查看 nova-api 以及 glance 相关服务 cpu 使用率不是 100%了代表上传完成 #建立钥匙对 euca-add-keypair admin >/root/cert/admin #启动实例 注:如果是控制节点和计算节点都安装在一台机器上的时候(所谓的 all-in-one),现在我们就可以启动我们的第一个实例 了 #查看当前存在镜像 euca-describr-images #启动实例 euca-run-instances -k admin -t m1.tiny ami-1 注:-k 指定的 key 为我们刚才通过 euca-add-keypair 建立的 keypair,-t 指定的实例类型可以通过 nova-manage instance_type list 查看,ami-1 为 euca-describr-images 得到的名称,例如 ami-00000001 可简写为 ami-1 #查看实例运行状态 euca-describe-instances,看状态是否为 running: RESERVATION r-4mm13kbq cloud default INSTANCE i-0000000e ami-00000001 10.0.0.3 10.0.0.3 running admin (cloud, release) 0 m1.tiny 2011-09-23T08:27:47Z nova ami-00000000 ami-00000000 注:有时 running 并不代表成功启动,需要 ping 通并且可以通过 ssh 连接才是真正的启动成功 #获取一个可用 ip euca-allocate-address,显示大致如下: ADDRESS 60.12.206.118 #将获取的 ip 分配给实例 euca-associate-address -i i-9 60.12.206.118 注:如果需要通过外网 ip 连接 ssh 或者 ping 实例,需要在控制节点添加如下两条防火墙规则 euca-authorize -P icmp -t -1:-1 default euca-authorize -P tcp -p 22 default #回收分配给实例的外网 ip euca-disassociate-address 60.12.206.118 三、 nova 计算节点安装 #安装 ntp apt-get install -y ntp #编辑/etc/ntp.conf,将所有 server 开头的注释掉,并添加如下两行 server 192.168.1.2 #从起 ntp 服务 /etc/init.d/ntp restart IT 运维专家网 http://www.linuxtone.org IT 运维专家网------“我为人人,人人为我!知识源于分享,源于交流!”---LinuxTone 技术交流分享社区! #导入更新源 echo 'deb http://ppa.launchpad.net/openstack-release/2011.3/ubuntu natty main' >>/etc/apt/sources.list #导入密钥 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 94CA80414F1043F6495425C37D21C2EC3D1B4472 #更新源列表 apt-get update #安装 nova-compute apt-get install -y nova-compute #编辑/etc/nova/nova.conf,改成如下内容(nova 配置文件范例) --dhcpbridge_flagfile=/etc/nova/nova.conf #dhcp 桥接配置文件位置 --dhcpbridge=/usr/bin/nova-dhcpbridge #桥接命令位置 --logdir=/var/log/nova #nova 日志存放路径 --state_path=/var/lib/nova #nova 状态文件位置 --lock_path=/var/lock/nova #lock 文件位置,以为为 pid 相关 --verbose=1 #启用详细日志消息 --libvirt_type=kvm # 通过 libvirt 连接的虚拟化程序名称 --s3_host=60.12.206.111 #objectstore 服务地址 --rabbit_host=60.12.206.111 #rabbitmq 队列服务器地址 --cc_host=60.12.206.111 #nova-api 服务地址 --ec2_url=http://60.12.206.111:8773/services/Cloud #nova-api 接口地址 --sql_connection=mysql://nova:nova@localhost/nova #数据库连接参数 --glance_host=60.12.206.111 #glance 服务地址 --image_service=nova.image.glance.GlanceImageService #默认存储镜像使用的服务 --network_manager=nova.network.manager.FlatDHCPManager #默认网络模式 --connection_type=libvirt #启动虚拟机的驱动 --glance_api_servers=60.12.206.111:9292 #glance-api 服务运行地址 注:--glance_api_servers 为新增参数,必须制定,不指定 nova-compute 日志会报 ClientConnectionError: Unable to connect to server. Got error: [Errno 111] ECONNREFUSED,只指定 ip 不指定端口会报 Error: need more than 1 value to unpack #优化实例网络性能 编辑 /usr/lib/pymodules/python2.7/nova/virt/libvirt.xml.template ,将改为 #重启 nova-compute 服务 restart nova-compute #查看服务可用性 注:控制节点执行 AVAILABILITYZONE nova available AVAILABILITYZONE |- release AVAILABILITYZONE | |- nova-scheduler enabled :-) 2011-09-23 08:20:14 AVAILABILITYZONE | |- nova-network enabled :-) 2011-09-23 08:20:14 AVAILABILITYZONE | |- nova-compute enabled :-) 2011-09-23 08:20:15 AVAILABILITYZONE |- r710-op3 AVAILABILITYZONE | |- nova-compute enabled :-) 2011-09-23 08:20:08 启动实例 #启动实例 IT 运维专家网 http://www.linuxtone.org IT 运维专家网------“我为人人,人人为我!知识源于分享,源于交流!”---LinuxTone 技术交流分享社区! 注:控制节点执行 euca-run-instances -k admin -t m1.tiny ami-1 注:-k 指定的 key 为我们刚才通过 euca-add-keypair 建立的 keypair,-t 指定的实例类型可以通过 nova-manage instance_type list 查看,ami-1 为 euca-describr-images 得到的名称,例如 ami-00000001 可简写为 ami-1 1. 查看实例运行状态 #查看实例运行状态 euca-describe-instances,看状态是否为 running: RESERVATIONr-4mm13kbq cloud default INSTANCE i-0000000e ami-00000001 10.0.0.3 10.0.0.3 running admin (cloud, r710-op3) 0 m1.tiny 2011-09-23T08:27:47Z nova ami-00000000 ami-00000000 注:有时 running 并不代表成功启动,需要 ping 通并且可以通过 ssh 连接才是真正的启动成功 2. 为实例分配外网 ip #获取一个可用 ip euca-allocate-address,显示大致如下: ADDRESS 60.12.206.118 #将获取的 ip 分配给实例 euca-associate-address -i i-9 60.12.206.118 注:如果需要通过外网 ip 连接 ssh 或者 ping 实例,需要在控制节点添加如下两条防火墙规则 euca-authorize -P icmp -t -1:-1 default euca-authorize -P tcp -p 22 default #回收分配给实例的外网 ip euca-disassociate-address 60.12.206.118
还剩6页未读

继续阅读

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

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

需要 10 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

akingde

贡献于2012-07-07

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