安装并配置运行 Debian 的共享节点¶
本节描述了如何为共享文件系统服务安装和配置共享节点。为简化起见,此配置引用了一个存储节点,该节点使用通用驱动程序管理共享服务器。通用后端使用计算、网络和块服务来配置共享。
请注意,安装和配置因发行版而异。本节描述了运行 Debian 发行版的共享节点的说明。
安装和配置组件¶
安装软件包
# apt-get install manila-share python3-pymysql
编辑
/etc/manila/manila.conf文件并完成以下操作在
[database]部分,配置数据库访问[database] ... connection = mysql+pymysql://manila:MANILA_DBPASS@controller/manila
将
MANILA_DBPASS替换为您为共享文件系统数据库选择的密码。
在
manila.conf中完成其余配置。在
[DEFAULT]部分中,配置RabbitMQ消息队列访问[DEFAULT] ... transport_url = rabbit://openstack:RABBIT_PASS@controller
将
RABBIT_PASS替换为您为RabbitMQ中的openstack帐户选择的密码。在
[DEFAULT]部分,设置以下配置值[DEFAULT] ... default_share_type = default_share_type rootwrap_config = /etc/manila/rootwrap.conf
重要提示
default_share_type选项指定在创建共享时,如果没有指定共享类型,则要使用的默认共享类型。在配置文件中指定的默认共享类型必须使用适当设置的必需的额外规格(例如driver_handles_share_servers)创建,并参考所使用的驱动程序模式。这将在后续步骤中进一步说明。在
[DEFAULT]和[keystone_authtoken]部分中,配置身份服务访问[DEFAULT] ... auth_strategy = keystone [keystone_authtoken] ... memcached_servers = controller:11211 www_authenticate_uri = http://controller:5000 auth_url = http://controller:5000 auth_type = password project_domain_name = Default user_domain_name = Default project_name = service username = manila password = MANILA_PASS
将
MANILA_PASS替换为您为身份服务中的manila用户选择的密码。在
[DEFAULT]部分中,配置my_ip选项[DEFAULT] ... my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
将
MANAGEMENT_INTERFACE_IP_ADDRESS替换为共享节点上管理网络接口的 IP 地址,通常对于下面的示例架构中的第一个节点为 10.0.0.41
硬件要求¶
在
[oslo_concurrency]部分中,配置锁路径[oslo_concurrency] ... lock_path = /var/lib/manila/tmp
两种驱动程序模式¶
共享节点可以支持两种模式:处理共享服务器和不处理共享服务器。模式取决于驱动程序支持。
选项 1¶
在没有驱动程序支持共享服务器管理的情况下部署服务。在这种模式下,服务不会执行与网络相关的任何操作。操作员必须确保实例与基于 NAS 协议的服务器之间的网络连接。
本教程演示了设置 LVM 驱动程序,该驱动程序在共享节点上创建 LVM 卷,并使用安装在共享节点上的本地 NFS 服务器导出它们。因此,它需要 LVM 和 NFS 包,以及一个用于 manila-share LVM 卷组的额外磁盘。
此驱动程序模式可以称为 driver_handles_share_servers = False 模式,或简称 DHSS=False 模式。
选项 2¶
在具有驱动程序支持共享服务器管理的情况下部署服务。在这种模式下,服务使用创建和管理共享服务器的后端驱动程序运行。本教程演示了设置 Generic 驱动程序。此驱动程序需要计算服务 (nova)、镜像服务 (glance) 和网络服务 (neutron) 来创建和管理共享服务器;以及块存储服务 (cinder) 来创建共享。
用于创建共享服务器的信息通过共享网络进行配置。
此驱动程序模式可以称为 driver_handles_share_servers = True 模式,或简称 DHSS=True 模式。
警告
在使用 DHSS=True 驱动程序模式下运行通用驱动程序时,共享服务应与网络服务在同一节点上运行。但是,由于 Linux 的某些发行版中的一个错误,这样的服务可能无法有效地运行在 DHSS=False 驱动程序模式下运行的 LVM 驱动程序。有关更多信息,请参阅 配置参考指南 中的 LVM 驱动程序部分。
选择以下选项之一来配置共享驱动程序
共享文件系统选项 1:不支持共享服务器管理¶
为简化起见,此配置引用了块存储服务的相同存储节点配置。但是,LVM 驱动程序需要一个单独的空本地块存储设备,以避免与块存储服务冲突。说明使用 /dev/sdc,但您可以根据特定节点替换不同的值。
先决条件¶
注意
在存储节点上执行以下步骤。
安装支持的实用程序包
安装 LVM 和 NFS 服务器软件包
# apt-get install lvm2 nfs-kernel-server
创建 LVM 物理卷
/dev/sdc# pvcreate /dev/sdc Physical volume "/dev/sdc" successfully created
创建 LVM 卷组
manila-volumes# vgcreate manila-volumes /dev/sdc Volume group "manila-volumes" successfully created
共享文件系统服务在此卷组中创建逻辑卷。
只有实例才能访问共享文件系统服务卷。但是,基础操作系统管理与卷关联的设备。默认情况下,LVM 卷扫描工具扫描
/dev目录中的块存储设备,这些设备包含卷。如果项目在其卷上使用 LVM,则扫描工具会检测到这些卷并尝试对其进行缓存,这可能会导致底层操作系统和项目卷出现各种问题。您必须重新配置 LVM,以仅扫描包含cinder-volume和manila-volumes卷组的设备。编辑/etc/lvm/lvm.conf文件并完成以下操作在
devices部分,添加一个过滤器,该过滤器接受/dev/sdb和/dev/sdc设备,并拒绝所有其他设备devices { ... filter = [ "a/sdb/", "a/sdc", "r/.*/"]
警告
如果您的存储节点在操作系统磁盘上使用 LVM,您还必须将关联的设备添加到过滤器中。例如,如果
/dev/sda设备包含操作系统filter = [ "a/sda/", "a/sdb/", "a/sdc", "r/.*/"]
同样,如果您的计算节点在操作系统磁盘上使用 LVM,您还必须修改这些节点上的
/etc/lvm/lvm.conf文件中的过滤器,以仅包含操作系统磁盘。例如,如果/dev/sda设备包含操作系统filter = [ "a/sda/", "r/.*/"]
配置组件¶
编辑
/etc/manila/manila.conf文件并完成以下操作在
[DEFAULT]部分,启用 LVM 驱动程序和 NFS 协议[DEFAULT] ... enabled_share_backends = lvm enabled_share_protocols = NFS
注意
后端名称是任意的。例如,本指南使用驱动程序的名称。
在
[lvm]部分,配置 LVM 驱动程序[lvm] share_backend_name = LVM share_driver = manila.share.drivers.lvm.LVMShareDriver driver_handles_share_servers = False lvm_share_volume_group = manila-volumes lvm_share_export_ips = MANAGEMENT_INTERFACE_IP_ADDRESS
将
MANAGEMENT_INTERFACE_IP_ADDRESS替换为存储节点上管理网络接口的 IP 地址。此选项的值可以是逗号分隔的一个或多个 IP 地址的字符串。在下面的示例架构中,地址将为 10.0.0.41
硬件要求。¶
共享文件系统选项 2:支持共享服务器管理¶
为简化起见,此配置引用了块存储服务使用的相同存储节点。
注意
本指南描述了如何配置共享文件系统服务以使用启用驱动程序处理共享服务器模式 (DHSS) 的 generic 驱动程序。此驱动程序需要计算服务 (nova)、镜像服务 (glance) 和网络服务 (neutron) 来创建和管理共享服务器;以及块存储服务 (cinder) 来创建共享。用于创建共享服务器的信息配置为共享网络。启用 DHSS 的通用驱动程序还需要将租户的专用网络(运行计算实例的网络)连接到公共路由器。
先决条件¶
在继续操作之前,请验证计算、网络和块存储服务是否正常运行。此选项需要实施网络选项 2,并且需要在存储节点上安装一些网络服务组件。
安装网络服务组件
# apt-get install neutron-plugin-linuxbridge-agent
配置组件¶
编辑
/etc/manila/manila.conf文件并完成以下操作在
[DEFAULT]部分,启用通用驱动程序和 NFS 协议[DEFAULT] ... enabled_share_backends = generic enabled_share_protocols = NFS
注意
后端名称是任意的。例如,本指南使用驱动程序的名称。
在
[neutron]、[nova]、[cinder]和[glance]部分,启用这些服务的身份验证[neutron] ... url = http://controller:9696 www_authenticate_uri = http://controller:5000 auth_url = http://controller:5000 memcached_servers = controller:11211 auth_type = password project_domain_name = Default user_domain_name = Default region_name = RegionOne project_name = service username = neutron password = NEUTRON_PASS [nova] ... www_authenticate_uri = http://controller:5000 auth_url = http://controller:5000 memcached_servers = controller:11211 auth_type = password project_domain_name = Default user_domain_name = Default region_name = RegionOne project_name = service username = nova password = NOVA_PASS [cinder] ... www_authenticate_uri = http://controller:5000 auth_url = http://controller:5000 memcached_servers = controller:11211 auth_type = password project_domain_name = Default user_domain_name = Default region_name = RegionOne project_name = service username = cinder password = CINDER_PASS [glance] ... www_authenticate_uri = http://controller:5000 auth_url = http://controller:5000 memcached_servers = controller:11211 auth_type = password project_domain_name = Default user_domain_name = Default region_name = RegionOne project_name = service username = glance password = GLANCE_PASS
在
[generic]部分,配置通用驱动程序[generic] share_backend_name = GENERIC share_driver = manila.share.drivers.generic.GenericShareDriver driver_handles_share_servers = True service_instance_flavor_id = 100 service_image_name = manila-service-image service_instance_user = manila service_instance_password = manila interface_driver = manila.network.linux.interface.BridgeInterfaceDriver
注意
您也可以使用 SSH 密钥代替服务实例凭证的密码身份验证。
重要提示
service_image_name、service_instance_flavor_id、service_instance_user和service_instance_password与驱动程序用于创建共享服务器的服务镜像相关。可在manila-image-elements项目中找到可与generic驱动程序一起使用的示例服务镜像。其创建方式在安装后步骤中说明(请参阅:创建和使用共享文件系统)。
完成安装¶
准备 manila-share 作为启动/停止服务。启动共享文件系统服务及其依赖项
# service manila-share restart