简单的利用鲲鹏服务器搭建OpenStack平台实践(下)
在上一篇中(https://bbs.huaweicloud.cn/blogs/237348),分别介绍了:
4 安装Nova计算服务(控制节点)
5 安装Nova计算服务(计算节点)
6 安装Neutron网络服务(控制节点)
>>点我查看利用鲲鹏服务器搭建OpenStack平台实践(中)<<
接下来我们继续介绍最后的几点也是最重要的几点:
7 安装Horizon服务组件(控制节点)
7.1 安装dashboard软件包
yum --enablerepo=centos-openstack-stein,epel install openstack-dashboard -y --nogpgcheck |
7.2 修改配置文件
(1)修改配置文件/etc/openstack-dashboard/local_settings
vim /etc/openstack-dashboard/local_settings |
ALLOWED_HOSTS = ['*', ] |
配置选项:
配置dashboard运行在192.168.1.81上(192.168.1.81为OS主机名)
配置允许登陆dashboard的主机
配置memcached存储服务
启用第3版认证API
启用对域的支持
配置API版本
通过仪表盘创建用户时的默认域配置为 default
通过仪表盘创建的用户默认角色配置为 user
如果您选择网络参数1,禁用支持3层网络服务:
可以选择性地配置时区,不能用CST否则无法启动httpd服务
(2)新增以下内容/etc/httpd/conf.d/openstack-dashboard.conf
vim /etc/httpd/conf.d/openstack-dashboard.conf |
WSGIApplicationGroup %{GLOBAL} |
(3)重启服务
systemctl restart httpd.service memcached.service |
7.3 部署FwaaS、VPNaaS及LBaaS的面板
(1)下载并配置面板
cd / |
(2)重启各个服务
systemctl restart neutron-server httpd.service memcached.service |
(3)访问测试
在浏览器中输入下面的地址:用户名是admin,密码是123456,域名用default
http://192.168.0.76:80/dashboard
# 浏览器页面如下:
# 登录后显示这样一个摘要信息:
# 新安装的默认里面基本是空的,需要后续手动添加扩充
8 安装Cinder存储服务组件(控制节点)
8.1 在控制节点安装cinder存储服务
(1)创建cinder数据库
# 创建相关数据库,授权访问用户
mysql -u root -p123456 |
CREATE DATABASE cinder; |
(2)在keystone上面注册cinder服务(创建服务证书)
# 在keystone上创建cinder用户
cd /server/tools |
在keystone上将cinder用户配置为admin角色并添加进service项目,以下命令无输出
openstack role add --project service --user cinder admin |
创建cinder服务的实体
openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2 |
创建cinder服务的API端点(endpoint)
openstack endpoint create --region RegionOne volumev2 public http://jack20_controller:8776/v2/%\(project_id\)s |
(3)安装cinder相关软件包
yum --enablerepo=centos-openstack-stein,epel install openstack-cinder -y –nogpgcheck |
(4)快速修改cinder配置
openstack-config --set /etc/cinder/cinder.conf database connection mysql+pymysql://cinder:cinder@jack20_controller/cinder
openstack-config --set /etc/cinder/cinder.conf DEFAULT transport_url rabbit://openstack:openstack@jack20_controller
openstack-config --set /etc/cinder/cinder.conf DEFAULT auth_strategy keystone
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken auth_uri http://jack20_controller:5000
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken auth_url http://jack20_controller:5000
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken memcached_servers jack20_controller:11211
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken auth_type password
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken project_domain_name default
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken user_domain_name default
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken project_name service
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken username cinder
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken password cinder
openstack-config --set /etc/cinder/cinder.conf DEFAULT my_ip 192.168.0.76
openstack-config --set /etc/cinder/cinder.conf oslo_concurrency lock_path /var/lib/nova/tmp
openstack-config --set /etc/cinder/cinder.conf DEFAULT log_dir /var/log/cinder
openstack-config --set /etc/cinder/cinder.conf DEFAULT state_path /var/lib/cinder
openstack-config --set /etc/cinder/cinder.conf DEFAULT enable_v3_api True
检查生效的cinder配置
egrep -v "^#|^$" /etc/cinder/cinder.conf |
(5)同步cinder数据库
# 有36张表(如有提示,请忽略)
su -s /bin/sh -c "cinder-manage db sync" cinder |
# 验证数据库
mysql -h192.168.0.76 -ucinder -pcinder -e "use cinder;show tables;" |
(6)修改nova配置文件
# 配置nova调用cinder服务
openstack-config --set /etc/nova/nova.conf cinder os_region_name RegionOne |
检查生效的nova配置
grep '^[a-z]' /etc/nova/nova.conf |grep os_region_name |
(7)重启nova-api服务
systemctl restart openstack-nova-api.service |
(8)启动cinder存储服务
# 需要启动2个服务
systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service |
# 至此,控制端的cinder服务安装完毕,在dashboard上面可以看到项目目录中多了一个卷服务
8.2 在计算节点服务器安装cinder存储服务
# 存储节点建议单独部署服务器(最好是物理机),测试时也可以部署在控制节点或者计算节点。在本文是在计算节点使用LVM逻辑卷提供服务,需要提供一块空的磁盘用以创建LVM逻辑卷,我在开始配置计算节点时就已经增添了一块100GB的磁盘。
(1)安装LVM相关软件包
yum --enablerepo=centos-openstack-stein,epel install lvm2 device-mapper-persistent-data -y --nogpgcheck |
(2)启动LVM的metadata服务并配置开机自启动
systemctl start lvm2-lvmetad.service systemctl status lvm2-lvmetad.service systemctl enable lvm2-lvmetad.service systemctl list-unit-files |grep lvm2-lvmetad |grep enabled |
(3)创建LVM逻辑卷(在运行以下命令时,请确保计算节点已额外添加100GB的磁盘)
# 检查磁盘状态
fdisk -l |
# 创建LVM 物理卷 /dev/sdb
pvcreate /dev/sdb |
# 创建 LVM 卷组 cinder-volumes,块存储服务会在这个卷组中创建逻辑卷
vgcreate cinder-volumes /dev/sdb |
(4)配置过滤器,防止系统出错
# 默认只会有openstack实例访问块存储卷组,不过,底层的操作系统也会管理这些设备并尝试将逻辑卷与系统关联。
# 默认情况下LVM卷扫描工具会扫描整个/dev目录,查找所有包含lvm卷的块存储设备。如果其他项目在某个磁盘设备sda,sdc等上使用了lvm卷,那么扫描工具检测到这些卷时会尝试缓存这些lvm卷,可能导致底层操作系统或者其他服务无法正常调用他们的lvm卷组,从而产生各种问题,需要手动配置LVM,让LVM卷扫描工具只扫描包含"cinder-volume"卷组的设备/dev/sdb,我这边磁盘分区都是格式化的手工分区,目前不存在这个问题,以下是配置演示
vim /etc/lvm/lvm.conf |
devices { |
# 配置规则:
# 每个过滤器组中的元素都以a开头accept接受,或以 r 开头reject拒绝,后面连接设备名称的正则表达式规则。
# 过滤器组必须以"r/.*/"结束,过滤所有保留设备。
# 可以使用命令:vgs -vvvv来测试过滤器。
注意:
# 如果存储节点的操作系统磁盘/dev/sda使用的是LVM卷组,也需要将该设备添加到过滤器中,例如:filter = [ "a/sda/", "a/sdb/", "r/.*/"]
# 如果计算节点的操作系统磁盘/dev/sda使用的是LVM卷组,也需要修改这些节点的/etc/lvm/lvm.conf,在过滤器中增加该类型的磁盘设备,例如:filter = [ "a/sda/", "r/.*/"]
(5)在计算节点安装配置cinder组件
yum --enablerepo=centos-openstack-stein,epel install openstack-cinder targetcli python-keystone -y --nogpgcheck |
(6)在计算节点快速修改cinder配置
openstack-config --set /etc/cinder/cinder.conf database connection mysql+pymysql://cinder:cinder@jack20_controller/cinder |
# 如果计算节点是双网卡,选项my_ip需要配置计算节点的管理IP,否则配置本机IP
# 检查生效的cinder配置
egrep -v "^#|^$" /etc/cinder/cinder.conf |
(7)在计算节点启动cinder服务并配置开机自启动
# 需要启动2个服务
systemctl start openstack-cinder-volume.service target.service |
# 至此,在计算节点安装cinder服务就完成了
9 部署VPC以测试OpenStack
9.1登录进行基本配置
(1)获取管理员变量
cd /server/tools |
(2)登录后创建实例类型
cd /server/tools |
(3)创建秘钥对
选择SSH秘钥创建并保存
到这里差不都也就结束了,大家感兴趣的可以自己研究研究创建私有网络、创建实例、SDN虚拟路由器等等都好有意思~
- 点赞
- 收藏
- 关注作者
评论(0)