오브젝트 스토리지 서비스 ( swift ) 2. 컨트롤러 노드 설치 및 구성 > OpenStack 자료실

본문 바로가기
사이트 내 전체검색

OpenStack 자료실

오브젝트 스토리지 서비스 ( swift ) 2. 컨트롤러 노드 설치 및 구성

페이지 정보

profile_image
작성자 jkchoi
댓글 0건 조회 5,210회 작성일 21-11-12 09:48

본문

전제 조건


프록시 서비스는 ID 서비스와 같은 인증 및 권한 부여 메커니즘에 의존합니다. 그러나 다른 서비스와 달리 다른 OpenStack 서비스 없이 작동할 수 있는 내부 메커니즘도 제공합니다. Object Storage 서비스를 구성하기 전에 서비스 자격 증명과 API endpoint를 생성해야 합니다.


- Object Storage 서비스는 컨트롤러 노드에서 SQL 데이터베이스를 사용하지 않습니다. 대신 각 스토리지 노드에서 분산 SQLite 데이터베이스를 사용합니다.


1. 관리자 자격 증명을 소싱하여 관리자 전용 CLI 명령에 액세스합니다.


      $ . admin-openrc



2. ID 서비스 자격 증명을 생성하려면 다음 단계를 완료하십시오.


   1) swift사용자 생성


      $ openstack user create --domain default --password-prompt swift

      User Password:

      Repeat User Password:

      +-----------+------------------------------------+

      | Field       | Value                                   |

      +-----------+------------------------------------+

      | domain_id | e0353a670a9e496da891347c589539e9  |

      | enabled   | True                                     |

      | id          | d535e5cbd2b74ac7bfb97db9cced3ed6 |

      | name      | swift                                     |

      +-----------+------------------------------------+


   2) swift사용자에게 admin 역할을 추가합니다.


      $ openstack role add --project service --user swift admin


   3) swift서비스 엔티티를 만듭니다 .


      $ openstack service create --name swift \

        --description "OpenStack Object Storage" object-store

      +-------------+----------------------------------+

      | Field         | Value                                  |

      +-------------+----------------------------------+

      | description  | OpenStack Object Storage           |

      | enabled      | True                                   |

      | id             | 75ef509da2c340499d454ae96a2c5c34 |

      | name         | swift                                   |

      | type          | object-store                           |

      +-------------+-----------------------------------+



3. Object Storage 서비스 API endpoint를 만듭니다.


      $ openstack endpoint create --region RegionOne \ 

        object-store public http://controller:8080/v1/AUTH_% \( tenant_id \) s

      $ openstack endpoint create --region RegionOne \

        object-store public http://controller:8080/v1/AUTH_%\(tenant_id\)s

      +--------------+----------------------------------------------+

      | Field          | Value                                                |

      +--------------+----------------------------------------------+

      | enabled       | True                                                |

      | id              | 12bfd36f26694c97813f665707114e0d                |

      | interface      | public                                               |

      | region         | RegionOne                                         |

      | region_id     | RegionOne                                          |

      | service_id    | 75ef509da2c340499d454ae96a2c5c34               |

      | service_name | swift                                                 |

      | service_type  | object-store                                         |

      | url             | http://controller:8080/v1/AUTH_%(tenant_id)s   |

      +--------------+----------------------------------------------+


      $ openstack endpoint create --region RegionOne \

        object-store internal http://controller:8080/v1/AUTH_%\(tenant_id\)s

      +--------------+----------------------------------------------+

      | Field          | Value                                                |

      +--------------+----------------------------------------------+

      | enabled       | True                                                 |

      | id              | 7a36bee6733a4b5590d74d3080ee6789             |

      | interface      | internal                                              |

      | region         | RegionOne                                         |

      | region_id      | RegionOne                                         |

      | service_id     | 75ef509da2c340499d454ae96a2c5c34             |

      | service_name | swift                                                |

      | service_type  | object-store                                        |

      | url             | http://controller:8080/v1/AUTH_%(tenant_id)s   |

      +--------------+----------------------------------------------+


      $ openstack endpoint create --region RegionOne \

        object-store admin http://controller:8080/v1

      +--------------+------------------------------------+

      | Field          | Value                                    |

      +--------------+------------------------------------+

      | enabled       | True                                     |

      | id              | ebb72cd6851d4defabc0b9d71cdca69b |

      | interface      | admin                                    |

      | region         | RegionOne                             |

      | region_id     | RegionOne                              |

      | service_id    | 75ef509da2c340499d454ae96a2c5c34  |

      | service_name | swift                                    |

      | service_type  | object-store                            |

      | url             | http://controller:8080/v1               |

      +--------------+------------------------------------+




구성 요소 설치 및 구성


- 기본 구성 파일은 배포에 따라 다릅니다. 기존 섹션 및 옵션을 수정하는 대신 이러한 섹션 및 옵션을 추가해야 할 수도 있습니다.

  또한 ...구성 조각 의 줄임표( )는 유지해야 하는 잠재적인 기본 구성 옵션을 나타냅니다.


1. 패키지 설치


      # yum install openstack-swift-proxy python-swiftclient \

        python-keystoneclient python-keystonemiddleware \

        memcached



  1) Object Storage 소스 저장소에서 프록시 서비스 구성 파일을 가져옵니다.


      # curl -o /etc/swift/proxy-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/proxy-server.conf-sample?h=stable/newton


   2) /etc/swift/proxy-server.conf파일을 편집하고 다음 작업을 완료합니다.


     (1) [DEFAULT] 섹션에서 바인드 포트, 사용자 및 구성 디렉토리를 구성합니다.


      [DEFAULT]

      ...

      bind_port = 8080

      user = swift

      swift_dir = /etc/swift


     (2) [pipeline:main] 섹션에서 tempurl 및 tempauth 모듈을 제거하고 authtoken 및 keystoneauth 모듈을 추가합니다.


      [pipeline:main]

       pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo versioned_writes proxy-logging proxy-server


      - 모듈의 순서를 변경하지 마십시오.


     (3) [app:proxy-server] 섹션에서 자동 계정 생성을 활성화합니다.


      [app:proxy-server]

      use = egg:swift#proxy

      ...

      account_autocreate = True


     (4) [filter:keystoneauth] 섹션에서 운영자 역할을 구성합니다.


      [filter:keystoneauth]

      use = egg:swift#keystoneauth

      ...

      operator_roles = admin,user


     (5) [filter:authtoken] 섹션에서 ID 서비스 액세스를 구성합니다.


      [filter:authtoken]

      paste.filter_factory = keystonemiddleware.auth_token:filter_factory

      ...

      auth_uri = http://controller:5000

      auth_url = http://controller:35357

      memcached_servers = controller:11211

      auth_type = password

      project_domain_name = default

      user_domain_name = default

      project_name = service

      username = swift

      password = SWIFT_PASS

      delay_auth_decision = True


      - SWIFT_PASS를 ID 서비스에서 swift 사용자에 대해 선택한 비밀번호로 바꿉니다.


       [filter:authtoken] 섹션 에서 다른 옵션을 주석 처리하거나 제거 하십시오.


     (5) [filter:cache] 섹션에서 memcached 위치를 구성합니다.


      [filter:cache]

      use = egg:swift#memcache

      ...

      memcache_servers = controller:11211



댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

회사명 : (주)리눅스데이타시스템
대표이사 : 정정모
본사 : 강남구 봉은사로 114길 40 홍선빌딩 2층
- tel : 02-6207-1160
대전지사 : 유성구 노은로174 도원프라자 5층
- tel : 042-331-1161

접속자집계

오늘
2,002
어제
2,256
최대
3,935
전체
1,130,505
Copyright © www.linuxdata.org All rights reserved.