Skip to content

Commit 58db617

Browse files
committed
up
1 parent 8c5f406 commit 58db617

File tree

3 files changed

+190
-0
lines changed

3 files changed

+190
-0
lines changed

Ceph/Ceph-provi.md

+11
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,14 @@ Obj storage, như tên, chúng quản lý data = obj. Mỗi objet lưu data, met
3636
Trong môi trường production, nếu yêu cầu Ceph RADOS gateway thực hiện nhưng tác vụ năng, ta cần tách riêng node thành 1 máy chủ vật lý riêng. Khi cần tiết kiệm, ta có thể tích hợp nó với Ceph Monitor node.
3737

3838
![](PIC/ceph-provi-radosgw.png)
39+
40+
#### Các phương pháp truy cập
41+
Ceph hỗ trợ truy cập object storage thông qua S3-interface và Swift-compatible APIs.
42+
43+
#### S3 API-compatible Ceph object storage
44+
Được cung cấp Simple Storage Service (S3), cho phép cung cấp storage thông qua web interfaces như REST. Vì vậy, Ceph hỗ trợ mở rộng cho phương pháp này, cho phép s3 app client truy cập Ceph storage cluster thông qua access và secret key.
45+
46+
(xem thêm trong lab triển khai radosgw)
47+
48+
#### Swift API-compatible Ceph object storage
49+
Ceph hỗ trợ RESTful API tương thích với phương pháp truy cập data model cơ bản cung cấp bới Swift API.

Ceph/PIC/ceph-radosgw-install-1.png

10.3 KB
Loading

Ceph/ceph-radosgw-install.md

+179
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,179 @@
1+
# Triển khai Radosgw trên Ceph Cluster
2+
---
3+
## Chuẩn bị
4+
Đọc các tài liệu
5+
Sử dụng lab 3 node ceph
6+
7+
## Cài đặt
8+
### Phần 1: Thiết lập Ceph Radosgw
9+
#### Bước 1: Thiết lập tại ceph-admin (Node có quyền admin)
10+
> Thực hiện trên ceph-admin
11+
12+
Truy cập ceph-admin
13+
```
14+
ssh root@ceph-admin
15+
```
16+
17+
Truy cập ceph cluster directory
18+
```
19+
cd cluster/
20+
```
21+
#### Bước 2: Tạo rados gateway
22+
Tạo 2 rados gateway:
23+
- 1 trên ceph-node-1
24+
- 1 trên ceph-node-2
25+
26+
```
27+
ceph-deploy rgw create ceph-node-1 ceph-node-2
28+
```
29+
30+
> API gateways chạy trên port 7480.
31+
32+
> Sử dụng 2 gateway trong trường hợp cần tới HA, load balancing
33+
34+
__Kết quả__
35+
36+
pic 1
37+
38+
### Phần 2: Tạo radosgw user
39+
#### Tổng quát
40+
Để có thể sử dụng Ceph object storage, ta cần tạo user truy cập Radosgw. User được định danh bằng access và secret key, sử dụng cho mục đích truy cập, thực hiện các hoạt động trên Ceph object storage.
41+
42+
#### Bước 1: Truy cập node admin
43+
Truy cập node có quyền admin trong Ceph cluster
44+
```
45+
ssh root@ceph-admin
46+
```
47+
#### Bước 2: Tạo user
48+
49+
```
50+
[root@ceph-admin cluster]# radosgw-admin user create --uid=lacoski --display-name="my user lacoski"
51+
{
52+
"user_id": "lacoski",
53+
"display_name": "my user lacoski",
54+
"email": "",
55+
"suspended": 0,
56+
"max_buckets": 1000,
57+
"auid": 0,
58+
"subusers": [],
59+
"keys": [
60+
{
61+
"user": "lacoski",
62+
"access_key": "UDW5NH3UZ83CK1W0U2PW",
63+
"secret_key": "BjPiwiRRdTmgK50SjeDCmgVgfNWjfPgTIRTTr4Zq"
64+
}
65+
],
66+
"swift_keys": [],
67+
"caps": [],
68+
"op_mask": "read, write, delete",
69+
"default_placement": "",
70+
"placement_tags": [],
71+
"bucket_quota": {
72+
"enabled": false,
73+
"max_size_kb": -1,
74+
"max_objects": -1
75+
},
76+
"user_quota": {
77+
"enabled": false,
78+
"max_size_kb": -1,
79+
"max_objects": -1
80+
},
81+
"temp_url_keys": []
82+
}
83+
84+
```
85+
#### Kiểm tra lại thông tin user
86+
```
87+
[root@ceph-admin cluster]# radosgw-admin user info --uid=lacoski
88+
{
89+
"user_id": "lacoski",
90+
"display_name": "my user lacoski",
91+
"email": "",
92+
"suspended": 0,
93+
"max_buckets": 1000,
94+
"auid": 0,
95+
"subusers": [],
96+
"keys": [
97+
{
98+
"user": "lacoski",
99+
"access_key": "UDW5NH3UZ83CK1W0U2PW",
100+
"secret_key": "BjPiwiRRdTmgK50SjeDCmgVgfNWjfPgTIRTTr4Zq"
101+
}
102+
],
103+
"swift_keys": [],
104+
"caps": [],
105+
"op_mask": "read, write, delete",
106+
"default_placement": "",
107+
"placement_tags": [],
108+
"bucket_quota": {
109+
"enabled": false,
110+
"max_size_kb": -1,
111+
"max_objects": -1
112+
},
113+
"user_quota": {
114+
"enabled": false,
115+
"max_size_kb": -1,
116+
"max_objects": -1
117+
},
118+
"temp_url_keys": []
119+
}
120+
```
121+
### Phần 3: Kiểm tra user cung cấp bởi Radosgw
122+
> Thực hiện trên ceph-admin (có thể trên ceph-client)
123+
124+
__Cài đặt gói__
125+
```
126+
yum -y install python-boto
127+
```
128+
129+
__Tạo python script "/root/cephs3test.py"__
130+
```
131+
[root@ceph-admin ~]# vim cephs3test.py3
132+
133+
# content
134+
import boto
135+
import boto.s3.connection
136+
137+
access_key = 'UDW5NH3UZ83CK1W0U2PW'
138+
secret_key = 'BjPiwiRRdTmgK50SjeDCmgVgfNWjfPgTIRTTr4Zq'
139+
conn = boto.connect_s3(
140+
aws_access_key_id = access_key,
141+
aws_secret_access_key = secret_key,
142+
host = 'ceph-node-1', port = 7480,is_secure=False, calling_format = boto.s3.connection.OrdinaryCallingFormat(),)
143+
144+
bucket = conn.create_bucket('my-new-bucket')
145+
for bucket in conn.get_all_buckets():
146+
print "{name} {created}".format(name = bucket.name,created = bucket.creation_date,)
147+
```
148+
> Chú ý: 2 key access và secret
149+
150+
> Chú ý: Host = 'radosgw host' lựa chọn phù hợp
151+
152+
__Chạy script__
153+
```
154+
python /root/cephs3test.py
155+
```
156+
__Kết quả (tương tự)__
157+
```
158+
my-new-bucket 2018-02-27T04:56:33.729Z
159+
lacoski 2018-02-27T04:48:46.508Z
160+
```
161+
162+
__Kiểm tra bằng node ceph-admin__
163+
```
164+
[root@ceph-admin ~]# radosgw-admin bucket list
165+
[
166+
"my-new-bucket",
167+
"lacoski"
168+
]
169+
```
170+
171+
__Xóa bucket test__
172+
```
173+
radosgw-admin bucket rm my-new-bucket
174+
```
175+
176+
### Phần 3: Truy cập Ceph object storage
177+
Ở đây sẽ truy cập Ceph object thông qua S3 API tương thích.
178+
179+
####

0 commit comments

Comments
 (0)