linux云计算部署Openstack(五)之部署cinder组件 和openstack案例总结

Openstack部署cinder组件  和openstack案例总结

 

查看IP 桥

 

brctl show

. admin.sh

 

openstack network list

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

 

 

1.控制节点 建库授权 创建cinder数据库

 

mysql -u root -p123

 

CREATE DATABASE cinder;

 

GRANT ALL PRIVILEGES ON cinder.* TO ‘cinder‘@‘localhost‘  IDENTIFIED BY ‘123‘;

GRANT ALL PRIVILEGES ON cinder.* TO ‘cinder‘@‘%‘  IDENTIFIED BY ‘123‘;

GRANT ALL PRIVILEGES ON cinder.* TO ‘cinder‘@‘controller‘  IDENTIFIED BY ‘123‘;

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

. admin.sh

 

openstack user create --domain default --password-prompt cinder

openstack role add --project service --user cinder admin

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

 

openstack service create --name cinderv2 \

--description "OpenStack Block Storage" volumev2

openstack service create --name cinderv3 \

--description "OpenStack Block Storage" volumev3

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

 

openstack endpoint create --region RegionOne \

volumev2 public http://controller:8776/v2/%\(project_id\)s

 

 

openstack endpoint create --region RegionOne \

volumev2 internal http://controller:8776/v2/%\(project_id\)s

 

openstack endpoint create --region RegionOne \

volumev2 admin http://controller:8776/v2/%\(project_id\)s

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

 

 

openstack endpoint create --region RegionOne \

volumev3 public http://controller:8776/v3/%\(project_id\)s

 

 

openstack endpoint create --region RegionOne \

volumev3 internal http://controller:8776/v3/%\(project_id\)s

 

openstack endpoint create --region RegionOne \

volumev3 admin http://controller:8776/v3/%\(project_id\)s

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

2.控制节点 安装cinder组件

yum install openstack-cinder -y

1.修改cinder配置文件

vim  /etc/cinder/cinder.conf

 

1.

[database]

connection = mysql+pymysql://cinder:123@controller/cinder

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

2.

[DEFAULT]

transport_url = rabbit://openstack:123@controller

auth_strategy = keystone

my_ip = 192.168.20.40

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

3.

[keystone_authtoken]

auth_uri = http://controller:5000

auth_url = http://controller:5000

memcached_servers = controller:11211

auth_type = password

project_domain_id = default

user_domain_id = default

project_name = service

username = cinder

password = 123

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

4.

[oslo_concurrency]

lock_path = /var/lib/cinder/tmp

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

 

2.填充数据库

 

su -s /bin/sh -c "cinder-manage db sync" cinder

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

mysql -uroot -p123

show databases

use cinder

show tables;

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

 

3.修改nova组件的配置文件 增加cinder  启动服务

vim /etc/nova/nova.conf

 

[cinder]

os_region_name = RegionOne

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

systemctl restart openstack-nova-api.service

 

 

systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service

systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

systemctl status openstack-cinder-api.service openstack-cinder-scheduler.service

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

 

 

 

3.计算节点(即为存储节点)制作vgs部署 和 安装cinder组件

 

1.增加磁盘  制作vgs

lsblk查看磁盘

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

pvcreate /dev/sdb创建LVM物理卷/dev/sdb

pvs

vgcreate cinder-volumes /dev/sdb创建LVM卷组cinder-volumes

vgs

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

2.计算节点安装lvm程序包 安装cinder和targetcli和keystone包

yum install lvm2 device-mapper-persistent-data -y安装支持的lvm程序包

systemctl enable lvm2-lvmetad.service

systemctl start lvm2-lvmetad.service

 

 

yum install openstack-cinder targetcli python-keystone -y

 

3.修改配置文件cinder 启动服务,查看服务状态

vim /etc/cinder/cinder.conf

1.

[DEFAULT]

transport_url = rabbit://openstack:123@controller

auth_strategy = keystone

my_ip = 192.168.20.11

enabled_backends = lvm

glance_api_servers = http://controller:9292

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

2.

[database]

connection = mysql+pymysql://cinder:123@controller/cinder

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

3.

[keystone_authtoken]

auth_uri = http://controller:5000

auth_url = http://controller:5000

memcached_servers = controller:11211

auth_type = password

project_domain_id = default

user_domain_id = default

project_name = service

username = cinder

password = 123

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

 

4.

[oslo_concurrency]

lock_path = /var/lib/cinder/tmp

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

5.

添加到最后

[lvm]

volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver

volume_group = cinder-volumes

iscsi_protocol = iscsi

iscsi_helper = lioadm

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

 

启动服务 查看状态

systemctl enable openstack-cinder-volume.service target.service

systemctl start openstack-cinder-volume.service target.service

systemctl status openstack-cinder-volume.service target.service

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

4.控制节点验证 是否存在volume

 

.  admin.sh

openstack volume service list

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

4.网页 部署

控制节点和计算节点 部署完成后 登录会显示出卷这个选项

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

1.创建卷

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

2.管理 连接

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

连接

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

 

 

3.查看实例 控制台 进行验证

启动实例

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

 

 

 

 

5. KVM??

 

 

 

 

6.总结 openstack流程

 

1.Openstack 典型环境架构  -- IaaS --  vm

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

 

2.openstack新建云主机流程图:

 linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结

 

 

3.***openstack 虚拟机  启动过程如下

nova 计算服务 提供实例

glance 镜像服务 提供系统

neturn 网络服务  提供网络

cinder 块存储服务  提供存储 创建卷 (额外的存储空间)

 

 

openstack 流程图 我修改的

1.horizon/clienct   提出请求   keystone获取认证信息

2.keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请求。

3.界面或命令行  通过RESTful API   向nova-api发送一个  boot instance的请求(携带auth-token令牌)。

4.nova-api接受请求后   keystone发送  认证请求, 查看token是否为  有效用户和token。(验证)

5.keystone验证  token是否有效,如有效  则返回有效的认证  和对应的角色(注:有些操作需要有角色权限才能操作)。

6.通过keystone  认证后的nova-api   和数据库   通讯。

7.初始化  新建虚拟机的  数据库记录。

8.nova-api通过rpc.call   nova-scheduler请求   是否有创建虚拟机的  资源(Host ID)。

9.nova-scheduler进程   侦听消息队列,获取nova-api的请求。

10.nova-scheduler  读取  查询nova数据库中   计算资源的情况, 然后 通过调度算法   计算符合虚拟机创建需要  的主机。(权重的计算)

11.对于有  符合虚拟机创建  的主机,nova-scheduler   更新数据库中  虚拟机对应的   物理主机信息。

12.nova-scheduler  通过rpc.cast向  nova-compute   发送对应的   创建虚拟机  请求的消息。

 

13.nova-compute  会从对应的消息队列中   获取   创建虚拟机  请求的消息。

14.nova-compute  通过rpc.call   向nova-conductor请求   获取虚拟机消息。(Flavor)

15.nova-conductor  从消息队队列中   拿到nova-compute请求消息。

 

16.nova-conductor  根据消息  db数据库   查询虚拟机对应的信息。

17.nova-conductor  从db数据库中  获取到  虚拟机对应信息。

 

18.nova-conductor  把从数据库得到的  虚拟机信息  通过消息的方式   发送到消息队列中。

19.nova-compute    从对应的消息队列中     获取虚拟机信息消息。

 

20.nova-compute  通过keystone的RESTfull API   拿到认证的token令牌,然后通过HTTP请求  glance-api获取   创建虚拟机   所需要镜像。

21.glance-api   向keystone   认证token  是否有效,并返回验证结果。

22.glance-api  的验证keystone的   token令牌通过,glance从后端提取镜像  返回给   nova-compute获得虚拟机镜像信息(URL)。

 

23.nova-compute  通过keystone的RESTfull API拿到认证的token令牌 ,然后 通过HTTP请求neutron-server获取   创建虚拟机   所需要的网络信息。 (server 服务响应请求   网卡ip)  (plugins调度,来规划网络实现,  aginent具体把网络资源创建出来)

??24.neutron-server  keystone验证  token令牌  是否有效,并返回验证结果。

25.neutron的  token验证通过,nova-compute  获得 neutron -server  返回的  虚拟机网络信息。

 

26.nova-compute通过keystone的RESTfull API拿到认证的token,并通过HTTP 请求到  cinder-api获取创建虚拟机   所需要的   持久化存储信息。

27.cinder-api向keystone认证token是否有效,并返回验证结果。

28. token验证通过,nova-compute获得虚拟机持久化存储信息。 ( 提供存储 存储节点volume  通过调用存储后端的NFS 或者LVM  返回给computer)

29.nova-compute根据   instance的信息   调用配置的虚拟化驱动   来创建虚拟机。 (Hypervisor根据computer的  镜像glance   网络neutron 和存储cinder 来创建虚拟机 )

 

部署cinder组件  和openstack案例总结

 

查看IP 桥

 

brctl show

. admin.sh

 

openstack network list

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

 

1.控制节点 建库授权 创建cinder数据库

 

mysql -u root -p123

 

CREATE DATABASE cinder;

 

GRANT ALL PRIVILEGES ON cinder.* TO ‘cinder‘@‘localhost‘  IDENTIFIED BY ‘123‘;

GRANT ALL PRIVILEGES ON cinder.* TO ‘cinder‘@‘%‘  IDENTIFIED BY ‘123‘;

GRANT ALL PRIVILEGES ON cinder.* TO ‘cinder‘@‘controller‘  IDENTIFIED BY ‘123‘;

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

. admin.sh

 

openstack user create --domain default --password-prompt cinder

openstack role add --project service --user cinder admin

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

 

openstack service create --name cinderv2 \

--description "OpenStack Block Storage" volumev2

openstack service create --name cinderv3 \

--description "OpenStack Block Storage" volumev3

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

 

openstack endpoint create --region RegionOne \

volumev2 public http://controller:8776/v2/%\(project_id\)s

 

 

openstack endpoint create --region RegionOne \

volumev2 internal http://controller:8776/v2/%\(project_id\)s

 

openstack endpoint create --region RegionOne \

volumev2 admin http://controller:8776/v2/%\(project_id\)s

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

 

openstack endpoint create --region RegionOne \

volumev3 public http://controller:8776/v3/%\(project_id\)s

 

 

openstack endpoint create --region RegionOne \

volumev3 internal http://controller:8776/v3/%\(project_id\)s

 

openstack endpoint create --region RegionOne \

volumev3 admin http://controller:8776/v3/%\(project_id\)s

 

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

 

 

 

2.控制节点 安装cinder组件

yum install openstack-cinder -y

1.修改cinder配置文件

vim  /etc/cinder/cinder.conf

 

1.

[database]

connection = mysql+pymysql://cinder:123@controller/cinder

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

2.

[DEFAULT]

transport_url = rabbit://openstack:123@controller

auth_strategy = keystone

my_ip = 192.168.20.40

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

3.

[keystone_authtoken]

auth_uri = http://controller:5000

auth_url = http://controller:5000

memcached_servers = controller:11211

auth_type = password

project_domain_id = default

user_domain_id = default

project_name = service

username = cinder

password = 123

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

4.

[oslo_concurrency]

lock_path = /var/lib/cinder/tmp

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

 

2.填充数据库

 

su -s /bin/sh -c "cinder-manage db sync" cinder

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

mysql -uroot -p123

show databases

use cinder

show tables;

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

 

3.修改nova组件的配置文件 增加cinder  启动服务

vim /etc/nova/nova.conf

 

[cinder]

os_region_name = RegionOne

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

systemctl restart openstack-nova-api.service

 

 

systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service

systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

systemctl status openstack-cinder-api.service openstack-cinder-scheduler.service

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

 

 

 

3.计算节点(即为存储节点)制作vgs部署 和 安装cinder组件

 

1.增加磁盘  制作vgs

lsblk查看磁盘

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

pvcreate /dev/sdb创建LVM物理卷/dev/sdb

pvs

vgcreate cinder-volumes /dev/sdb创建LVM卷组cinder-volumes

vgs

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

2.计算节点安装lvm程序包 安装cinder和targetcli和keystone包

yum install lvm2 device-mapper-persistent-data -y安装支持的lvm程序包

systemctl enable lvm2-lvmetad.service

systemctl start lvm2-lvmetad.service

 

 

yum install openstack-cinder targetcli python-keystone -y

 

3.修改配置文件cinder 启动服务,查看服务状态

vim /etc/cinder/cinder.conf

1.

[DEFAULT]

transport_url = rabbit://openstack:123@controller

auth_strategy = keystone

my_ip = 192.168.20.11

enabled_backends = lvm

glance_api_servers = http://controller:9292

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

2.

[database]

connection = mysql+pymysql://cinder:123@controller/cinder

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

3.

[keystone_authtoken]

auth_uri = http://controller:5000

auth_url = http://controller:5000

memcached_servers = controller:11211

auth_type = password

project_domain_id = default

user_domain_id = default

project_name = service

username = cinder

password = 123

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

 

4.

[oslo_concurrency]

lock_path = /var/lib/cinder/tmp

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

5.

添加到最后

[lvm]

volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver

volume_group = cinder-volumes

iscsi_protocol = iscsi

iscsi_helper = lioadm

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

 

启动服务 查看状态

systemctl enable openstack-cinder-volume.service target.service

systemctl start openstack-cinder-volume.service target.service

systemctl status openstack-cinder-volume.service target.service

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

4.控制节点验证 是否存在volume

 

.  admin.sh

openstack volume service list

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

4.网页 部署

控制节点和计算节点 部署完成后 登录会显示出卷这个选项

 

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

1.创建卷

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

2.管理 连接

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

连接

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

 

3.查看实例 控制台 进行验证

启动实例

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

 

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

 

5. KVM??

 

 

 

 

6.总结 openstack流程

 

1.Openstack 典型环境架构  -- IaaS --  vm

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

 

2.openstack新建云主机流程图:

linux云计算部署Openstack(五)之部署cinder组件  和openstack案例总结 

3.***openstack 虚拟机  启动过程如下

nova 计算服务 提供实例

glance 镜像服务 提供系统

neturn 网络服务  提供网络

cinder 块存储服务  提供存储 创建卷 (额外的存储空间)

 

 

openstack 流程图 我修改的

1.horizon/clienct   提出请求   keystone获取认证信息

2.keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请求。

3.界面或命令行  通过RESTful API   向nova-api发送一个  boot instance的请求(携带auth-token令牌)。

4.nova-api接受请求后   keystone发送  认证请求, 查看token是否为  有效用户和token。(验证)

5.keystone验证  token是否有效,如有效  则返回有效的认证  和对应的角色(注:有些操作需要有角色权限才能操作)。

6.通过keystone  认证后的nova-api   和数据库   通讯。

7.初始化  新建虚拟机的  数据库记录。

8.nova-api通过rpc.call   nova-scheduler请求   是否有创建虚拟机的  资源(Host ID)。

9.nova-scheduler进程   侦听消息队列,获取nova-api的请求。

10.nova-scheduler  读取  查询nova数据库中   计算资源的情况, 然后 通过调度算法   计算符合虚拟机创建需要  的主机。(权重的计算)

11.对于有  符合虚拟机创建  的主机,nova-scheduler   更新数据库中  虚拟机对应的   物理主机信息。

12.nova-scheduler  通过rpc.cast向  nova-compute   发送对应的   创建虚拟机  请求的消息。

 

13.nova-compute  会从对应的消息队列中   获取   创建虚拟机  请求的消息。

14.nova-compute  通过rpc.call   向nova-conductor请求   获取虚拟机消息。(Flavor)

15.nova-conductor  从消息队队列中   拿到nova-compute请求消息。

 

16.nova-conductor  根据消息  db数据库   查询虚拟机对应的信息。

17.nova-conductor  从db数据库中  获取到  虚拟机对应信息。

 

18.nova-conductor  把从数据库得到的  虚拟机信息  通过消息的方式   发送到消息队列中。

19.nova-compute    从对应的消息队列中     获取虚拟机信息消息。

 

20.nova-compute  通过keystone的RESTfull API   拿到认证的token令牌,然后通过HTTP请求  glance-api获取   创建虚拟机   所需要镜像。

21.glance-api   向keystone   认证token  是否有效,并返回验证结果。

22.glance-api  的验证keystone的   token令牌通过,glance从后端提取镜像  返回给   nova-compute获得虚拟机镜像信息(URL)。

 

23.nova-compute  通过keystone的RESTfull API拿到认证的token令牌 ,然后 通过HTTP请求neutron-server获取   创建虚拟机   所需要的网络信息。 (server 服务响应请求   网卡ip)  (plugins调度,来规划网络实现,  aginent具体把网络资源创建出来)

??24.neutron-server  keystone验证  token令牌  是否有效,并返回验证结果。

25.neutron的  token验证通过,nova-compute  获得 neutron -server  返回的  虚拟机网络信息。

 

26.nova-compute通过keystone的RESTfull API拿到认证的token,并通过HTTP 请求到  cinder-api获取创建虚拟机   所需要的   持久化存储信息。

27.cinder-api向keystone认证token是否有效,并返回验证结果。

28. token验证通过,nova-compute获得虚拟机持久化存储信息。 ( 提供存储 存储节点volume  通过调用存储后端的NFS 或者LVM  返回给computer)

29.nova-compute根据   instance的信息   调用配置的虚拟化驱动   来创建虚拟机。 (Hypervisor根据computer的  镜像glance   网络neutron 和存储cinder 来创建虚拟机 )

 

linux云计算部署Openstack(五)之部署cinder组件 和openstack案例总结

上一篇:shell編程之自動化集群搭建並啓動


下一篇:LinuxSSh服务与免密登录