OpenStack 私有云实战 2—— Glance 镜像与 Nova 计算服务搭建

1 镜像服务配置

1.1 创建数据库、服务凭证和 API 端点

创建 glance 数据库,对glance数据库授予恰当的权限

bash 复制代码
[root@controller ~]# mysql -p123456
MariaDB [(none)]> CREATE DATABASE glance;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'glance';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'glance';
MariaDB [(none)]> quit

每条指令成功后都会有输出,此处的截图不是输出,仅是配置完成后的验证结果

创建 glance 用户

bash 复制代码
[root@controller ~]# openstack user create --domain default --password-prompt glance

添加 admin 角色到 glance 用户和 service 项目上

bash 复制代码
[root@controller ~]# openstack role add --project service --user glance admin

创建glance服务实体

bash 复制代码
[root@controller ~]# openstack service create --name glance   --description "OpenStack Image" image

创建镜像服务的 API 端点

bash 复制代码
[root@controller ~]# openstack endpoint create --region RegionOne   image public http://controller:9292
[root@controller ~]# openstack endpoint create --region RegionOne   image internal http://controller:9292
[root@controller ~]# openstack endpoint create --region RegionOne   image admin http://controller:9292

验证

bash 复制代码
[root@controller ~]# openstack endpoint list

1.2 安装并配置组件

安装软件包,修改配置文件

bash 复制代码
[root@controller ~]# yum install openstack-glance
[root@controller ~]# vim /etc/glance/glance-api.conf
复制代码
[database]
...
connection = mysql+pymysql://glance:glance@controller/glance

[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = glance

[paste_deploy]
...
flavor = keystone

[glance_store]
...
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
bash 复制代码
[root@controller ~]# vim /etc/glance/glance-registry.conf
复制代码
[database]
...
connection = mysql+pymysql://glance:glance@controller/glance

[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = glance

[paste_deploy]
...
flavor = keystone

写入镜像服务数据库

bash 复制代码
[root@controller ~]# su -s /bin/sh -c "glance-manage db_sync" glance
[root@controller ~]# mysql -p123456
MariaDB [(none)]> use glance;
MariaDB [glance]> show tables;

启动镜像服务并配置自启动

bash 复制代码
[root@controller ~]# systemctl enable openstack-glance-api.service   openstack-glance-registry.service
[root@controller ~]# systemctl start openstack-glance-api.service   openstack-glance-registry.service
[root@controller ~]# netstat -antlp |grep :9292

1.3 上传源镜像

bash 复制代码
[root@controller ~]# openstack image create "cirros" --file cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare --public

验证

bash 复制代码
[root@controller ~]# openstack image list

2 计算服务配置

2.1 计算节点初始化

新开一个虚拟机,进行初始化,内容与控制节点相同,但计算节点必须开启 CPU 硬件虚拟化,允许嵌套虚拟化,即虚拟机里面再跑虚拟机

验证,数量不为 0 即可

bash 复制代码
[root@compute1 ~]# egrep -c '(vmx|svm)' /proc/cpuinfo
2
bash 复制代码
[root@compute1 ~]# tar xf mitaka.tar -C /opt/
[root@compute1 ~]# vim /etc/yum.repos.d/openstack.repo
[root@compute1 ~]# yum upgrade
[root@compute1 ~]# reboot

2.2 控制节点配置

2.2.1 创建数据库、服务凭证和 API 端点

创建 nova_api 和 nova 数据库,对数据库进行正确的授权

bash 复制代码
[root@controller ~]# mysql -p123456
MariaDB [(none)]> CREATE DATABASE nova_api;
MariaDB [(none)]> CREATE DATABASE nova;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'nova';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'nova';
MariaDB [(none)]> quit

创建 nova 用户,给 nova 用户添加 admin 角色

bash 复制代码
[root@controller ~]# openstack user create --domain default --password nova nova
[root@controller ~]# openstack role add --project service --user nova admin

创建 nova 服务实体

bash 复制代码
[root@controller ~]# openstack service create --name nova --description "OpenStack Compute" compute

创建 Compute 服务 API 端点

bash 复制代码
[root@controller ~]# openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1/%\(tenant_id\)s

2.2.2 安装并配置组件

bash 复制代码
[root@controller ~]# yum install openstack-nova-api openstack-nova-conductor   openstack-nova-console openstack-nova-novncproxy   openstack-nova-scheduler
[root@controller ~]# vim /etc/nova/nova.conf

2.2.3 同步 Compute 数据库

bash 复制代码
[root@controller ~]# su -s /bin/sh -c "nova-manage api_db sync" nova
[root@controller ~]# su -s /bin/sh -c "nova-manage db sync" nova

启动 Compute 服务并设置自启动

bash 复制代码
[root@controller ~]# systemctl enable openstack-nova-api.service \
  openstack-nova-consoleauth.service openstack-nova-scheduler.service \
  openstack-nova-conductor.service openstack-nova-novncproxy.service
[root@controller ~]# systemctl start openstack-nova-api.service \
  openstack-nova-consoleauth.service openstack-nova-scheduler.service \
  openstack-nova-conductor.service openstack-nova-novncproxy.service

2.3 计算节点配置

bash 复制代码
[root@compute1 ~]# yum install openstack-nova-compute
[root@compute1 ~]# vim /etc/nova/nova.conf
[root@compute1 ~]# grep -v ^# /etc/nova/nova.conf | uniq

启动服务,设为开机自启

bash 复制代码
[root@compute1 ~]# systemctl enable libvirtd.service openstack-nova-compute.service
[root@compute1 ~]# systemctl start libvirtd.service openstack-nova-compute.service

server1 验证

bash 复制代码
[root@controller ~]# openstack compute service list
相关推荐
国际云,接待几秒前
华为云 ECS 怎么选规格:从用户地域、CPU/内存比、PPS 和云硬盘性能做购买前容量判断
服务器
国际云,接待4 分钟前
华为云 CBR 备份不是点一下就完事:用恢复演练验证 ECS 的 RPO、RTO 和跨区域容灾
服务器
学烹饪的小胡桃9 分钟前
资产设备管理系统 WGFIX 怎么设置https访问
linux·运维·服务器·网络·安全
张宇Joaquin25 分钟前
XX业务反序列化数据报错问题定位报告
服务器
IT摆渡者1 小时前
rocky Linux 根目录下扩展新硬盘空间
服务器
邪修king1 小时前
Re:Linux系统篇(二十六):文件系统(二):Ext 文件系统底层详解:从 inode、块组到软硬链接,结合 Windows 讲透文件管理本质
android·java·linux
高亦真1 小时前
今天是学习嵌入式的第38天
linux·学习·算法
志栋智能1 小时前
超自动化巡检如何生成“有灵魂”的运维报告?
大数据·运维·人工智能·架构·自动化
凌风的跨境分享1 小时前
Temu运营避坑指南:制造地点信息填写合规要点与批量优化方法
运维·服务器·人工智能
DYWorker0011 小时前
Linux驱动子系统:中断子系统 —— Consumer和Provider(005)
linux·驱动开发