COLO.in.th > คลังความรู้ > CentOS 7 > วิธิใช้งาน Ceph Storage
CEPH : THE FUTURE OFSTORAGE
การใช้งาน Ceph Storage นั้นทำได้ 3 วิธี โดยแบ่งตามรูปแบบการนำไปใช้ได้แก่ object storage, block storage, file system
ตามในภาพจะเข้าใจถึงการเลือกวิธีการนำ Ceph มาใช้งานให้ตรงกับรูปแบบและวัตุประสงค์ ในที่นี้ผมขอยกตัวอย่างการเชื่อมต่อในรูปแบบของ RBD
How to Create Delete Edit Pool and Provides Pool to User
ในขั้นตอนนี้เราสามารถทำได้ผ่าน ceph เครื่องใหนก็ได้ที่อยู่ใน Ceph Cluster เพราะจำเป็นต้องใช้ ceph.client.admin.keyring เพื่อให้ได้สิทธิ admin
1. Create Pool และ กำหนดค่าต่าง โดยรูปแบบของคำสั่ง
ceph osd pool create {pool-name} {pg-num} [{pgp-num}] โดยสูตรการคำนวนค่า pg-num(placement groups), pgp-num สามารถทำได้โดย pg-num = (osdทั้งหมด x 100)/จำนวนreplicated เท่ากับว่าถ้าเรามี osd 12 ลูก ต้องการจำนวน replicated 3 ก็จะได้ค่า pg-num,pgp-num เท่ากับ 400 หรือ ถ้าเรามี osd 100 ลูก ต้องการจำนวน replicated 3 ก็จะได้ค่า pg-num,pgp-num เท่ากับ 3,333#ceph osd pool create webportal 400 400
#ceph osd pool set webportal size 3 << replicated 3 copy
#ceph osd pool set-quota webportal max_bytes 10000 << กำหนดขนาดของ Pool (size คิดเป็น megabytes)
#rbd create --size 1000M webportal/data << กำหนดขนาดของ image หรือ folder ภายใน Pool$ ceph osd lspools << ดู Pool ทั้งหมดที่มีอยู่
2. Delete Pool มีรูปแบบของ command ไม่ยุ่งยากและจะลบโดยไม่สนใจว่าจะมีการ access อยู่ที่ pool นั้นหรือไม่ รูปแบบคือ ceph osd pool delete {pool-name} [{pool-name} --yes-i-really-really-mean-it]#ceph osd pool delete webportal webportal --yes-i-really-really-mean-it
เพียงเท่านี้ Pool webportal ก็กระจุยกระจายหายไปจากระบบเราสามารถตรวจสอบด้วยคำสั่ง ceph osd lspools เพื่อยืนยันการหายไปของ pool
3. Edit หรือการ Modify Pool สามารถทำได้ตลอด ในส่วนของการ เพิ่มลดจำนวน replicated หรือค่า placement groups แต่หากเป็นการเพิ่มขนาดของ Pool ตรงนี้ยังไม่ได้ศึกษา
#ceph osd dump |grep -i webportal << pool 72 'webportal' replicated size 3 min_size 1 crush_ruleset 0 object_hash rjenkins pg_num 400 pgp_num 400 last_change 592 flags hashpspool max_bytes 10000 stripe_width 0
#ceph osd pool set webportal size 2
#ceph osd pool set webportal pg-num 600
#ceph osd pool set webportal pgp-num 600
4. how to Provides Pool to User
ในขั้นตอนนี้เราจะทำการ Create Edit Delete and Provides to User
การ Create และ Provides ก็จะมี command ดังนี้ ceph auth get-or-create client.[username] mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=[poolname]'#ceph auth get-or-create client.userportal mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=webportal'
#ceph auth get client.userportal -o keyring/client.userportal.keyring << export keyring to keyring file and client need this file to access with permission
การ Edit ก็จะใช้สำหรับการแก้ไขสิทธิต่าง เช่นการเข้าถึง pool กำหนดสิทธิโดยมี command ดังนี้ ceph auth caps client.[username] mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=[poolname]"#ceph auth caps client.userportal mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=webportal'
การ Delete User ก็จะใช้ command ดังนี้ ceph auth del client.{ID}#ceph auth del client.userportal
ในส่วนของการ Create Delete Edit Pool and Provides Pool to User ก็จบเพียงเท่านี้
#How to map CEPH Storage with rbd(rados block device)
ขั้นตอนนี้จะทำในส่วนของ Client เท่านั้น เป็นการเอา keyring ที่ Create สำหรับ User และไฟล์ ceph.conf จาก server ส่วนวิธีการนำมายังฝั่งของ client ไม่สงวนวิธี จะพิมพ์ จะcopy อะไรก็ได้ มีขึ้นตอนดังนี้#sudo yum -y ceph-common
#sudo cp ceph.conf /etc/ceph/
#sudo cp client.userportal.keyring /etc/ceph/
#cd /etc/ceph/
#sudo chmod -r client.userportal.keyring
#sudo rbd --keyring /etc/ceph/client.userportal.keyring --id userportal list << ขั้นตอนนี้จะแสดง pool ที่เราถืออยู่ว่ามีอะไรบ้าง
#sudo rbd map -p webportal data --keyring /etc/ceph/client.client2a.keyring --id userportal << webportal =poolname, data=image or folder, userportal=username
#rbd showmapped << show disk ที่เรา map มาจาก ceph เราก็จะสามารถนำ disk ก้อนนี้มา mount และใช้งานได้ทันทีครับ
เป็นอันจบการ map ceph ด้วย RBD (rados block device)
หวังว่าจะเป็นประโยชน์กับผู้ที่กำลังศึกษาอยู่ และในส่วนของ object storage และ file system จะมาเพิ่มเติมในครั้งต่อไปครับที่มา http://thaipotato.wixsite.com/blog/single-post/2016/07/20/วิธิใช้งาน-Ceph-Storage
บันทึกสู่รายการโปรดของฉัน พิมพ์หัวข้อนี้
Powered by WHMCompleteSolution