实验十三、cinder的安装配置
一、安装和配置控制节点
存储服务没安装前,资源清单里面没有卷资源
在安装和配置块存储服务之前,您必须创建数据库、服务凭证和 API 端点。
1.要创建数据库,请完成以下步骤:
(1)使用数据库访问客户端以 root 用户身份连接到数据库服务器:
# mysql -u root -p123456
(2)创建 cinder 数据库:
MariaDB [(none)]> CREATE DATABASE cinder;
(3)授予对 cinder 数据库的适当访问权限:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \
IDENTIFIED BY '123456';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' \
IDENTIFIED BY '123456';
(4)将 CINDER_DBPASS 替换为合适的密码。
(5)退出数据库访问客户端。
2.获取 admin 凭据以获取对仅限管理员的 CLI 命令的访问权限:
# . admin-openrc
3.要创建服务凭据,请完成以下步骤:
(1)创建 cinder 用户
# openstack user create --domain default --password-prompt cinder
提示输入密码2次:123456
(2)将 admin 角色添加到 cinder 用户
# openstack role add --project service --user cinder admin
(3)创建 cinderv2 和 cinderv3 服务实体:块存储服务需要两个服务实体
# openstack service create --name cinderv2 \
--description "OpenStack Block Storage" volumev2
# openstack service create --name cinderv3 \
--description "OpenStack Block Storage" volumev3
4.创建块存储服务 API 端点:块存储服务需要每个服务实体的端点,两个(v2、v3)
# openstack endpoint create --region RegionOne \
volumev2 public http://c1:8776/v2/%\(project_id\)s
# openstack endpoint create --region RegionOne \
volumev2 internal http://c1:8776/v2/%\(project_id\)s
# openstack endpoint create --region RegionOne \
volumev2 admin http://c1:8776/v2/%\(project_id\)s
# openstack endpoint create --region RegionOne \
volumev3 public http://c1:8776/v3/%\(project_id\)s
# openstack endpoint create --region RegionOne \
volumev3 internal http://c1:8776/v3/%\(project_id\)s
# openstack endpoint create --region RegionOne \
volumev3 admin http://c1:8776/v3/%\(project_id\)s
5.安装和配置组件
(1) 安装软件包:
# yum install openstack-cinder -y
(2) 编辑 /etc/cinder/cinder.conf 文件并完成以下操作:
在 [DEFAULT] 部分中,配置 RabbitMQ 消息队列访问:
[DEFAULT]
# ...
transport_url = rabbit://openstack:123456@c1
将RABBIT_PASS替换为您在 RabbitMQ中为 openstack 帐户选择的密码。
在“ [DEFAULT] ”和“ [keystone_authtoken] ”部分中,配置身份服务访问:
[DEFAULT]
# ...
auth_strategy = keystone
[keystone_authtoken]
# ...
www_authenticate_uri = http://c1:5000
auth_url = http://c1:5000
memcached_servers = c1:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = 123456
将 CINDER_PASS 替换为您在身份服务中为 cinder 用户选择的密码。
在 [DEFAULT] 部分中,配置 my_ip 选项以使用控制器节点的管理接口 IP 地址:
[DEFAULT]
my_ip = 192.168.100.3
在“ [database] ”部分中,配置数据库访问权限:
[database]
# ...
connection = mysql+pymysql://cinder:123456@c1/cinder
将 CINDER_DBPASS 替换为您为块存储数据库选择的密码。
(3) 在“ [oslo_concurrency] ”部分中,配置锁定路径:
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
(4)填充块存储数据库:
# su -s /bin/sh -c "cinder-manage db sync" cinder
注意忽略此输出中的任何弃用消息。
6.将计算配置为使用块存储
编辑 /etc/nova/nova.conf 文件并向其添加以下内容:
[cinder]
os_region_name = RegionOne
7.完成安装
(1)重新启动计算 API 服务:
# systemctl restart openstack-nova-api.service
(2)启动块存储服务并将其配置为在系统引导时启动:
# systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
# systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service
二、安装和配置存储节点(本例中,存储节点与计算节点相同)
1.先决条件
在存储节点上安装和配置块存储服务之前,必须准备存储设备。在存储节点(本例事计算节点复用)上增加一块硬盘后(60G),重启这个节点。
在存储节点上执行以下步骤。
(1)安装支持实用程序包:
安装 LVM 软件包:
# yum install lvm2 device-mapper-persistent-data
启动 LVM 元数据服务并将其配置为在系统引导时启动:
# systemctl enable lvm2-lvmetad.service
# systemctl start lvm2-lvmetad.service
注意,某些发行版默认包含 LVM。
(2)创建 LVM 物理卷 /dev/sdb:
# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
(3)创建 LVM 卷组 cinder-volumes:
# vgcreate cinder-volumes /dev/sdb
Volume group "cinder-volumes" successfully created
块存储服务在此卷组中创建逻辑卷。
(4)只有实例可以访问块存储卷。但是,底层操作系统管理与卷关联的设备。默认情况下,LVM 卷扫描工具扫描包含卷的块存储设备的 /dev 目录中。如果项目在其卷上使用 LVM,扫描工具会检测这些卷并尝试缓存它们,这可能会导致底层操作系统和项目卷出现各种问题。您必须重新配置 LVM 以仅扫描包含 cinder-volumes 卷组的设备。编辑 /etc/lvm/lvm.conf 文件并完成以下操作:
在“ devices ”部分中,添加一个筛选器,该筛选器接受 /dev/sdb 设备并拒绝所有其他设备:
devices {
...
filter = [ "a/sdb/", "r/.*/"]
筛选器数组中的每个项都以 a 表示 接受 或 r 表示 拒绝 开头,并包含设备名称的正则表达式。阵列必须以 r/.*/ 结尾才能拒绝任何剩余的设备。您可以使用 vgs -vvvv 命令来测试过滤器。
(5)注意:
如果存储节点在操作系统磁盘上使用 LVM,则还必须将关联的设备添加到筛选器中。例如,如果 /dev/sda 设备包含操作系统:
filter = [ "a/sda/", "a/sdb/", "r/.*/"]
2.安装和配置组件
(1)安装软件包:
# yum install openstack-cinder targetcli python-keystone -y
(2)编辑 /etc/cinder/cinder.conf 文件并完成以下操作:
A.在 [DEFAULT] 部分中,配置 RabbitMQ 消息队列访问:
[DEFAULT]
# ...
transport_url = rabbit://openstack:123456@c1
将RABBIT_PASS替换为您在 RabbitMQ中为 openstack 帐户选择的密码。
B.在“ [DEFAULT] ”部分中,配置身份服务访问:
[DEFAULT]
# ...
auth_strategy = keystone
C.在[DEFAULT]部分中,配置 my_ip 选项:
[DEFAULT]
my_ip = 192.168.100.4
将 MANAGEMENT_INTERFACE_IP_ADDRESS 替换为存储节点上管理网络接口的 IP 地址,(存储节点)计算节点管理地址为192.168.100.4。
D.在 [DEFAULT] 部分中,启用 LVM 后端:
[DEFAULT]
enabled_backends = lvm
注意后端名称是任意的。例如,本指南使用驱动程序的名称作为后端的名称。
E.在 [DEFAULT] 部分中,配置镜像服务 API 的位置:
[DEFAULT]
glance_api_servers = http://c1:9292
F.在“ [database] ”部分中,配置数据库访问权限:
[database]
connection = mysql+pymysql://cinder:123456@c1/cinder
将 CINDER_DBPASS 替换为您为块存储数据库选择的密码。
G.在 [keystone_authtoken] 部份,修改如下
[keystone_authtoken]
# ...
www_authenticate_uri = http://c1:5000
auth_url = http://c1:5000
memcached_servers = c1:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = 123456
将 CINDER_PASS 替换为您在身份服务中为 cinder 用户选择的密码。
H.在“ [lvm] ”部分中,使用 LVM 驱动程序、 cinder-volumes 卷组、iSCSI 协议和相应的 iSCSI 服务配置 LVM 后端。如果 [lvm] 部分不存在,请创建它:
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
target_protocol = iscsi
target_helper = lioadm
I.在“ [oslo_concurrency] ”部分中,配置锁定路径:
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
3.完成安装
启动块存储卷服务(包括其依赖项),并将其配置为在系统引导时启动:
# systemctl enable openstack-cinder-volume.service target.service
# systemctl start openstack-cinder-volume.service target.service
三、安装和配置备份服务(可选)(本例使用计算节点)
在安装和配置备份服务之前,必须 安装和配置存储节点 。
1.安装和配置组件
注意在块存储节点上执行这些步骤。
(1)安装软件包:
# yum install openstack-cinder
(2)编辑 /etc/cinder/cinder.conf 文件并完成以下操作:
在“ [DEFAULT] ”部分中,配置备份选项:
[DEFAULT]
backup_driver = cinder.backup.drivers.swift.SwiftBackupDriver
backup_swift_url = SWIFT_URL
将 SWIFT_URL 替换为对象存储服务的 URL。可以通过显示对象存储 API 端点来找到 URL:
# openstack catalog show object-store
2.完成安装
启动块存储备份服务并将其配置为在系统引导时启动:
# systemctl enable openstack-cinder-backup.service
# systemctl start openstack-cinder-backup.service
四、验证存储服务
1.安装完后可以看到已经有卷资源列表了
云主机运行中
2.注意在控制器节点上执行这些命令。
(1)获取 admin 凭据以获取对仅限管理员的 CLI 命令的访问权限:
# . admin-openrc
cp
. user-openrc
(2)列出服务组件以验证每个进程的成功启动(控制节点):
# openstack volume service list
五、云主机挂载卷
1.创建一个2G的卷挂载给云主机
查看云主机的XML配置文件
2.流程是-卷-(nova+cinder)宿主机(存储节点)-再通过xml文件映射给云主机
云主机卷分区