Skip to content

Commit fbd3c9d

Browse files
committed
lab 2, connect
1 parent af46133 commit fbd3c9d

5 files changed

+227
-0
lines changed

Ceph/PIC/ceph-use-lab-1.png

125 KB
Loading

Ceph/PIC/ceph-use-lab-2.png

12.6 KB
Loading

Ceph/PIC/ceph-use-lab-3.png

12.6 KB
Loading

Ceph/PIC/ceph-use-lab-4.png

9.78 KB
Loading

Ceph/lab-use-ceph.md

+227
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,227 @@
1+
# Sử dụng Ceph như Block Device trên CentOS 7
2+
---
3+
## Chuẩn bị
4+
Sử dụng lab: [Cài đặt Ceph Storage Cluster trên CentOS 7](ceph-install-lab.md)
5+
6+
## Bắt đầu
7+
### Phần 1: Cấu hình Ceph Client Node
8+
> Ta sẽ cấu hình CentOS 7 như Ceph client
9+
10+
#### Bước 1: Cấu hình Client Node
11+
Truy cập Ceph client node
12+
```
13+
ssh root@client
14+
```
15+
Tạo Ceph user 'cephuser' trên tất các các nodes.
16+
```
17+
useradd -d /home/cephuser -m cephuser
18+
passwd cephuser
19+
```
20+
Cấp quyền root cho user vừa tạo
21+
```
22+
echo "cephuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephuser
23+
chmod 0440 /etc/sudoers.d/cephuser
24+
sed -i s'/Defaults requiretty/#Defaults requiretty'/g /etc/sudoers
25+
```
26+
#### Bước 2: Cấu hình NTP
27+
Sử dụng NTP đồng bộ thời gian trên tất cả các Node.
28+
> Ở đây sử dụng NTP pool US.
29+
30+
```
31+
yum install -y ntp ntpdate ntp-doc
32+
ntpdate 0.us.pool.ntp.org
33+
hwclock --systohc
34+
systemctl enable ntpd.service
35+
systemctl start ntpd.service
36+
```
37+
38+
#### Bước 3: Cấu hình file host
39+
```
40+
vim /etc/hosts
41+
42+
# content
43+
192.168.2.128 ceph-admin
44+
192.168.2.129 mon1
45+
192.168.2.130 osd1
46+
192.168.2.131 osd2
47+
192.168.2.132 client
48+
```
49+
50+
### Phần 2: Cấu hình tại Ceph Admin Node
51+
Sử dụng ceph-admin node để thiết lập Ceph client node
52+
#### Bước 1: Truy cập Ceph admin node
53+
```
54+
ssh root@ceph-admin
55+
```
56+
57+
#### Bước 2: Kiểm tra cấu hình ssh config, host file
58+
Kiểm tra cấu hình file ssh config
59+
```
60+
vim ~/.ssh/config
61+
62+
# Thêm nếu chưa có
63+
Host client
64+
Hostname client
65+
User cephuser
66+
67+
68+
vim /etc/hosts
69+
70+
# Thêm nếu chưa có
71+
192.168.2.132 client
72+
```
73+
74+
Kiểm tra, thiết lập ssh với client
75+
```
76+
ssh-keyscan client >> ~/.ssh/known_hosts
77+
ssh-copy-id client
78+
```
79+
80+
Kiểm tra kết nối tới client
81+
```
82+
ssh client
83+
```
84+
> Nhập passwd khi lần đàu truy cập
85+
86+
### Phần 3: Cài đặt Ceph tại Client Node
87+
> Cài đặt Ceph tới Client Node bằng ceph-admin node
88+
89+
#### Bước 1: Truy cập ceph-admin
90+
```
91+
ssh root@ceph-admin
92+
```
93+
#### Bước 2: Truy cập Cluster directory
94+
```
95+
cd cluster/
96+
```
97+
98+
#### Bước 3: Cài đặt Ceph trên client = ceph-admin
99+
```
100+
ceph-deploy install client
101+
ceph-deploy admin client
102+
```
103+
104+
#### Bước 4: Cấu hình quyển truy cập admin key (Tại client node)
105+
```
106+
ssh client
107+
sudo chmod 644 /etc/ceph/ceph.client.admin.keyring
108+
```
109+
110+
![](PIC/ceph-use-lab-1.png)
111+
112+
### Phần 4: Cấu hình, Mount Ceph như Block Device
113+
> Ceph cho phép sử dụng Ceph Cluster cung cấp block device. Ta có thể sử dụng Ceph storage như hard drive thông thường. Ceph Block Storage hoặc Ceph RADOS Block Storage (RBD) lưu block device image như Object. Tự động nhận bản obj đó tới toàn Ceph Cluster.
114+
115+
#### Thiết lập tại Ceph Client
116+
Truy cập Client Node
117+
```
118+
ssh client
119+
```
120+
Sử dụng RBD cmd quản lý rados block device image. Cmd cho phép tạo mới image, resize, tạo snapshot, ..
121+
```
122+
rbd create disk01 --size 10000
123+
rbd ls -l
124+
```
125+
126+
Kích hoạt RBD kernel module
127+
```
128+
sudo modprobe rbd
129+
sudo rbd feature disable disk01 exclusive-lock object-map fast-diff deep-flatten
130+
```
131+
Map disk01 image tới block device thông qua rbd kernel module
132+
```
133+
sudo rbd map disk01
134+
rbd showmapped
135+
```
136+
![](PIC/ceph-use-lab-2.png)
137+
138+
> disk01 image được map tới /dev/rbd0, từ đây ta có thể sử dụng nó như ổ đĩa thông thường
139+
140+
Định dạng XFS cho ổ đĩa
141+
```
142+
sudo mkfs.xfs /dev/rbd0
143+
```
144+
145+
Mount '/dev/rbd0' tới mnt directory.
146+
```
147+
sudo mkdir -p /mnt/mydisk
148+
sudo mount /dev/rbd0 /mnt/mydisk
149+
```
150+
151+
![](PIC/ceph-use-lab-3.png)
152+
153+
> Ceph RBD or RADOS Block Device đã được cấu hình và mount vào hệ thông. Kiểm tra thông quá command
154+
155+
Kiểm tra lại kết quả
156+
```
157+
df -hT
158+
```
159+
![](PIC/ceph-use-lab-4.png)
160+
161+
### Phần 5: Thiết lập RBD tại thời điểm khởi động
162+
#### Bước 1: Tạo file tại đường dẫn /usr/local/bin thực hiện hoạt động mount hoặc umount
163+
```
164+
cd /usr/local/bin/
165+
vim rbd-mount
166+
167+
# content
168+
#!/bin/bash
169+
170+
# Script Author: http://bryanapperson.com/
171+
# Change with your pools name
172+
export poolname=rbd
173+
174+
# CHange with your disk image name
175+
export rbdimage=disk01
176+
177+
# Mount Directory
178+
export mountpoint=/mnt/mydisk
179+
180+
# Image mount/unmount and pool are passed from the systems service as arguments
181+
# Determine if we are mounting or unmounting
182+
if [ "$1" == "m" ]; then
183+
modprobe rbd
184+
rbd feature disable $rbdimage exclusive-lock object-map fast-diff deep-flatten
185+
rbd map $rbdimage --id admin --keyring /etc/ceph/ceph.client.admin.keyring
186+
mkdir -p $mountpoint
187+
mount /dev/rbd/$poolname/$rbdimage $mountpoint
188+
fi
189+
if [ "$1" == "u" ]; then
190+
umount $mountpoint
191+
rbd unmap /dev/rbd/$poolname/$rbdimage
192+
fi
193+
```
194+
Thêm quyền kịch hoạt
195+
```
196+
chmod +x rbd-mount
197+
```
198+
199+
Bước 2: Tạo service cho CentOS 7, tự động khởi tạo khi khởi động
200+
Tới systemd directory, tại service file
201+
```
202+
cd /etc/systemd/system/
203+
vim rbd-mount.service
204+
205+
# content
206+
[Unit]
207+
Description=RADOS block device mapping for $rbdimage in pool $poolname"
208+
Conflicts=shutdown.target
209+
Wants=network-online.target
210+
After=NetworkManager-wait-online.service
211+
[Service]
212+
Type=oneshot
213+
RemainAfterExit=yes
214+
ExecStart=/usr/local/bin/rbd-mount m
215+
ExecStop=/usr/local/bin/rbd-mount u
216+
[Install]
217+
WantedBy=multi-user.target
218+
```
219+
220+
Thiết lập service vừa tạo
221+
```
222+
systemctl daemon-reload
223+
systemctl enable rbd-mount.service
224+
```
225+
226+
## Nguồn
227+
https://www.howtoforge.com/tutorial/using-ceph-as-block-device-on-centos-7/

0 commit comments

Comments
 (0)