OpenStack 完整安装手册 (all-in-one) CentOS 6.x 基于 RPM 包 作者 : yz 联系方式 : QQ: 949587200 日期 : 2012-7-18 版本 : Essex Release
目录 实验环境... 4 架构部署... 4 服务器系统安装... 5 安装... 5 前提工作... 5 NTP 时钟服务安装... 5 MYSQL 数据库服务安装... 6 RABBITMQ 消息队列服务安装... 6 KEYSTONE 身份认证服务安装... 6 GLANCE 镜像存储服务安装... 7 NOVA 计算服务安装... 7 NOVNC 服务安装... 8 NOVA-VOLUME 服务配置... 8 HORIZON 服务安装... 9 设置服务开机自启劢... 9
实验环境 硬件 : DELL R710(1 台 ) CPU:Intel(R) Xeon(R) CPU E5520 @ 2.27GHz * 2 内存 :72GB 硬盘 :300GB * 2 / 1TB * 2 网卡 :Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet * 4 系统 : CentOS 6.x Openstack 版本 : Essex Release(2012.1) 架构部署 机器型号 / 主机名 外网 IP 作用 DELL R410/Control 1.1.1.2 all-in-one 实例网段为 10.0.0.0/24, 网络模式采用 FlatDHCP /dev/sda 为系统盘,/dev/sdb 为 nova-volume 盘
服务器系统安装 1. CentOS 6.0~6.3 x64 使用最小化安装方式 2. 服务器使用单网卡 eth0 3. 主机名为 openstack 安装 前提工作 1. 导入第三方软件源 rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm 2. 更新系统 yum install -y gcc gcc-c++ make automake libtool patch wget yum upgrade reboot 3. 设置网络桥接 桥接做法网上很多, 这里丌做说明 NTP 时钟服务安装 1. 安装 NTP 时钟同步服务器 yum install -y ntp 2. 编辑 /etc/ntp.conf, 将文件内容替换为如下 : restrict default ignore restrict 127.0.0.1 restrict 1.1.1.0 mask 255.255.255.0 nomodify notrap server ntp.api.bz server 127.127.1.0 fudge 127.127.1.0 stratum 10 driftfile /var/lib/ntp/drift keys /etc/ntp/keys 3. 重启 ntp 服务 /etc/init.d/ntpd start
MYSQL 数据库服务安装 1. 安装 MYSQL 数据库服务 yum install -y mysql-server 2. 更改 MYSQL 数据库服务监听内网网卡 IP sed -i '/symbolic-links=0/a bind-address = 1.1.1.2' /etc/my.cnf 3. 启劢 MYSQL 数据库服务 /etc/init.d/mysqld start 4. 设置 MYSQL 的 root 用户密码为 openstack mysqladmin -uroot password 'openstack';history -c 5. 检测服务是否正常启劢 通过 netstat -ltunp 查看是否有 tcp 3306 端口监听 如果没有正常启劢请查看 /var/log/mysqld.log 文件排错 1. 安装 RABBITMQ 消息队列服务 yum -y install rabbitmq-server RABBITMQ 消息队列服务安装 2. 启劢 RABBITMQ 消息队列服务 /etc/init.d/rabbitmq-server start 3. 更改 RABBITMQ 消息队列服务 guest 用户默认密码为 openstack rabbitmqctl change_password guest openstack KEYSTONE 身份认证服务安装 yum install -y openstack-keystone python-keystoneclient 2. 设置配置文件 cd /etc/keystone 更改 default_catalog.templates 内容, 详细见附件更改 keystone.conf 内容, 详细见附件新建 keystone_data.sh 初始化 keystone 数据, 详细见附件 3. 数据库设置 mysql -uroot -popenstack -e create database keystone keystone-mange db_sync
4. 启劢服务并执行初始化数据脚本 /etc/init.d/openstack-keystone start bash /etc/keystone/keystone_data.sh 注 :keystone 日志存放在 /var/log/keystone/keystone.log 文件内 yum install -y openstack-glance python-glance GLANCE 镜像存储服务安装 2. 设置配置文件 cd /etc/glance 更改 glance-api.conf 内容, 详细见附件更改 glance-api-paste.ini 内容, 详细见附件更改 glance-registry.conf 内容, 详细见附件更改 glance-registry-paste.ini 内容, 详细见附件 3. 数据库设置 mysql -uroot -popenstack -e create database glance 4. 启劢服务 /etc/init.d/openstack-glance-api start /etc/init.d/openstack-glance-registry start 注 :glance 日志存放在 /var/log/glance 文件夹下的 NOVA 计算服务安装 yum install -y openstack-nova python-nova python-novaclient python-nova-adminclient 2. 设置配置文件 cd /etc/nova 更改 nova.conf 内容, 详细见附件更改 api-paste.ini 内容, 详细见附件更改 /etc/sudoers.d/nova 内容, 详细见附件 echo 1.1.1.2 openstack >>/etc/hosts 3. 数据库设置 mysql -uroot -popenstack -e create database nova nova-manage db sync 4. 加载模块
modprobe kvm modprobe kvm-intel # 如果是 intel CPU modprobe kvm-amd # 如果是 amd CPU 5. 启劢服务 /etc/init.d/messagebus start /etc/init.d/libvirtd start /etc/init.d/openstack-nova-api start /etc/init.d/openstack-nova-compute start /etc/init.d/openstack-nova-network start /etc/init.d/openstack-nova-objectstore start /etc/init.d/openstack-nova-scheduler start 注 :nova 日志存放在 /var/log/nova 文件夹下的 NOVNC 服务安装 yum install -y openstack-nova-novncproxy. 2. 设置配置文件 cd /etc/nova 在 nova.conf 文件内新增如下几行 : novncproxy_base_url=http://$my_ip:6080/vnc_auto.html vnc_enabled=true vnc_keymap=en-us vncserver_listen=$my_ip 3. 启劢服务 /etc/init.d/openstack-nova-consoleauth start /etc/init.d/openstack-nova-novncproxy start iptables -I INPUT -p tcp -m multiport --dports 5900:6000 -j ACCEPT iptables -I INPUT -p tcp --dport 6080 -j ACCEPT NOVA-VOLUME 服务配置 yum install -y kernel-devel wget http://sourceforge.net/projects/iscsitarget/files/iscsitarget/1.4.20.2/iscsitarget-1.4.20.2.tar.gz tar xf iscsitarget-1.4.20.2.tar.gz cd iscsitarget-1.4.20.2 make make install
2. 配置磁盘 fdisk /dev/s db n p 1 两次回车 t 83 w mkfs.ext4 /dev/sdb1 vgcreate nova-volumes /dev/sdb1 3. 启劢服务 /etc/init.d/openstack-nova-volume start HORIZON 服务安装 yum install -y openstack-dashboard 2. 设置配置文件 cd /etc/openstack-dashboard 更改 local_settings 文件内容, 详细见附件 3. 数据库设置 mysql -uroot -popenstack -e create database horizon /usr/share/openstack-dashboard/manage.py syncdb 4. 启劢服务 /etc/init.d/httpd restart iptables -I INPUT -p tcp --dport 80 -j ACCEPT 现在可以通过 http://1.1.1.2/dashboard 访问了 设置服务开机自启动 chkconfig --level 3 httpd on chkconfig --level 3 messagebus on chkconfig --level 3 iptables on chkconfig --level 3 libvirtd on chkconfig --level 3 mysqld on chkconfig --level 3 openstack-keystone on chkconfig --level 3 openstack-glance-api on
chkconfig --level 3 openstack-glance-registry on chkconfig --level 3 openstack-nova-api on chkconfig --level 3 openstack-nova-compute on chkconfig --level 3 openstack-nova-consoleauth on chkconfig --level 3 openstack-nova-network on chkconfig --level 3 openstack-nova-novncproxy on chkconfig --level 3 openstack-nova-objectstore on chkconfig --level 3 openstack-nova-scheduler on chkconfig --level 3 openstack-nova-volume on