옵션 2 - 공유 서버 관리 지원과 함께 공유 생성

옵션 2 - 공유 서버 관리 지원과 함께 공유 생성

공유 생성을 할 수 있기 전에, DHSS 모드가 활성화된 제네릭 드라이버는 NFS/CIFS 공유가 제공되는 위치인 공유 서버를 생성하기 위해 사용하는 이미지, flavor, 네트워크 및 공유 네트워크에 대한 정의를 적어도 필요로 합니다.

공유 유형을 생성합니다

제네릭 드라이버를 사용하여 공유를 생성하기 전에 DHSS를 활성화합니다.

  1. admin credential에 대한 접근 권한을 얻기위해 관리자용 CLI 명령어 source 입력합니다:

    $ . admin-openrc
    
  2. 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              |
    +----------------------+--------------------------------------+
    

공유 네트워크 생성

  1. 다음 단계를 관리자가 아닌 프로젝트로 수행하기 위해 demo credential을 소스로 가져옵니다:

    $ . demo-openrc
    
  2. 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  |
    +--------------------------------------+-------------+-----------------------------------------------------+
    
  3. 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                                 |
    +-------------------+--------------------------------------+
    

공유를 생성합니다

  1. 다음 단계를 관리자가 아닌 프로젝트로 수행하기 위해 demo credential을 소스로 가져옵니다:

    $ . demo-openrc
    
  2. 공유 네트워크를 사용하여 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                    | {}                                   |
    +-----------------------------+--------------------------------------+
    
  3. 잠시 후, 공유 상태가 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              |
    +--------------------------------------+--------+------+-------------+-----------+-----------+--------------------+-----------------------------+-------------------+
    
  4. 공유에 대한 내보내기 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                    | {}                                                                                 |
    +-----------------------------+------------------------------------------------------------------------------------+
    
  5. 네트워크를 통해 마운트 시도하기 전에 새로운 공유에 대한 사용자 액세스를 구성합니다:

    $ 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 네트워크를 사용해야 합니다.

인스턴스로부터의 공유를 마운트합니다

  1. 마운트가 위치할 폴더를 생성합니다:

    $ mkdir ~/test_folder
    
  2. 공유에 대한 내보내기 위치를 사용하여 인스턴스 내 NFS 공유를 마운트합니다:

    # mount -t nfs 10.254.0.6:/shares/share-0bfd69a1-27f0-4ef5-af17-7cd50bce6550 ~/test_folder
    

공유 관리 방법에 관한 자세한 정보는 OpenStack End User Guide 내 Manage shares 를 살펴봅니다.

인스턴스 실행 으로 돌아갑니다.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.