공유 생성을 할 수 있기 전에, DHSS 모드가 활성화된 제네릭 드라이버는 NFS/CIFS 공유가 제공되는 위치인 공유 서버를 생성하기 위해 사용하는 이미지, flavor, 네트워크 및 공유 네트워크에 대한 정의를 적어도 필요로 합니다.
제네릭 드라이버를 사용하여 공유를 생성하기 전에 DHSS를 활성화합니다.
admin credential에 대한 접근 권한을 얻기위해 관리자용 CLI 명령어 source 입력합니다:
$ . admin-openrc
DHSS를 활성화 한 상태에서 디폴트 공유 유형을 생성합니다:
$ manila type-create generic_share_type True
+----------------------+--------------------------------------+
| Property | Value |
+----------------------+--------------------------------------+
| required_extra_specs | driver_handles_share_servers : True |
| Name | generic_share_type |
| Visibility | public |
| is_default | - |
| ID | 3df065c8-6ca4-4b80-a5cb-e633c0439097 |
| optional_extra_specs | snapshot_support : True |
+----------------------+--------------------------------------+
다음 단계를 관리자가 아닌 프로젝트로 수행하기 위해 demo credential을 소스로 가져옵니다:
$ . demo-openrc
selfservice 네트워크에 대한 네트워크 및 서브넷 ID를 얻기 위해 사용 가능한 네트워크를 나열합니다:
$ neutron net-list
+--------------------------------------+-------------+-----------------------------------------------------+
| id | name | subnets |
+--------------------------------------+-------------+-----------------------------------------------------+
| b72d8561-aceb-4e79-938f-df3a45fdeaa3 | provider | 072dd25f-e049-454c-9b11-359c910e6668 203.0.113.0/24 |
| 4e963f5b-b5f3-4db1-a935-0d34c8629e7b | selfservice | 005bf8d1-798e-450f-9efe-72bc0c3be491 172.16.1.0/24 |
+--------------------------------------+-------------+-----------------------------------------------------+
selfservice 네트워크 및 서브넷 ID를 사용하여 공유 네트워크를 생성합니다:
$ manila share-network-create --name selfservice-net-share1 \
--neutron-net-id 4e963f5b-b5f3-4db1-a935-0d34c8629e7b \
--neutron-subnet-id 005bf8d1-798e-450f-9efe-72bc0c3be491
+-------------------+--------------------------------------+
| Property | Value |
+-------------------+--------------------------------------+
| name | selfservice-net-share1 |
| segmentation_id | None |
| created_at | 2016-03-31T13:25:39.052439 |
| neutron_subnet_id | 005bf8d1-798e-450f-9efe-72bc0c3be491 |
| updated_at | None |
| network_type | None |
| neutron_net_id | 4e963f5b-b5f3-4db1-a935-0d34c8629e7b |
| ip_version | None |
| nova_net_id | None |
| cidr | None |
| project_id | 3a46a53a377642a284e1d12efabb3b5a |
| id | 997a1a0a-4f4d-4aa3-b7ae-8ae6d9aaa828 |
| description | None |
+-------------------+--------------------------------------+
다음 단계를 관리자가 아닌 프로젝트로 수행하기 위해 demo credential을 소스로 가져옵니다:
$ . demo-openrc
공유 네트워크를 사용하여 NFS 공유를 생성합니다:
$ manila create NFS 1 --name share2 \
--share-network selfservice-net-share1 \
--share-type generic_share_type
+-----------------------------+--------------------------------------+
| Property | Value |
+-----------------------------+--------------------------------------+
| status | creating |
| share_type_name | generic_share_type |
| description | None |
| availability_zone | None |
| share_network_id | 997a1a0a-4f4d-4aa3-b7ae-8ae6d9aaa828 |
| host | |
| access_rules_status | active |
| snapshot_id | None |
| is_public | False |
| task_state | None |
| snapshot_support | True |
| id | 6a711b95-9e03-4547-8769-74e34676cb3e |
| size | 1 |
| name | share2 |
| share_type | 8698ed92-2a1c-4c9f-aab4-a35dccd88c8f |
| has_replicas | False |
| replication_type | None |
| created_at | 2016-03-31T13:45:18.000000 |
| share_proto | NFS |
| consistency_group_id | None |
| source_cgsnapshot_member_id | None |
| project_id | 3a46a53a377642a284e1d12efabb3b5a |
| metadata | {} |
+-----------------------------+--------------------------------------+
잠시 후, 공유 상태가 creating 에서 available 로 바뀔 것입니다:
$ manila list
+--------------------------------------+--------+------+-------------+-----------+-----------+--------------------+-----------------------------+-------------------+
| ID | Name | Size | Share Proto | Status | Is Public | Share Type Name | Host | Availability Zone |
+--------------------------------------+--------+------+-------------+-----------+-----------+--------------------+-----------------------------+-------------------+
| 5f8a0574-a95e-40ff-b898-09fd8d6a1fac | share2 | 1 | NFS | available | False | default_share_type | storage@generic#GENERIC | nova |
+--------------------------------------+--------+------+-------------+-----------+-----------+--------------------+-----------------------------+-------------------+
공유에 대한 내보내기 IP 주소를 결정합니다:
$ manila show share2
+-----------------------------+------------------------------------------------------------------------------------+
| Property | Value |
+-----------------------------+------------------------------------------------------------------------------------+
| status | available |
| share_type_name | generic_share_type |
| description | None |
| availability_zone | nova |
| share_network_id | None |
| export_locations | |
| | path = 10.254.0.6:/shares/share-0bfd69a1-27f0-4ef5-af17-7cd50bce6550 |
| | id = 3c8d0ada-cadf-48dd-85b8-d4e8c3b1e204 |
| | preferred = False |
| host | storage@generic#GENERIC |
| access_rules_status | active |
| snapshot_id | None |
| is_public | False |
| task_state | None |
| snapshot_support | True |
| id | 5f8a0574-a95e-40ff-b898-09fd8d6a1fac |
| size | 1 |
| name | share2 |
| share_type | 8a35da28-0f74-490d-afff-23664ecd4f01 |
| has_replicas | False |
| replication_type | None |
| created_at | 2016-03-30T19:10:33.000000 |
| share_proto | NFS |
| consistency_group_id | None |
| source_cgsnapshot_member_id | None |
| project_id | 3a46a53a377642a284e1d12efabb3b5a |
| metadata | {} |
+-----------------------------+------------------------------------------------------------------------------------+
네트워크를 통해 마운트 시도하기 전에 새로운 공유에 대한 사용자 액세스를 구성합니다:
$ manila access-allow share2 ip INSTANCE_IP_ADDRESS
+--------------+--------------------------------------+
| Property | Value |
+--------------+--------------------------------------+
| share_id | 55c401b3-3112-4294-aa9f-3cc355a4e361 |
| access_type | ip |
| access_to | 172.16.1.5 |
| access_level | rw |
| state | new |
| id | f88eab01-7197-44bf-ad0f-d6ca6f99fc96 |
+--------------+--------------------------------------+
INSTANCE_IP_ADDRESS 를 인스턴스에 대한 IP 주소로 변경합니다.
주석
인스턴스는 selfservice 네트워크를 사용해야 합니다.
마운트가 위치할 폴더를 생성합니다:
$ mkdir ~/test_folder
공유에 대한 내보내기 위치를 사용하여 인스턴스 내 NFS 공유를 마운트합니다:
# mount -t nfs 10.254.0.6:/shares/share-0bfd69a1-27f0-4ef5-af17-7cd50bce6550 ~/test_folder
공유 관리 방법에 관한 자세한 정보는 OpenStack End User Guide 내 Manage shares 를 살펴봅니다.
인스턴스 실행 으로 돌아갑니다.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.