1 Horizon的安装配置
(1)安装仪表板组件
yum install openstack-dashboard httpd mod_wsgi memcached python-memcached -y
(2)配置仪表板
编辑/etc/openstack-dashboard/local_settings文件并完成下列配置
#a.配置dashboard使用controller节点上的OpenStack服务
OPENSTACK_HOST = "controller.nice.com"
#b.设置允许来自所有网络的主机访问dashboard
ALLOWED_HOSTS=['controller.nice.com', '*']
#c.配置memcached会话存贮服务(将原有CACHES区域注释)
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
}
}
#d.(可选)配置时区
TIME_ZONE = "Asia/Shanghai"
(3)完成安装
1、在RHEL或CentOS上,配置SElinux去允许web服务器访问OpenStack服务(如果你没关SElinux):
setsebool -P httpd_can_network_connecton
2.修改相关文件归属,使dashboardCSS可以被加载。
chown -R apache:apache /usr/share/openstack-dashboard/static
3.启动web服务和会话保存服务,并设置开机自动启动。
systemctl enable httpd.service memcached.service
systemctl start httpd.service memcached.service
(4)验证
1、访问dashboard,在浏览器输入:http://controller.nice.com/dashboard
2、使用admin或demo用户登录
2 cinder的安装配置
2.1 Block Storage(cinder)介绍
- OpenStack块存储服务为云主机提供块存储设备。支持不同后端
- The Block Storage API和scheduler服务运行在controller节点
- The volume service运行在一个或多个存储节点
- 存储节点可以通过本地磁盘、SAN/NAS等后端设备为云主机提供卷存储
- cinder-api允许API请求,并路由他们到cinder-volume
- cinder-volume直接与块存储服务交互。处理像cinder-scheduler这样的服务。通过消息队列相互通信。支持多种存储类型
- cinder-scheduler daemon选择最优的存储节点创建卷。类似于novascheduler
- Messagin queue在快存储进程中传递消息。
2.2 Block Storage(cinder)安装配置
2.2.1 安装并配置controller节点
(1)配置先决条件
1、创建数据库,并完成下列步骤:
#a.以数据库管理员root的身份连接数据库:
mysql -u root -p
#b.创建cinder数据库
CREATE DATABASE cinder;
#c.创建数据库用户cinder,并授予cinder用户对cinder数据库的完全控制权限:
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'CINDER_DBPASS';
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'CINDER_DBPASS';
#d.退出数据库连接
2、执行admin环境变量脚本
source admin.sh
3、在认证服务中创建块存储服务认证信息,完成下列步骤:
#a.创建cinder用户
keystone user-create --name cinder --pass CINDER_PASS
#b.链接cinder用户到service租户和admin角色
keystone user-role-add --user cinder --tenant service --role admin
#c.创建cinder服务
keystone service-create --name cinder --type volume --description "OpenStackBlock Storage"
keystone service-create --name cinderv2 --type volumev2 --description "OpenStackBlock Storage"
#d.创建块存储服务端点
# keystone endpoint-create \
--service-id $(keystone service-list | awk '/ volume / {print $2}') \
--publicurl http://controller.nice.com:8776/v1/%\(tenant_id\)s \
--internalurl http://controller.nice.com:8776/v1/%\(tenant_id\)s \
--adminurl http://controller.nice.com:8776/v1/%\(tenant_id\)s \
--region regionOne
# keystone endpoint-create \
--service-id $(keystone service-list | awk '/ volumev2 / {print $2}') \
--publicurl http://controller.nice.com:8776/v2/%\(tenant_id\)s \
--internalurl http://controller.nice.com:8776/v2/%\(tenant_id\)s \
--adminurl http://controller.nice.com:8776/v2/%\(tenant_id\)s \
--region regionOne
(2)安装并配置块存储控制组件
1、安装软件包
yum install openstack-cinder python-cinderclient python-oslo-db
2、编辑/etc/cinder/cinder.conf文件并完成下列操作:
#a.编辑[database]小节,配置数据库连接:
[database]
...
connection=mysql://cinder:CINDER_DBPASS@controller.nice.com/cinder
#b.编辑[DEFAULT]小节,配置RabbitMQ消息代理访问:
[DEFAULT]
...
rpc_backend=rabbit
rabbit_host=controller.nice.com
rabbit_password=guest
#c.编辑[DEFAULT]和[keystone_authtoken]小节,配置认证服务访问:
[DEFAULT]
...
auth_strategy=keystone
[keystone_authtoken]
...
auth_uri=http://controller.nice.com:5000/v2.0
identity_uri=http://controller.nice.com:35357
admin_tenant_name=service
admin_user=cinder
admin_password=CINDER_PASS
#d.编辑[DEFAULT]小节,配置my_ip选项使用controller节点的控制端口ip:
[DEFAULT]
...
my_ip=192.168.119.181
#e.(可选)在[DEFAULT]小节中配置详细日志输出。方便排错。
[DEFAULT]
...
verbose=True
3、初始化块存储服务数据库
su -s /bin/sh -c "cinder-manage db sync" cinder
(3)完成安装
启动块存储服务并设置开机自动启动:
systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service
2.2.2 安装并配置block节点
(1)配置先决条件
1、添加一个新的硬盘(如:sdb),并分将全部空间分成一个主分区。
2、安装LVM软件包(根据自身情况)
# yum install lvm2
3、启动LVM服务并这只开机自动启动(根据自身情况)
systemctl enable lvm2-lvmetad.service
systemctl start lvm2-lvmetad.service
4、创建物理卷/dev/sdb
pvcreate /dev/sdb
5、创建卷组cinder-volumes(名字不要改):
vgcreate cinder-volumes /dev/sdb
6、编辑/etc/lvm/lvm.conf文件,使系统只扫描启用LVM的磁盘。防止识别其他非LVM磁盘对块存储服务造成影响。
编辑devices小节,添加过滤器允许/dev/sdb磁盘,拒绝其他设备。
devices {
...
filter = [ "a/sdb/", "r/.*/"]
警告:如果你的系统磁盘使用了LVM,则必须添加系统盘到过滤器中:
filter = [ "a/sda", "a/sdb/", "r/.*/"]
同样,如果conpute节点的系统盘也使用了LVM,则也需要修改/etc/lvm/lvm.conf文件。并添加过滤器。
filter = [ "a/sdb/", "r/.*/"]
(2)安装并配置块存储卷组件
1、安装软件包
yum install openstack-cinder targetcli python-oslo-db MySQL-python
2、编辑/etc/cinder/cinder.conf文件并完成下列操作:
#a.编辑[database]小节,配置数据库访问:
[database]
...
connection=mysql://cinder:CINDER_DBPASS@controller.nice.com/cinder
#b.编辑[DEFAULT]小节,配置RabbitMQ消息代理访问:
[DEFAULT]
...
rpc_backend=rabbit
rabbit_host=controller.nice.com
rabbit_password=guest
#c.编辑[DEFAULT]和[keystone_authtoken]小节,配置认证服务访问:
[DEFAULT]
...
auth_strategy=keystone
[keystone_authtoken]
...
auth_uri=http://controller.nice.com:5000/v2.0
identity_uri=http://controller.nice.com:35357
admin_tenant_name=service
admin_user=cinder
admin_password=CINDER_PASS
#d.编辑[DEFAULT]小节,配置my_ip选项:
[DEFAULT]
...
my_ip=192.168.119.182
#e.编辑[DEFAULT]小节,配置镜像服务器位置:
[DEFAULT]
...
glance_host=controller.nice.com
#f.编辑[DEFAULT]小节,配置块存储服务使用lioadmiSCSI服务
[DEFAULT]
...
iscsi_helper=lioadm
#g.(可选)在[DEFAULT]小节中配置详细日志输出。方便排错。
[DEFAULT]
...
verbose=True
(3)完成安装
启动块存储volume服务和iSCSI服务,并设置开机自动启动。
systemctl enable openstack-cinder-volume.service target.service
systemctl start openstack-cinder-volume.service target.service
(4)验证(在controller节点完成下列操作)
1、执行admin环境变量脚本
# source admin.sh
2、列出服务组件确认每个进程启动成功
# cinder service-list
3、执行demo用户环境变量脚本
# source demo.sh
4、创建1GB的卷
# cinder create --display-name demo-volume1 1
5、确认卷已创建并可用
# cinder list