任务一 理解OpenStack块存储服务
1.1 •Cinder的主要功能
1.2 •Cinder与Nova的交互
1.3 •Cinder架构
1.4 •Cinder创建卷的基本流程
(1)客户端向cinder-api服务发送请求,要求创建一个卷。
(2)cinder-api服务让cinder-scheduler服务创建一个卷。
(3)cinder-scheduler服务从若干存储节点中选出一个节点。
(4)cinder-scheduler服务让该存储节点创建这个卷。
(5)对应存储节点的cinder-volume服务通过驱动在卷提供者定义的后端存储设备上创建卷。
1.5 •验证Cinder服务
[root@node-a ~]# systemctl status *cinder*.service
[root@node-a ~]# curl http://192.168.199.31:8776
(1)请求一个demo项目作用域的令牌。
(2)导出环境变量OS_TOKEN,并将其值设置为上述操作获取的令牌ID。
(3)Cinder API需要提供项目ID,提供对应项目ID来获取卷列表。
[root@node-a ~]# curl -s -H "X-Auth-Token: $OS_TOKEN" http://192.168.199.31:8776/v3/2a39abedd0 96 44bb9248 7a78ee442e3f/volumes
任务二 创建和管理卷
2.1 •cinder-api服务
2.2 •cinder-scheduler服务
2.3 •cinder-volume服务
2.4 •cinder-volume服务
enabled_backends=lvmdriver-1,lvmdriver-2,lvmdriver-3
[lvmdriver-1]
volume_group=cinder-volumes-1
volume_driver=cinder.volume.drivers.lvm.LVMVolumeDriver
volume_backend_name=LVM_iSCSI
[lvmdriver-2]
volume_group=cinder-volumes-2
volume_driver=cinder.volume.drivers.lvm.LVMVolumeDriver
volume_backend_name=LVM_iSCSI
[lvmdriver-3]
volume_group=cinder-volumes-3
volume_driver=cinder.volume.drivers.lvm.LVMVolumeDriver
volume_backend_name=LVM_iSCSI_b
2.5•cinder-volume服务
openstack --os-username admin --os-tenant-name admin volume type create lvm
openstack --os-username admin --os-tenant-name admin volume type set lvm --property volume_backend_name=LVM_iSCSI
•将卷连接到虚拟机实例
2.6•cinder-backup服务
backup_driver = cinder.backup.drivers.swift
2.7•Cinder服务的部署
2.8 •卷操作的命令行基本用法
(1)查看卷
openstack volume list
openstack volume show 卷ID
(2)创建卷
openstack volume create
[--size <大小>]
[--type <卷类型>]
[--image <镜像> | --snapshot <快照> | --source <卷> ]
[--description <说明信息>]
[--user <用户>]
[--project <项目>]
[--availability-zone <可用区域>]
[--consistency-group <consistency-group>]
[--property <键=值> [...] ]
[--hint <键=值> [...] ]
[--multi-attach]
[--bootable | --non-bootable]
[--read-only | --read-write]
<卷名称>
(3)修改卷设置
openstack volume set [选项列表] <卷名称或ID>
(4)删除卷
openstack volume delete [--force | --purge] <卷> [<卷> ...]
(5)将卷连接到实例
openstack server add volume [--device <设备>] [--tag <标记>] <实例> <卷>
(6)将卷从实例上分离
openstack server remove volume <实例> <卷>
2.9•查看卷服务分布和运行情况
[root@node-a ~]# source keystonerc_admin
[root@node-a ~(keystone_admin)]# openstack volume service list
+--------------+------------+-----+-------+-----+------------------------+
| Binary | Host | Zone | Status | State | Updated At |
+--------------+------------+-----+-------+-----+------------------------+
| cinder-scheduler | node-a | nova | enabled | up | 2020-10-28T08:49:04.000000 |
| cinder-backup | node-a | nova | enabled | up | 2020-10-28T08:49:02.000000 |
| cinder-volume | node-a@lvm | nova | enabled | up | 2020-10-28T08:49:06.000000 |
[DEFAULT]
…
enabled_backends = lvm
#在配置组[lvm]中设置具体选项
[lvm]
volume_backend_name=lvm #卷后端名称
volume_driver=cinder.volume.drivers.lvm.LVMVolumeDriver #卷驱动为本地LVM
iscsi_ip_address=192.168.199.31 #iSCSI目标IP地址
iscsi_helper=lioadm # iSCSI管理工具
volumes_dir=/var/lib/cinder/volumes #卷目录
任务三 了解Swift对象存储服务
3.1•Swift对象存储系统
3.2 •Swift的应用场景
3.3 •对象的层次数据模型
3.4 •对象层级结构与对象存储API的交互
/v1/{account}/{container}/{object}
/v1/1234567890/images/flowers/rose.jpg
/v1/{account}/{container}/?marker=a&end_marker=d
/v1/{account}/{container}/?marker=d&end_marker=a&reverse=on
3.5•对象存储的组件
3.6 •对象存储的组件
3.8 •Swift架构
[root@node-a ~]# systemctl status *swift*.service
(1)openstack-swift-proxy.service:代理服务器。
(2)openstack-swift-object-expirer.service:对象过期处理器(定时删除对象)。
(3)openstack-swift-container-replicator.service:对象复制器。
(4)openstack-swift-account-replicator.servic:账户复制器。
(5)openstack-swift-account.service:账户服务器。
(6)openstack-swift-container-updater.service:容器更新器。
(7)openstack-swift-object-reconstructor.service:对象重构器。
(8)openstack-swift-object.service:对象服务器。
(9)openstack-swift-account-reaper.service:账户收割器(处理账户删除操作)。
(10)openstack-swift-container.service:容器服务器。
(11)openstack-swift-object-replicator.service:对象复制器。
(12)openstack-swift-container-sync.service:容器同步器。
(13)openstack-swift-container-auditor.service:容器审计器。
(14)openstack-swift-object-auditor.service:对象审计器。
(15)openstack-swift-object-updater.service:对象更新器。
(16)openstack-swift-account-auditor.service:账户审计器。