zoukankan      html  css  js  c++  java
  • 第七步(1):安装openstack-cinder服务-存储节点

    openstack-storage

    https://docs.openstack.org/cinder/train/install/cinder-storage-install-rdo.html #存储节点部署

    找一台服务器,作为cinder的储存节点;cinder的控制节点只负责接收用户请求及创建卷时的调度,数据是存放在cinder存储节点上的
    
    1、yum install centos-release-openstack-train.noarch -y  #安装openstack T版yum源
    
    2、给存储节点单独添加一块磁盘,需要在这块磁盘上创建pv和vg
    
    3、echo "- - -" > /sys/class/scsi_host/host0/scan
       echo "- - -" > /sys/class/scsi_host/host1/scan
       echo "- - -" > /sys/class/scsi_host/host2/scan
    #针对host0、1、2这3个总线进行动态扫描,识别新添加的磁盘,这样就不需要重启服务器了
    
    4、fdisk -l   #查看是否有新添加的sdb磁盘
    
    5、yum install lvm2 device-mapper-persistent-data -y
    #安装lvm管理工具
    
    6、systemctl enable lvm2-lvmetad.service
    
    7、systemctl start lvm2-lvmetad.service
    
    8、pvcreate /dev/sdb  #将新添加的sdb磁盘创建成一个pv(物理卷)
    
    9、vgcreate cinder-volumes /dev/sdb  #针对sdb物理卷创建名为cinder-volumes的vg(卷组)
    
    10、vim /etc/lvm/lvm.conf
    devices {
    ...
    filter = [ "a/sdb/", "r/.*/"]    
    #a表示允许,r表示拒绝
    #只允许lvm服务访问sdb中的数据,不允许lvm服务访问其他磁盘,这也间接实现了openstack创建的虚拟机只能访问sdb中的数据,不能访问其他磁盘
    #设置只允许实例访问sdb逻辑卷中的数据;如果不配置的话,本机的其他服务也有可能会访问sdb逻辑卷中的数据
    
    11、systemctl restart lvm2-lvmetad.service
    
    12、yum install openstack-cinder targetcli python-keystone -y
    #把linux系统安装一个cinder存储服务,从而把服务器转变为cinder存储节点;cinder客户端也会连接keystone做验证;cinder存储服务,会调用linux系统上的lvm来创建逻辑卷
    
    13、vim /etc/cinder/cinder.conf
    [database]   #存储节点创建完卷之后,需要把卷的元数据写入到mysql中
    connection = mysql+pymysql://cinder:cinder123@openstack-vip.linux.local/cinder
    
    [DEFAULT]
    transport_url = rabbit://openstack:openstack123@openstack-vip.linux.local  #cinder-api与存储节点交互是通过rabbitmq
    auth_strategy = keystone   #使用keystone做认证
    my_ip = 172.31.7.103       #指定当前服务器IP地址
    enabled_backends = lvm     #开启的后端存储为lvm,通过此处指定的lvm调用下面的lvm模块配置的存储
    glance_api_servers = http://openstack-vip.linux.local:9292  #指定glance的API
    
    [keystone_authtoken]
    www_authenticate_uri = http://openstack-vip.linux.local:5000
    auth_url = http://openstack-vip.linux.local:5000
    memcached_servers = openstack-vip.linux.local:11211
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = cinder    #到keystone做认证,认证cinder的账号权限
    password = cinder
    
    [lvm]      #为LVM后端配置LVM驱动程序
    volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver  #指定LVM驱动程序;即通过指定的驱动创建LVM
    volume_group = cinder-volumes       #指定卷组(vg)                 
    target_protocol = iscsi             #pv使用的是iscsi协议,可以提供块儿存储服务
    target_helper = lioadm              #iscsi管理工具
    volume_backend_name=Openstack-lvm   #当后端有多个不同类型的存储时,可以在openstack中调用指定的存储;给当前存储指定个名称,用于后期区分多个不同的存储
    
    [oslo_concurrency]   #配置锁路径
    lock_path = /var/lib/cinder/tmp
    
    14、vim /etc/hosts
    172.31.7.248 openstack-vip.linux.local
    
    15、systemctl start openstack-cinder-volume.service target.service
    
    16、systemctl enable openstack-cinder-volume.service target.service
    
    17、tail -f /var/log/cinder/volume.log   #日志中不能报错
    

    controller节点进行验证

    1、openstack volume service list   #验证cinder服务注册情况;有两个服务,一个是scheduler和volume
    
    2、通过openstack dashboard创建卷进行测试(38)
    
    3、指定卷的名称及大小,创建卷(39)
    
    4、在存储节点,通过:lvdisplay 命令可以查看到新创建的20G的lvm逻辑卷
    
    5、将创建的卷与虚拟机通过网络进行关联(40)
    
    6、选择需要关联的虚拟机(41)
    
    7、出现连接到,则表示关联成功(42)
    
    8、进入到卷所关联的openstack的虚拟机中
    
    9、fdisk -l  #查看是否有vdb这个磁盘设备,有则关联成功
    
    10、mkfs.ext4 /dev/vdb   #块设备需要先格式化文件系统,才可以查看到可挂载的文件类型,从而挂载磁盘进行使用
    
    11、mount /dev/vdb /opt/  #挂载vdb磁盘到/opt目录下
    
    12、cp /var/log/messages /opt/  #拷贝文件进行测试
    

    针对卷进行拉伸试验

    1、进入到关联卷的openstack的虚拟机中
    
    2、umount /opt/   #取消挂载,如果卷被挂载,则无法进行卷拉伸
    
    3、dashboard上选择关联的卷(38)
    
    4、将卷与虚拟机取消关联(43)
    
    5、选择需要扩展的卷,进行卷扩展(44)
    
    6、指定扩展后的卷大小,卷扩展只能比之前大不能小(45)
    
    7、然后还可以再将卷与其他的虚拟机做关联,扩展后的卷不需要重新格式化文件系统,直接可以挂载;如果再次进行格式化文件系统,则卷上之前的所有数据将会丢失
    
    8、挂载完后,可能会出现拉伸后的磁盘大小还是之前的大小,这是因为磁盘属性虽然是扩展后的大小,但是文件系统却未识别,需要执行下面指令:
    resize2fs /dev/vdb   #重新识别磁盘空间大小
    
  • 相关阅读:
    go 基本包
    go 包
    算法笔记--数据结构--链表
    算法笔记--数据结构--队列
    算法笔记--标准模板库STL--pair
    算法笔记--标准模板库STL--stack
    算法笔记--标准模板库STL--priority_queue
    算法笔记--标准模板库STL--queue
    初识pair
    lower_bound实现离散化
  • 原文地址:https://www.cnblogs.com/dongzhanyi123/p/13299923.html
Copyright © 2011-2022 走看看