openstack Queens版本集群部署–cinder部署
一、初始化系统,
1、参考openstack Queens版本集群部署(手动安装配置各个组件)
2、安装openstack queens安装源(Q版)
yum install -y centos-release-openstack-queens.noarch
3、在控制节点写编写hosts文件并分发到各节点
echo "103.73.119.153 cinder" >>/etc/hosts
#获取所有节点的主机名
#awk '{print $2}' /etc/hosts|sed -n '3,$'p
for i in `awk '{print $2}' /etc/hosts|sed -n '3,$'p`;do scp /etc/hosts ${i}:/etc;done
二、控制节点安装与配置
1、创建cinder数据库并授权
mysql
CREATE DATABASE cinder;
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY '8ef194ead24acb67de4c';
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY '8ef194ead24acb67de4c';
exit
2、获得admin凭证并设置cinder用户及密码
source admin-openrc
#交互设置密码
#openstack user create --domain default --password-prompt cinder
#非交互设置密码
openstack user create --domain default --password www.123.nyc cinder
3、添加admin角色到cinder用户(cinder用户在service服务项目里)
openstack role add --project service --user cinder admin
4、创建cinder服务实体
openstack service create --name cinder --description "OpenStack Block Storage" volume
openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2
openstack service create --name cinderv3 --description "OpenStack Block Storage" volumev3
5、创建网络服务API端点
openstack endpoint create --region RegionOne volume public http://controller:8776/v1/%\(tenant_id\)s
openstack endpoint create --region RegionOne volume internal http://controller:8776/v1/%\(tenant_id\)s
openstack endpoint create --region RegionOne volume admin http://controller:8776/v1/%\(tenant_id\)s
openstack endpoint create --region RegionOne volumev2 public http://controller:8776/v2/%\(tenant_id\)s
openstack endpoint create --region RegionOne volumev2 internal http://controller:8776/v2/%\(tenant_id\)s
openstack endpoint create --region RegionOne volumev2 admin http://controller:8776/v2/%\(tenant_id\)s
openstack endpoint create --region RegionOne volumev3 public http://controller:8776/v3/%\(tenant_id\)s
openstack endpoint create --region RegionOne volumev3 internal http://controller:8776/v3/%\(tenant_id\)s
openstack endpoint create --region RegionOne volumev3 admin http://controller:8776/v3/%\(tenant_id\)s
6、安装并配置控制节点
yum install -y openstack-cinder
配置文件里的controller不要用域名代替
cp /etc/cinder/cinder.conf{,.bak}
#my_ip对应的是控制节点的IP
sed -i '/^\[DEFAULT\]/a glance_api_servers = http://controller:9292\nauth_strategy = keystone\nenabled_backends = lvm\ncinder_internal_tenant_project_id = a4a1fac36710402cb1a373883bc251cf\ncinder_internal_tenant_user_id = 8e89ac0fedd5490aa02cc30acde8ee0c\ntransport_url = rabbit://openstack:1735e32955b2ef18362e@controller\nrpc_backend = rabbit\nmy_ip = 103.73.119.106' /etc/cinder/cinder.conf
sed -i '/^\[database\]/a connection = mysql+pymysql://cinder:8ef194ead24acb67de4c@controller/cinder' /etc/cinder/cinder.conf
sed -i '/^\[keystone_authtoken\]/a auth_uri = http://controller:5000\nauth_url = http://controller:35357\nmemcached_servers = controller:11211\nauth_type = password\nproject_domain_name = default\nuser_domain_name = default\nproject_name = service\nusername = cinder\npassword = www.123.nyc' /etc/cinder/cinder.conf
sed -i '/^\[oslo_concurrency\]/a lock_path = /var/lib/cinder/tmp' /etc/cinder/cinder.conf
sed -i '/^\[oslo_messaging_rabbit\]/a rabbit_host = controller\nrabbit_port = 5672\nrabbit_userid = openstack\nrabbit_password = 1735e32955b2ef18362e' /etc/cinder/cinder.conf
cat >>/etc/cinder/cinder.conf<<'EOF'
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm
image_volume_cache_max_size_gb = 200
image_volume_cache_max_count = 50
image_volume_cache_enabled = True
EOF
#已经提前设置好了
#sed -i "/^\[cinder\]/a os_region_name=RegionOne" /etc/nova/nova.conf
7、初始化块设备服务的数据库
su -s /bin/sh -c "cinder-manage db sync" cinder
8、重启计算API 服务
systemctl restart openstack-nova-api.service
systemctl status openstack-nova-api.service
9、启动块设备存储服务,并将其配置为开机自启
systemctl enable --now openstack-cinder-api.service openstack-cinder-scheduler.service
systemctl status openstack-cinder-api.service openstack-cinder-scheduler.service
#systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service
三、存储节点安装与配置
1、硬盘初始化准备
sdb/sdc/sdd为存储盘
#安装LVM包:
yum install -y lvm2
#启动LVM的metadata服务并且设置该服务随系统启动:
systemctl enable --now lvm2-lvmetad.service
systemctl status lvm2-lvmetad.service
#systemctl restart lvm2-lvmetad.service
#创建LVM物理卷 /dev/sdb、/dev/sdc、/dev/sdd,需要交互的
pvcreate /dev/sdb
pvcreate /dev/sdc
pvcreate /dev/sdd
查看物理卷
#创建LVM卷组cinder-volumes
vgcreate cinder-volumes /dev/sdb /dev/sdc /dev/sdd
查看卷组可用容量
vim /etc/lvm/lvm.conf
cp /etc/lvm/lvm.conf{,.bak}
#a是允许访问的磁盘,r是拒绝访问的磁盘
sed -i '141a \ \ \ \ \ \ \ \ filter = [ "a/sdb/","a/sdc/","a/sdd/", "r/.*/" ]' /etc/lvm/lvm.conf
2、安装并配置组件
内容不全
参考这个教程修改:(16条消息) (八)Open Stack(M)—Cinder安装和配置_Cat God 007的博客-CSDN博客
说明:enabled_backends = lvm是启用 LVM 后端,后端名称是任意的。这是使用驱动程序的名称作为后端的名称。但这个名称要和下面的[lvm]保持一致。学习参考(37分钟处:04-cinder卷存储的安装_哔哩哔哩_bilibili)。教程里是在一个节点上添加了两块盘,创建了两个卷组(cinder-ssd/cinder-sata),后端名称:enabled_backends = ssd,sata,下面的区块对应的是一个[ssd],另一个[sata],看下图
yum install -y openstack-cinder targetcli python-keystone
cp /etc/cinder/cinder.conf{,.bak}
#此处的my_ip是存储节点的IP地址
sed -i '/^\[DEFAULT\]/a glance_api_servers = http://controller:9292\nauth_strategy = keystone\nenabled_backends = lvm\nrpc_backend = rabbit\nmy_ip = 103.73.119.153' /etc/cinder/cinder.conf
sed -i '/^\[database\]/a connection = mysql+pymysql://cinder:8ef194ead24acb67de4c@controller/cinder' /etc/cinder/cinder.conf
sed -i '/^\[oslo_messaging_rabbit\]/a rabbit_host = controller\nrabbit_port = 5672\nrabbit_userid = openstack\nrabbit_password = 1735e32955b2ef18362e' /etc/cinder/cinder.conf
sed -i "/^\[oslo_concurrency\]/a lock_path = /var/lib/cinder/tmp" /etc/cinder/cinder.conf
sed -i '/^\[keystone_authtoken\]/a auth_uri = http://controller:5000\nauth_url = http://controller:35357\nmemcached_servers = controller:11211\nauth_type = password\nproject_domain_name = default\nuser_domain_name = default\nproject_name = service\nusername = cinder\npassword = www.123.nyc' /etc/cinder/cinder.conf
cat >>/etc/cinder/cinder.conf<<'EOF'
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm
EOF
3、启动块存储卷服务及其依赖的服务,并将其配置为随系统启动
systemctl enable --now openstack-cinder-volume.service target.service
systemctl status openstack-cinder-volume.service target.service
#systemctl restart openstack-cinder-volume.service target.service
4、在controller节点上验证
cinder service-list
该显示一个scheduler和存储节点
但实际上没有存储节点
在存储节点上查看日志
连不上数据库【找到原因:存储节点配置不全导致的】
tailf /var/log/cinder/volume.log
最终验证结果:
四、卷的使用
dashboard上创建卷
测试在创建实例时创建新卷,实例创建不成功,不创建卷时,等实例创建好后连接卷是可以使用的
挂载的cinder存储测速(千兆网卡),有点慢了,不适合分布式存储或cinder块存储
写
读
本地磁盘的写速度
一条评论
添加新评论
- Pingback: openstack Train版本集群部署(命令集) - 笔记本