• 第九步:使用nfs作为cinder-controller后端存储


    简介

    无论是分布式存储还是商业存储,都支持nfs协议;
    
    之前是lvm作为cinder-controller后端存储,现在把cinder-controller后端存储换成nfs,则也不需要安装openstack-cinder服务
    

    NFS服务器

    1、yum install nfs-utils -y
    
    2、mkdir /data/cinder -p   #用于存放cinder-controller创建的卷
    
    3、vim /etc/exports
    /data/cinder *(rw,no_root_squash)
    
    4、systemctl restart nfs
    

    cinder-controller节点

    配置cinder-controller节点使用nfs
    
    1、vim /etc/cinder/cinder.conf
    [DEFAULT]
    enabled_backends = nfs   #告诉cinder-controller,使用nfs作为后端存储
    
    #state_path = /var/lib/cinder  #$state_path 这个变量定义了NFS的挂载路径
    
    [nfs]  #如果想使用nfs作为后端存储,必须在/usr/lib/python2.7/site-packages/cinder/下,有nfs驱动才可
    volume_backend_name = openstack-NFS                   #指定后端存储名称,用以区分不同的后端存储,如使用lvm或者nfs   
    volume_driver = cinder.volume.drivers.nfs.NfsDriver   #指定NFS驱动;通过NFS驱动程序,实现卷的创建、管理、删除,包括卷的拉伸
    nfs_shares_config = /etc/cinder/nfs_shares            #定义NFS挂载的配置文件路径,cinder服务需要有权限读取文件
    nfs_mount_point_base = $state_path/mnt                #$state_path为cinder的变量,定义NFS挂载点
    
    2、vim /etc/cinder/nfs_shares   #编辑nfs挂载的配置文件
    172.31.7.105:/data/cinder   #指定NFS地址及共享目录
    
    3、chown root.cinder /etc/cinder/nfs_shares  #修改文件的权限
    
    4、systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service
    
    5、tail -f /var/log/cinder/*.log                       #日志不能有报错
    
    6、systemctl restart openstack-cinder-volume.service   #controller节点上必须开启此服务,将controller也变为一个存储节点
    
    7、systemctl enable openstack-cinder-volume.service  
    
    8、df -TH                #查看是否自动挂载NFS
    
    9、cinder service-list   #列出cinder的后端存储服务
    

    controller-创建类型

    当有LVM及NFS两个后端存储,创建卷的时候需要通过类型来指定是基于哪个后端存储创建卷
    
    1、cinder type-create lvm   #创建个类型名为lvm
    
    2、cinder type-create nfs   #创建个类型名为nfs
    
    3、cinder type-key lvm set volume_backend_name=Openstack-lvm
    #将lvm类型与lvm后端存储进行关联;Openstack-lvm这个后端存储名称为cinder存储节点配置文件中给lvm模块所设置的名称
    
    4、cinder type-key lvm set volume_backend_name=openstack-NFS
    #将nfs类型与NFS后端存储进行关联;openstack-NFS这个后端存储名称为cinder控制节点配置文件中给nfs模块所设置的名称
    
    5、这样在创建卷的时候,就可以根据类型选择所关联的后端存储服务(46)
    
    6、ll /data/cinder   #在nfs服务器的此目录下,会有一个以卷的ID为命名的块设备(data)文件
    
    7、剩下的步骤与lvm后端存储操作一样,将卷与虚拟机关联,然后格式化文件系统、挂载磁盘就可以使用
    
    8、虽然后端存储使用的是NFS(基于网络的文件系统),但cinder使用的是iscsi协议,他会把设备以块儿设备的方式共享给服务器使用;块儿设备需要先格式化文件系统才可以使用
    
    
    ##
    注意:
    1、通过iscsi协议在nfs文件系统上模拟出块设备,所以只要是块儿设备都可以进行空间拉伸,块儿设备有独立的存储,独立的文件系统;但是文件系统不能进行拉伸,共享出来的如果只是个目录,则无法进行拉伸
    
    2、当有cinder后端存储后,之后创建的所有虚拟机的系统盘都会放到cinder的后端存储上,这样在虚拟机迁移的时候,只需要把一个node节点上的计算资源(cpu、内存)拷贝到另一个node节点上,系统盘就不需要进行拷贝了,提高了虚拟机的迁移速度
    
  • 相关阅读:
    Java 泛型学习四 自动擦除
    Java 泛型学习三 通配符
    ava的动态性支持学习七 方法句柄调用的性能对比
    Java 泛型学习一 泛型概念
    Java中正则Matcher类的matches()、lookAt()和find()的区别
    Java 泛型学习五 泛型擦除带来的不自然
    Java I/O 流的简单介绍及示例
    Java 泛型学习二 泛型的限制
    Java 泛型学习六 泛型类型系统
    字节存储机制:bigedian 和 littleendian
  • 原文地址:https://www.cnblogs.com/dongzhanyi123/p/13299964.html
Copyright © 2020-2023  润新知