簡介
此次圍繞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