云计算-实战 OpenStack 私有云运维:服务部署、安全加固、性能优化、从服务部署到性能调优(含数据库、内核、组件优化)全流程
简介
此次围绕OpenStack 私有云平台的运维与开发展开,涵盖了从核心服务安装到深度优化的全流程实战内容。文中详细介绍了 OpenStack 各关键组件(如 Keystone、Glance、Nova、Neutron、Cinder 等)的安装部署方法,包括使用脚本快速搭建服务、创建用户、上传镜像、配置网络等基础操作。同时,针对平台性能与安全性,深入讲解了多维度优化方案:从数据库(MariaDB)的缓存与日志配置、Linux 系统的内核参数调优(如 TCP 连接管理、SYN 攻击防护、文件句柄数调整),到 OpenStack 组件的专项优化(如 Nova 虚拟机自启动、Cinder 存储限速、Glance 镜像存储后端配置等)
包含了 Heat 模板编写、Swift 对象存储使用、Redis 服务调优等实用技巧,并提供了大量可直接复用的命令与配置示例,适合学习运维、openstack,全国职业技能大赛云计算,学习参考。助力快速掌握私有云平台的搭建、管理与性能调优技能
1.Keystone 服务安装与使用
在 controller 节点上使用 iaas-install-keystone.sh 脚本安装 Keystone 服务。安装完成后, 使用相关命令,创建用户 chinaskill,密码为 000000。
[root@controller ~]# iaas-install-keystone.sh [root@controller ~]# openstack user create --domain demo --password 000000 chinaskill 验证: [root@controller ~]# openstack user list +----------------------------------+-------------------+ | ID | Name | +----------------------------------+-------------------+ | 0733616ab88b4cb7a8cc50c2feeb265c | admin | | 64cde9c020b64023a6b0765faefa9e1d | demo | | 03c1ece856c14d07ad453a20660b71fb | glance | | 7f719b25a57b42ad8ad607ff7cdf0bda | placement | | ea592b255b6c4511b97d55cc03a2b50d | nova | | 9fbcbcb37a0a42b9b01e75d9a3e387f6 | neutron | | a97a9939107d42389e3ccfecba57ff7c | cinder | | 4af17a8a611a43d2954a42043bfd4635 | swift | | 4e5456f56bb64aaf984fd95215114640 | heat | | b98c96c1966443ff8e16874d31ff9b08 | heat_domain_admin | | b089bab5277a4aa89160b41aa6927a1f | chinaskill | | 2c7dc273c39d4dd0ad78eda34e3e25b6 | ceilometer | | b09c61382b7a4054add765dd71b389bb | gnocchi | | 5872bfd5a6fc4823b4a3df0803927572 | cloudkitty | +----------------------------------+-------------------+
2.Glance 安装与使用
在 controller 节点上使用 iaas-install-glance.sh 脚本安装 glance 服务。使用命令将提供 的 cirros-0.3.4-x86_64-disk.img 镜像(该镜像在 HTTP 服务中,可自行下载)上传至平台, 命名为 cirros,并设置最小启动需要的硬盘为 10G,最小启动需要的内存为 1G。
[root@controller ~]# iaas-install-glance.sh [root@controller ~]# openstack image create --disk-format qcow2 --container-format bare --min-ram 1024 --min-disk 10 --public --file /root/cirros-0.3.4-x86_64-disk.img cirros
3.Nova 安装与优化
在 controller 节点和 compute 节点上分别使用 iaas-install-placement.sh 脚本、 iaas-install-nova -controller.sh 脚本、iaas-install-nova-compute.sh 脚本安装 Nova 服务。安装完 成后,请修改 nova 相关配置文件,解决因等待时间过长而导致虚拟机启动超时从而获取不 到 IP 地址而报错失败的问题。
[root@controller ~]# iaas-install-placement.sh ;iaas-install-nova-controller.sh [root@compute ~]# iaas-install-nova-compute.sh [root@controller ~]# vi /etc/nova/nova.conf [DEFAULT] 95 vif_plugging_is_fatal=false [root@controller ~]# systemctl restart openstack-nova-*
4.Neutron 安装
使用提供的脚本 iaas-install-neutron-controller.sh 和 iaas-install-neutron-compute.sh,在 controller 和 compute 节点上安装 neutron 服务。
[root@controller ~]# iaas-install-neutron-controller.sh [root@compute ~]# iaas-install-neutron-compute.sh [root@controller ~]# openstack network agent list +--------------------------------------+--------------------+------------+-------------------+-------+-------+---------------------------+ | ID | Agent Type | Host | Availability Zone | Alive | State | Binary | +--------------------------------------+--------------------+------------+-------------------+-------+-------+---------------------------+ | 21158097-4401-4f57-9627-ddfb124bc0f0 | Linux bridge agent | compute | None | :-) | UP | neutron-linuxbridge-agent | | 613e0b32-1f8c-42cc-a0a4-c1dbf17a0dd2 | Linux bridge agent | controller | None | :-) | UP | neutron-linuxbridge-agent | | 86341026-242f-4366-bf04-d0a3c38a68e2 | L3 agent | controller | nova | :-) | UP | neutron-l3-agent | | 9a46dd3d-d690-474e-a5e2-3ca61cced491 | Metadata agent | controller | None | :-) | UP | neutron-metadata-agent | | e898225a-ae09-4b76-a7fe-19e358b53559 | DHCP agent | controller | nova | :-) | UP | neutron-dhcp-agent | +--------------------------------------+--------------------+------------+-------------------+-------+-------+---------------------------+
5.Doshboard 安装
在controller节点上使用iaas-install-dashboad.sh脚本安装dashboad服务。安装完成后, 将 Dashboard 中的 Djingo 数据修改为存储在文件中(此种修改解决了 ALL-in-one 快照在其 他云平台 Dashboard 不能访问的问题)。
[root@controller ~]# iaas-install-dashboard.sh [root@controller ~]# vi /etc/openstack-dashboard/local_settings 104 SESSION_ENGINE = 'django.contrib.sessions.backends.file' [root@controller ~]# systemctl restart httpd
6.Swift 安装
在 控 制 节 点 和 计 算 节 点 上 分 别 使 用 iaas-install-swift-controller.sh 和 iaas-install-swift-compute.sh 脚本安装 Swift 服务。安装完成后,使用命令创建一个名叫 examcontainer 的容器,将 cirros-0.3.4-x86_64-disk.img 镜像上传到 examcontainer 容器中,并 设置分段存放,每一段大小为 10M。
[root@controller ~]# iaas-install-swift-controller.sh [root@compute ~]# iaas-install-swift-compute.sh [root@controller ~]# swift post examcontainer [root@controller ~]# swift upload examcontainer -S 10000000 cirros-0.3.4-x86_64-disk.img cirros-0.3.4-x86_64-disk.img segment 1 cirros-0.3.4-x86_64-disk.img segment 0 cirros-0.3.4-x86_64-disk.img --------------------------------------------- 验证: [root@controller ~]# swift stat examcontainer cirros-0.3.4-x86_64-disk.img #opensta