Atom feed of this document
  

 配置后端为GlusterFS

此节解释了如何配置OpenStack块存储使用GlusterFS作为后端。你须保证cinder卷服务所在主机可以访问到GlusterFS的共享。

[注意]注意

cinder 卷服务在下面的发行版中的名称叫做 openstack-cinder-volume :

  • CentOS

  • Fedora

  • openSUSE

  • 红帽企业 Linux

  • SUSE Linux企业版

在Ubuntu和Debian的发行版中,cinder卷服务名称叫做cinder-volume

挂载GlusterFS卷需要软件包glusterfs-fuse 所提供的工具和库。此软件包必须安装到所有需要访问GlusterFS后端的节点中。

[注意]注意

挂载GlusterFS卷所需要的工具和库,在Ubuntu和Debian发行版中替代的软件包是glusterfs-client

如何安装和配置GlusterFS的信息,请参阅页面Gluster文档

 

配置GlusterFS作为OpenStack块存储

GlusterFS服务须配置为允许OpenStack块存储来访问GlusterFS共享:

  1. root登录到GlustefFS服务器。

  2. 为每个Gluster卷设置使用和cinder用户一样的UID和GID:

    # gluster volume set VOL_NAME storage.owner-uid CINDER_UID
    # gluster volume set VOL_NAME storage.owner-gid CINDER_GID

    地点:

    • VOL_NAME 是Gluster卷名称。

    • CINDER_UID 是用户cinder 的UID。

    • CINDER_GID 是用户cinder 的GID。

    [注意]注意

    在大多数的发行版中用户cinder默认的UID和GID是165

  3. 配置每个Gluster卷接受libgfapi的连接,要完成此配置,设置每个Gluster卷打开不安全到端口:

    # gluster volume set VOL_NAME server.allow-insecure on
  4. 每个客户端的连接均来自未授权的端口。要完成此,在文件/etc/glusterfs/glusterd.vol加入下面这几行:

    option rpc-auth-allow-insecure on
  5. 重启 glusterd服务:

    # service glusterd restart
 

配置块存储,以让其可使用GlusterFS后端

当你完成GlusterFS服务的配置,完成这些步骤:

  1. root 登录到托管块存储服务的系统。

  2. 在目录 /etc/cinder/下创建一个名称为 glusterfs的文本文件。

  3. OpenStack块存储用于后端存储的每个GlusterFS共享都须为/etc/cinder/glusterfs 添加实体,每个实体须是单独的一行,且须使用如下格式:

    HOST:/VOL_NAME

    地点:

    • HOST 是红帽存储服务器的IP地址或主机名。

    • VOL_NAME 是GlusterFS服务器已存在且可访问达卷名。

    可选,如果你的环境需要额外的对外共享的挂载点,你可以添加它们到共享条目里:

    HOST:/VOL_NAME -o OPTIONS

    OPTIONS以逗号分隔的挂载属性替换。

  4. 设置/etc/cinder/glusterfs的属主为root用户,组为cinder

    # chown root:cinder /etc/cinder/glusterfs
  5. 设置/etc/cinder/glusterfs为可由组cinder成员可读:

    # chmod 0640 文件
  6. 要配置OpenStack块存储使用早些时候所创建的文件/etc/cinder/glusterfs,打开配置文件/etc/cinder/cinder.conf然后设置配置项glusterfs_shares_config 的值为/etc/cinder/glusterfs

    在装有openstack-config程序的发行版中,你可以运行下面命令来配置此步:

    # openstack-config --set /etc/cinder/cinder.conf \
    DEFAULT glusterfs_shares_config /etc/cinder/glusterfs

    以下发行版包括openstack-config:

    • CentOS

    • Fedora

    • openSUSE

    • 红帽企业 Linux

    • SUSE Linux企业版

  7. 要配置OpenStack块存储使用名称为cinder.volume.drivers.glusterfs的正确的卷驱动器,打开配置文件/etc/cinder/cinder.conf然后设置配置项volume_driver的值为cinder.volume.drivers.glusterfs

    在装有openstack-config程序的发行版中,你可以运行下面命令来配置此步:

    # openstack-config --set /etc/cinder/cinder.conf \
    DEFAULT volume_driver cinder.volume.drivers.glusterfs.GlusterfsDriver
  8. 你现在可以重启服务以应用这些配置。

    在运行 CentOS, Fedora, openSUSE, Red Hat Enterprise Linux, 或 SUSE Linux Enterprise,的发行版中,重启cinder 卷服务:

    # service openstack-cinder-volume restart

    在Ubuntu或Debian中,重启cinder 卷服务运行:

    # service cinder-volume restart

OpenStack块存储现在可以使用GlusterFS后端了。

[注意]注意

/etc/cinder/cinder.conf中,glusterfs_sparsed_volumes配置项决定了卷的创建使用稀疏文件以及随需还是全部分配空间。默认和建议此键的值为 true,这样可确保初始化创建的卷是基于稀疏文件的。

设置 glusterfs_sparsed_volumesfalse的结果就是在卷创建的时候就完全分配了。这会导致卷创建时间的延长。

然而,你若选择设置 glusterfs_sparsed_volumesfalse的话,你可以直接编辑/etc/cinder/cinder.conf

在装有openstack-config程序的发行版中,你可以运行下面命令来配置此步:

# openstack-config --set /etc/cinder/cinder.conf \
DEFAULT glusterfs_sparsed_volumes false
[重要]重要

如果客户端主机启用了SELinux,若此主机需要访问GlusterFS卷上的实例的话就需要设置virt_use_fusefs布尔值。以root用户运行下面的命令:

# setsebool -P virt_use_fusefs on

此命令可是布尔值永久生效,即使是重启。在所有需要访问GlusterFS卷的主机上运行此命令。这包括所有的计算节点。

Questions? Discuss on ask.openstack.org
Found an error? Report a bug against this page


loading table of contents...