一、控制节点(192.168.26.240)
1.创建Cinder数据库、用户
create database cinder;
grant all privileges on cinder.* to 'cinder'@'localhost' identified by 'cinder';
grant all privileges on cinder.* to 'cinder'@'%' identified by 'cinder';
flush privileges;
2.keystone创建cinder用户、服务、API,块设备存储服务要求两个服务实体。
source admin-openstack.sh
openstack user create --domain default --password=cinder cinder
openstack role add --project service --user cinder admin
openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2
openstack service create --name cinderv3 --description "OpenStack Block Storage" volumev3
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
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
3.安装Cinder组件
yum install openstack-cinder -y
yum install nfs-utils -y #NFS
4.配置文件
# vi /etc/cinder/cinder.conf
[DEFAULT]
auth_strategy = keystone
log_dir = /var/log/cinder
state_path = /var/lib/cinder
glance_api_servers = http://controller:9292
transport_url = rabbit://openstack:openstack@controller
[database]
connection = mysql+pymysql://cinder:cinder@controller/cinder
[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 = cinder
password = cinder
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
echo '
[cinder]
os_region_name = RegionOne
'>>/etc/nova/nova.conf
5.始化数据库
su -s /bin/sh -c "cinder-manage db sync" cinder
6.启动服务
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
7.查看服务
二、硬盘配置:一个硬盘500G装系统,一个1000G做存储。(192.168.26.243)
1.查看硬盘:fdisk -l
2.硬盘分区,分两个区。:fdisk /dev/sdb 一个分区NFS存储,一个LVM存储。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-1953525167,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-1953525167,默认为 1953525167):+300G
分区 1 已设置为 Linux 类型,大小设为 300 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):
Using default response p
分区号 (2-4,默认 2):
起始 扇区 (629147648-1953525167,默认为 629147648):
将使用默认值 629147648
Last 扇区, +扇区 or +size{K,M,G} (629147648-1953525167,默认为 1953525167):
将使用默认值 1953525167
分区 2 已设置为 Linux 类型,大小设为 631.5 GiB
3.格式化分区sdb1:300G
mkfs.xfs -f /dev/sdb1 #NFS存储
mkfs.xfs -f /dev/sdb2 #LVM存储
4.安装配置NFS服务,作为后端存储使用。
yum install nfs-utils rpcbind -y #安装NFS服务
#挂载硬盘
[root@cinder ~]# mkdir -p /data
[root@cinder ~]# mount -t xfs /dev/sdb1 /data
[root@cinder ~]# df -h | grep /dev/sdb1
/dev/sdb1 300G 33M 300G 1% /data
#开机挂载
vi /etc/fstab
/dev/sdb1 /data xfs defaults 0 0 #最后添加
echo "/data *(rw,no_root_squash,sync)">/etc/exports
systemctl enable rpcbind nfs-server
systemctl restart rpcbind nfs-server
showmount -e localhost
5.安装配置LVM,作为后端存储使用
yum install -y lvm2 #安装lvm2
systemctl enable lvm2-lvmetad.service
systemctl start lvm2-lvmetad.service
#创建LVM物理卷pv与卷组vg
[root@cinder ~]# pvcreate /dev/sdb2
WARNING: xfs signature detected on /dev/sdb2 at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/sdb2.
Physical volume "/dev/sdb2" successfully created.
[root@cinder ~]# vgcreate cinder_lvm01 /dev/sdb2
Volume group "cinder_lvm01" successfully created
[root@cinder ~]# vgdisplay
--- Volume group ---
VG Name cinder_lvm01
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <631.51 GiB
PE Size 4.00 MiB
Total PE 161666
Alloc PE / Size 0 / 0
Free PE / Size 161666 / <631.51 GiB
VG UUID fTSay6-sGOR-aJFZ-BEB4-KPfO-Za4y-t63IIA
三、Cinder存储节点配置(192.168.26.243)
1.组件安装配置
yum install centos-release-openstack-pike -y #安装OpenStack库
yum install -y openstack-cinder targetcli python-keystone lvm2
#配置NFS
echo '192.168.26.243:/data'>/etc/cinder/nfs_shares
chown root:cinder /data
chmod 777 /data
#配置LVM过滤,只接收上面配置的lvm设备/dev/sdb2
sed -i '141a filter = [ "a/sdb2/", "r/.*/"]' /etc/lvm/lvm.conf #在141行后添加
vi /etc/cinder/cinder.conf
[DEFAULT]
auth_strategy = keystone
log_dir = /var/log/cinder
state_path = /var/lib/cinder
glance_api_servers = http://controller:9292
transport_url = rabbit://openstack:openstack@controller
enabled_backends = lvm,nfs
[database]
connection = mysql+pymysql://cinder:cinder@controller/cinder
[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 = cinder
password = cinder
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
iscsi_helper = lioadm
iscsi_protocol = iscsi
volume_group = cinder_lvm01
iscsi_ip_address = 192.168.58.24
volumes_dir = $state_path/volumes
volume_backend_name = lvm01
[nfs]
volume_driver = cinder.volume.drivers.nfs.NfsDriver
nfs_shares_config = /etc/cinder/nfs_shares
nfs_mount_point_base = $state_path/mnt
volume_backend_name = nfs01
#修改权限
chmod 640 /etc/cinder/cinder.conf
chown root:cinder /etc/cinder/*
chown root:cinder /var/lib/cinder/*
#启动Cinder卷服务
systemctl enable openstack-cinder-volume.service target.service
systemctl start openstack-cinder-volume.service target.service
2.验证
3.创建卷,连接卷。