選項二:有驅動程式支援

這邊為了方便,直接使用同區塊儲存的 Storage 節點配置。本教學說明如何設定共享檔案系統服務與驅動程式處理共享伺服器模式(DHSS)。該模式需要 Compute (Nova)、Networking (Neutron) 以及 Block storage (Cinder) 服務來管理伺服器共享服務。該模式用於共享伺服器的資訊都會被配置成一個共享網路與通用驅動程式,且還需要一個被連接到 Public 路由器的網路。

安裝前準備

在開始之前,請務必檢查 Compute、Networking 以及 Block storage 服務都正常。這個模式將透過連網方式來實現共享式檔案系統服務。首先要安裝相關套件與 OpenStack 服務套件,可以透過以下指令進行安裝:

$ sudo yum install openstack-neutron openstack-neutron-linuxbridge ebtables

若是使用 Open vSwitch 則安裝 openstack-neutron-openvswitch。其他 agent 以此類推。

Neutron 參考 Compute 套件安裝與設定

驅動程式支援設定

由於預設下配置檔案分散有所不同。因此需要增加這些 [section] 與 options,而不是修改現有的 [section] 與 options。

首先編輯/etc/manila/manila.conf設定檔,並在[DEFAULT]部分設定以下內容:

[DEFAULT]
...
enabled_share_backends = generic
enabled_share_protocols = NFS,CIFS

注意這邊的 backend names 是任意字串,如同 Cinder。

[neutron]部分加入以下內容:

[neutron]
url = http://10.0.0.11:9696
auth_uri = http://10.0.0.11:5000
auth_url = http://10.0.0.11:35357
memcached_servers = 10.0.0.11:11211
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS

這邊NEUTRON_PASS可以隨需求修改。

[nova]部分加入以下內容:

[nova]
auth_uri = http://10.0.0.11:5000
auth_url = http://10.0.0.11:35357
memcached_servers = 10.0.0.11:11211
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = NOVA_PASS

這邊NOVA_PASS可以隨需求修改。

[cinder]部分加入以下內容:

[cinder]
auth_uri = http://10.0.0.11:5000
auth_url = http://10.0.0.11:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOneca
project_name = service
username = cinder
password = CINDER_PASS

這邊CINDER_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

這邊interface_driver要隨部署的網路架構改變。

Open vSwitch 使用 manila.network.linux.interface.OVSInterfaceDriver

這邊也可以加入 ssh 的密碼驗證來取代 Instance 憑證。如下所示:

path_to_private_key = /home/ubuntu/.ssh/id_rsa
path_to_public_key = /home/ubuntu/.ssh/id_rsa.pub

完成後,回到 配置共享伺服器管理支援選項 重新啟動服務。