세 가지 Ceph rgw 전단 설정 방식
Ceph 는 radosgw 를 통 해 RESTFul HTTP API 인터페이스 지원 대상 의 저장 능력 을 제공 하고 radosgw 는 librados 위 에 구축 되 어 Amazon S3 와 OpenSak Swift 를 호 환 합 니 다.
radosgw 는 본질 적 으로 클 라 이언 트 프로그램 으로 FastCGI 서 비 스 를 제공 합 니 다.클 라 이언 트 프로그램 으로서 다음 과 같은 요 구 를 만족 시 켜 야 합 니 다.
다음은 centos 7 상 rgw 의 설치 설정 과정 을 보 여 줍 니 다.
설치 하 다.
ceph - deploy 를 통 해 rgw node 에 rgw 패 키 지 를 편리 하 게 설치 할 수 있 습 니 다.
#> ceph-deploy --rgw install {rgw-node-name}
사용자 만 들 기
모든 rgw 인 스 턴 스 는 인증 사용자 와 key 가 필요 합 니 다. 다음 예 에서 gateway 라 는 사용 자 를 만 들 고 키 파일 을 / etc / ceph 디 렉 터 리 에 저장 합 니 다.
#> ceph auth get-or-create client.radosgw.gateway osd 'allow rwx' mon 'allow rwx' -o /etc/ceph/ceph.client.radosgw.keyring
저장 탱크 만 들 기
rgw 는 데 이 터 를 저장 할 저장 탱크 가 필요 합 니 다. 권한 을 수 여 받 은 사용자 가 관련 권한 을 가지 면 rgw 는 자동 으로 저장 탱크 를 만 듭 니 다. 기본 영역 (region) 과 사용 가능 한 영역 (zone) 을 사용 하면 다음 과 같은 탱크 를 포함 합 니 다.
.rgw.root
.rgw.control
.rgw.gc
.rgw.buckets
.rgw.buckets.index
.rgw.buckets.extra
.log
.intent-log
.usage
.users
.users.email
.users.swift
.users.uid
물론 각 저장 소 를 수 동 으로 만 들 수 있 습 니 다.
#> ceph osd pool create {poolname} {pg-num} {pgp-num} {replicated | erasure} [{erasure-code-profile}] {ruleset-name} {ruleset-number}
rgw 설정 추가
ceph. conf 에 gateway 라 는 인 스 턴 스 를 추가 합 니 다.
Civetweb
civetweb 를 전단 으로 하면 다음 과 같이 설정 합 니 다.
[client.radosgw.gateway]
host = {hostname}
keyring = /etc/ceph/ceph.client.radosgw.keyring
log file = /var/log/radosgw/client.radosgw.gateway-node1.log
rgw_frontends = civetweb port=80
civetweb 기본 감청 은 7480 포트 입 니 다. 상기 설정 에 지정 한 감청 포트 가 80
port=80
으로 표 시 됩 니 다.Apache
apache 를 전단 으로 하면 다음 과 같이 설정 합 니 다.
[client.radosgw.gateway]
host = {hostname}
keyring = /etc/ceph/ceph.client.radosgw.keyring
rgw socket path = ""
log file = /var/log/radosgw/client.radosgw.gateway.log
rgw frontends = fastcgi socket_port=9000 socket_host=0.0.0.0
rgw print continue = false
apache 서 비 스 를 설정 하고 생 성
/etc/httpd/conf.d/rgw.conf
하 며 다음 과 같은 내용 을 기록 합 니 다.<VirtualHost *:80>
ServerName localhost
DocumentRoot /var/www/html
ErrorLog /var/log/httpd/rgw_error.log
CustomLog /var/log/httpd/rgw_access.log combined
# LogLevel debug
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
SetEnv proxy-nokeepalive 1
ProxyPass / fcgi://localhost:9000/
</VirtualHost>
설정 후 apache 서 비 스 를 다시 시작 합 니 다:
systemctl restart httpd.service
Nginx ceph. conf 설정 은 다음 과 같 습 니 다.
[client.radosgw.gateway]
rgw_frontends = fastcgi
host = {hostname}
keyring = /etc/ceph/ceph.client.radosgw.keyring
rgw_socket_path = /var/run/ceph/ceph.radosgw.gateway.sock
log_file = /var/log/ceph/radosgw.log
rgw_print_continue = false
rgw_content_length_compat = true
nginx 서 비 스 를 설정 하고
/etc/nginx/nginx.conf
파일 의 http 세그먼트 에 다음 과 같은 내용 을 추가 합 니 다.http {
server {
listen 80 default;
server_name {hostname};
location / {
fastcgi_pass_header Authorization;
fastcgi_pass_request_headers on;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param CONTENT_LENGTH $content_length;
if ($request_method = PUT) {
rewrite ^ /PUT$request_uri;
}
include fastcgi_params;
fastcgi_pass unix:/var/run/ceph/ceph.radosgw.gateway.sock;
}
location /PUT/ {
internal;
fastcgi_pass_header Authorization;
fastcgi_pass_request_headers on;
include fastcgi_params;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_pass unix:/var/run/ceph/ceph.radosgw.gateway.sock;
}
}
주의: fastcgipass 가 가리 키 는 경 로 는 ceph. conf 에서 설정 한 경로 와 일치 해 야 합 니 다.
nginx 설정 적용:
nginx -s reload
rgw 인 스 턴 스 시작위의
-> -> ->
과정 을 통 해 rgw 도 준비 가 되 었 습 니 다. 아래 명령 을 통 해 인 스 턴 스 를 시작 할 수 있 습 니 다.//radosgw -c {conf_file} -n {rgw-name}
#> radosgw -c /etc/ceph/ceph.conf -n client.radosgw.gateway
테스트
ceph rgw 의 테스트 방식 은 s3cmd, cosbench 이 며, python 라 이브 러 리 boto 를 통 해 스스로 테스트 프로그램 을 쓸 수 있 습 니 다.개인 적 으로 cosbench 가 괜 찮 은 것 같 아 요. 한번 해 보 세 요.
rgw 다 중 인 스 턴 스
rgw 의 병행 능력 을 향상 시 키 기 위해 서 는 여러 개의 rgw 인 스 턴 스 를 배치 해 야 합 니 다.사실 간단 합 니 다. 여러 노드 에 여러 개의 rgw 인 스 턴 스 를 배치 합 니 다. rgw 패 키 지 를 설치 하고 ceph. conf 파일, 키 파일, 전단 설정 파일 을 해당 노드 에 복사 한 다음 인 스 턴 스 를 시작 하면 됩 니 다.
이로써 rgw 의 배치 실천 과정 을 소 개 했 습 니 다. 문제 가 있 으 면 메 시 지 를 환영 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 파일 압축 및 압축 풀기파일 의 간단 한 압축 과 압축 해 제 를 실현 하 였 다.주요 테스트 용 에는 급 하 게 쓸 수 있 는 부분 이 있 으 니 불편 한 점 이 있 으 면 아낌없이 가르쳐 주 십시오. 1. 중국어 문 제 를 해 결 했 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.