메뉴 닫기

오브젝트스토리지 간단하게 설치하기.

오브젝트스토리지를 ceph와 연계하여 간단하게 설치해보았다.
물론 해당 오브잭트구성만으로 사용할 수 있는 것은 아니나, 오브잭트를 구성하려는 독자라면 오픈스택과 swift까지 이미 해보았을 것으로 판단되어
오브잭트 구성만을 본문에 담았으니 참고용으로 사용하시길 바랍니다.
OBJECT

사전설치 내용

– ceph deploy 사용자는 requiretty = disabled

#vi /etc/sudoers

– Defaults:ceph !requiretty 게이트웨이 노드 재시작. ( 문서에는 게이트웨어이만 국한된 적용이라고 하나 실제 적용시 모니터 노드에서 불러오지를 못햇다.
-이부분 참고 해봐야 할 부분이다.)

——————-

기본적사용 풀 생성. ( 위에까지 진행 했다면 자동으로 생성되어야 정상이나 생성이 안될 경우가 있다..( 내경우..이유 아직 모름)

.rgw
.rgw.root
.rgw.control
.rgw.gc
.rgw.buckets
.rgw.buckets.index
.log
.intent-log
.usage
.users
.users.email
.users.swift
.users.uid

——–

ADD A GATEWAY CONFIGURATION TO CEPH

ADMIN 노드에서 진행.

ceph.conf 내용 추가
============================

[client.radosgw.gateway]
host = {hostname}
keyring = /etc/ceph/ceph.client.radosgw.keyring
rgw socket path = /var/run/ceph/ceph.radosgw.gateway.fastcgi.sock
log file = /var/log/radosgw/client.radosgw.gateway.log

[global]
#append the following in the global section.
debug ms = 1
debug rgw = 20

============================

—-> 위의 ceph.conf의 변경 사항은 전체 노드에 적용

–overwrite-conf config pull [hostname] /etc/ceph/ceph.conf의 수정사항을 ceph 설정 루트디렉토리로 가져오기

–overwrite-conf config push [host].. .. 각 노드로 ceph.conf를 업데이트 해준다.

COPY CEPH.CLIENT.ADMIN.KEYRING FROM ADMIN NODE TO GATEWAY HOST

ADMIN 노드에서 진행.

*관리노드가 게이트웨이 노드일 경우 아래는 진행하지 않아도 된다.

# sudo scp /etc/ceph/ceph.client.admin.keyring ceph@{hostname}:/home/ceph
# ssh {hostname}
# sudo mv ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring

CREATE A CGI WRAPPER SCRIPT

GATEWAY 노드에서 진행.

스크립트 만들기

# sudo vi /var/www/html/s3gw.fcgi

#!/bin/sh
exec /usr/bin/radosgw -c /etc/ceph/ceph.conf -n client.radosgw.gateway

# sudo chmod +x /var/www/html/s3gw.fcgi

CREATE DATA DIRECTORY

GATEWAY 노드에서 진행.

# sudo mkdir -p /var/lib/ceph/radosgw/ceph-radosgw.gateway

START RADOSGW SERVICE

GATEWAY 노드에서 진행.

# sudo /etc/init.d/radosgw start

CREATE A GATEWAY CONFIGURATION FILE

# ceph-deploy install –rgw [ …]

# ceph-deploy admin

CREATE A GATEWAY INSTANCE

# ceph-deploy rgw create

게이트웨이가 구동된다면 다음의 접근이 가능해야 한다..

-> http://client-node:7480

게이트웨이 인스턴스가 제대로 작동하면 다음과 같은 응답을 받아야합니다.

anonymous

*만약 재대로 작동이 안된다면 처음부터 다시 진행해보고 진행하기전에 다음을 실행하라.

# ceph-deploy purge []
# ceph-deploy purgedata []

-> 이후 해당 노드 ceph 재설치 해야한다.

==================================================이 후 위에서 부터 반복..

추가]

CHANGE THE DEFAULT PORT

Civetweb의 기본 포트는 7480이나 기본 포트로 변경하려면

ceph-deploy 작업 디랙토리에서 ceph.conf 파일 수정 —> [client.rgw. ] 섹션추가

를 Ceph Object Gateway 노드의 짧은 노드 이름 (즉, hostname -s)으로 바꿉니다.

예) [client.rgw.gateway-node1]
rgw_frontends = “civetweb port=80”

포트 관련 수정후 ceph-deploy –overwrite-conf config push []

새 포트 설정을 적용하려면 Ceph Object Gateway를 다시 시작하십시오.

sudo systemctl restart ceph-radosgw.service

==================================================

아파치로 구동에서 CIVETWEB 구동으로 바꿀시 다음의 내용을 변경해라..

OBJECT STORAGE ceph.conf 파일 내용

[client.radosgw.gateway-node]
host = {hostname}
keyring = /etc/ceph/ceph.client.radosgw.keyring
rgw socket path = /var/run/ceph/ceph.radosgw.gateway.fastcgi.sock
log file = /var/log/radosgw/client.radosgw.gateway-node1.log

–>

[client.radosgw.gateway-node1]
host = {hostname}

keyring = /etc/ceph/ceph.client.radosgw.keyring
log file = /var/log/radosgw/client.radosgw.gateway-node1.log
rgw_frontends = civetweb port=80

수정 후

sudo service radosgw restart id=rgw.

============================================

이후 s3붙여 사용해보시거나 swift를 구성하여 사용하시면 됩니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다