一、数据库调优
在控制节点(controller)上使用安装 Mariadb、RabbitMQ 等服务。并进行相关操作。
在 controller 节点上使用 iaas-install-mysql.sh 脚本安装 Mariadb、Memcached、
RabbitMQ 等服务。(在上一篇中没有出意外的话,这一步已经完成。)
安装服务完毕后,修改/etc/my.cnf 和/etc/sysconfig/memcached文件,对配置进行修改(以下只是例子,具体参数设为多少看自己需求或者题目要求):
- 设置数据库支持大小写;
- 设置数据库缓存 innodb 表的索引,数据,插入数据时的缓冲为 4G;
- 设置数据库的 log buffer 为 64MB;
- 设置数据库的 redo log 大小为 256MB;
- 设置数据库的 redo log 文件组为 2。
- 修改 Memcached 的相关配置,将内存占用大小设置为 512MB,调整最大连接数参数为2048;
- 调整 Memcached 的数据摘要算法(hash)为 md5;
vi /etc/my.cnf #进入编辑配置文件
添加以下参数:
lower_case_table_names = 1 #设置数据库支持大小写
innodb_buffer_pool_size = 4G #设置数据库缓存 innodb 表的索引,数据,插入数据时的缓冲为 4G
innodb_log_buffer_size = 64MB #设置数据库的 log buffer 为 64MB
innodb_log_file_size = 256MB #设置数据库的 redo log 大小为 256MB
innodb_log_files_in_group = 2 #设置数据库的 redo log 文件组为 2
修改完之后进行保存然后重启mariadb
systemctl restart mariadb #重启mariadb
vi /etc/sysconfig/memcached #进入编辑memcached的配置文件
添加或者修改以下参数:
MAXCONN="2048" #修改最大连接参数2048
CACHESIZE="512" #修改内存占用大小为512
hash_algorithm=md5 #添加一行调整Memcached算法为md5
systemctl restart memcached #修改完之后进行保存然后重启memcache
二、Keystone 服务使用
在 controller 节点上使用 iaas-install-keystone.sh 脚本安装 Keystone 服务(也是如果上一篇中不出意外的话,这一步是完成了的。)
举例:创建OpenStack域210Demo,其中包含Engineering项目,在域 210Demo 中创建组 devops其中包含用户:Robert 用户是 Engineering 项目的管理员(admin),email 地址为:Robert@lab.example.com。
source /etc/keystone/admin-openrc.sh #首先一定要导入环境变量
openstack domain create 210Demo #创建域210Demo
openstack group create devops --domain 210Demo #在210Demo中创建devops用户组
openstack project create Engineering --domain 210Demo #在210Demo中创键Engineering的项目
openstack user create --domain 210Demo --project Engineering Robert --email Robert@lab.example.com #在210Demo域中,创建用户Robert并分配到Engineering项目,并设置其电子邮件地址。
openstack role add --user Robert --project Engineering admin #将用户Robert分配到Engineering项目的admin角色。
三、Glance服务使用
在控制节点上安装 Glance 服务。(上一篇中不出意外的话已完成)上传镜像至平台,并设置镜像启动的要求参数。
glance image-list #查看当前存在的镜像
我们就直接拿Centos7.9的ISO镜像来演示吧
glance image-create --name "CentOS7.9" --disk-format iso --container-format bare --progress < CentOS-7.9-x86_64-DVD-2009.iso
#--name 镜像命名
#--disk-format 镜像磁盘类型,ISO文件为iso,假如是QCOW2文件则填qcow2
#--container-format 上传镜像使用的容器类型(ami, ari, aki,bare, ovf, ova, docker)
#progress 进度显示上传进度条
上传完成之后再次使用glance image-list来查看镜像是否成功存在
或者登录网页后台用管理员账号登录,来查看镜像是否存在。
如果需要删除镜像,则是以下操作:
使用glance image-list来查看镜像ID
比如我的:
+--------------------------------------+-----------+
| ID | Name |
+--------------------------------------+-----------+
| 0e38650c-a9f5-49ec-8f71-b7600d45ca08 | CentOS7.9 |
+--------------------------------------+-----------+
由于镜像默认是为被保护状态,所以我们需要更新镜像状态取消它的保护状态,才能删除镜像
glance image-update --protected False 0e38650c-a9f5-49ec-8f71-b7600d45ca08 #更新取消保护状态
glance image-delete 0e38650c-a9f5-49ec-8f71-b7600d45ca08 #删除镜像
glance开放镜像权限
source admin-openrc.sh # 加载管理员环境变量(通常包含认证信息)
创建镜像
openstack image create --name glance-cirros \
--container-format bare \
--disk-format qcow2 \
--file cirros-0.3.4-x86_64-disk.img \
--public # 若需全局可见可加此参数,否则需显式共享
验证镜像状态
openstack image show glance-cirros | grep status
输出应为 status: active
共享镜像到demo项目
首先查找demo项目ID:openstack project list | grep demo
将镜像glance-cirros共享给demo项目
openstack image add project glance-cirros <demo-project-id>
glance镜像转换
qemu-img convert -f qcow2 -O raw CentOS7.5-compress.qcow2 chinaskill-compress.raw
如果没有qemu-img,使用yum install qemu-img进行安装
四、Nova优化
在 controller 节点和 compute 节点上分别使用 iaas-install-placement.sh 脚本、 iaas-install-nova -controller.sh 脚本、iaas-install-nova-compute.sh 脚本安装 Nova 服 务(上一篇不出意外的话这步已完成)。在 OpenStack 中,修改相关配置文件,修改调度器规则采用缓存调度器,缓存主机信息,提升调度时间。
vi /etc/nova/nova.conf #进入编辑nova的配置文件
将driver=nova.quota.DbQuotaDriver改为driver=simple_scheduler并取消注释来启动此参数
五、Swift服务使用
控制节点(controller)使用命令创建一个名 叫 examcontainer 的 容 器 , 将 cirros-0.3.4-x86_64-disk.img 镜像上传到 examcontainer 容器中,并设置分段存放,每一段大小为 10M。
swift post examcontainer #创建名为examcontainer的容器
openstack container list #查看容器列表
swift upload -S 10M examcontainer cirros-0.3.4-x86_64-disk.img #上传到容器中