因为 Python 的版本问题,在 CentOS 5.6 上安装 OpenStack 不是件容易的事情,因为 OpenStack 是 Python 2.6 写的,CentOS 5.6 上默认的是 Python 2.4 的环境,一些关键工具(比如 yum 等)和依赖关系都需要 2.4,不容易直接升级到 2.6,所以要在 CentOS 上安装 OpenStack 的话简单的办法是直接用 CentOS 6.0(默认是 Python 2.6) 安装和配置基本系统在安装完基本的 CentOS 6.0 系统后(最小化安装)升级和更新整个系统,然后关闭 SELINUX 后重启,为了简单方便最好也关闭 iptables: # yum update # yum upgrade # vi /etc/sysconfig/selinux SELINUX=disabled # chkconfig iptables off # service iptables stop # shutdown -r now 安装 OpenStack Nova下载和安装 OpenStack 源: # wget http://yum.griddynamics.net/yum/diablo-3/openstack/openstack-repo-2011.3-0.3.noarch.rpm # rpm -ivh openstack-repo-2011.3-0.3.noarch.rpm OpenStack Nova 需要在控制结点(Cloud Controller)和计算结点(Cloud Compute)上都安装和启用 libvirtd: # yum install libvirt # chkconfig libvirtd on # service libvirtd start 如果服务器用来做 Cloud Controller 结点需要安装(OpenStack Nova 云里至少要有一台服务器作为控制结点): # yum install euca2ools openstack-nova-node-full unzip 如果服务器只是做 Cloud Compute 结点则需要在每个计算结点上都安装(理论上 OpenStack Nova 云里可以有无数个计算结点): # yum install openstack-nova-node-compute 配置 MySQL 数据库OpenStack Nova 需要数据库的支持,这里用的是 MySQL: # service mysqld start # chkconfig mysqld on # service rabbitmq-server start # chkconfig rabbitmq-server on 修改 MySQL 绑定地址,以便其他的节点服务器也能访问这个数据库: # vi /etc/my.cnf ... #bind-address = 127.0.0.1 bind-address = 0.0.0.0 ... # service mysql restart 创建一个名为 nova 的数据库,并设置 root 从任何 IP 访问的权限和密码: # mysql -uroot -ppassword -e 'CREATE DATABASE nova;' # mysql -uroot -ppassword -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;" # mysql -uroot -ppassword -e "SET PASSWORD FOR 'root'@'%' = PASSWORD('password');" 配置 Nova: $ sudo vi /etc/nova/nova.conf --verbose=false --ec2_url=http://172.16.39.111:8773/services/Cloud --s3_host=172.16.39.111 --cc_host=172.16.39.111 --rabbit_host=172.16.39.111 --sql_connection=mysql://nova:nova@172.16.39.111/nova --glance_api_servers=172.16.39.111:9292 --use_s3=true --libvirt_type=kvm --use_syslog=false --node_availability_zone=nova --logdir=/var/log/nova --logging_context_format_string=%(asctime)s %(name)s: %(levelname)s [%(request_id)s %(user)s %(project)s] %(message)s --logging_default_format_string=%(asctime)s %(name)s: %(message)s --logging_debug_format_suffix= --use_cow_images=true --auth_driver=nova.auth.dbdriver.DbDriver --network_manager=nova.network.manager.VlanManager --scheduler_driver=nova.scheduler.zone.ZoneScheduler --image_service=nova.image.glance.GlanceImageService --use_ipv6=false --ca_path=/var/lib/nova/CA --keys_path=/var/lib/nova/keys --images_path=/var/lib/nova/images --buckets_path=/var/lib/nova/buckets --instances_path=/var/lib/nova/instances --networks_path=/var/lib/nova/networks --dhcpbridge_flagfile=/etc/nova/nova.conf --dhcpbridge=/usr/bin/nova-dhcpbridge --injected_network_template=/usr/share/nova/interfaces/ --libvirt_xml_template=/usr/share/nova/libvirt.xml.template --vpn_client_template=/usr/share/nova/client.ovpn.template --credentials_template=/usr/share/nova/novarc.template --state_path=/var/lib/nova --lock_path=/var/lib/nova/tmp --vnc_enabled=true --vncproxy_url=http://172.16.39.111:6080 --vncserver_host=0.0.0.0 --vnc_token_ttl=300 每次重启一堆服务很麻烦,写个脚本方便重启 nova 所有服务: # vi nova-restart-all.sh #!/bin/bash for n in api compute network objectstore scheduler vncproxy; do service openstack-nova-$n restart; done service openstack-glance-api restart service openstack-glance-registry restart # chmod +x nova-restart-all.sh # ./nova-restart-all.sh 使用 Nova# nova-manage db sync # nova-manage network create 192.168.0.0/24 1 255 # nova-manage floating create 10.10.10.2 10.10.10.224/27 # nova-manage user admin vpsee # nova-manage project create mycloud vpsee 导出权限信息: # mkdir /home/vpsee/creds # nova-manage project zipfile mycloud vpsee /home/vpsee/creds/novacreds.zip # cd /home/vpsee/creds # unzip novacreds.zip # chown -R vpsee:vpsee /home/vpsee/creds/ # source /home/vpsee/creds/novarc 再次重启 nova 相关的所有服务: # ./nova-restart-all.sh 如果一切正常的话,应该可以看到下面的类似信息,这样 OpenStack Nova 就成功安装了: # euca-describe-availability-zones verbose AVAILABILITYZONE nova available AVAILABILITYZONE |- node00 AVAILABILITYZONE | |- nova-network enabled :-) 2011-08-16 19:28:13 AVAILABILITYZONE | |- nova-compute enabled :-) 2011-08-16 19:28:22 AVAILABILITYZONE | |- nova-scheduler enabled :-) 2011-08-16 19:28:14 转载请保留固定链接: https://linuxeye.com/configuration/754.html |