ข้อมูลเบื้องต้นเกี่ยวกับ GlusterFS (ระบบไฟล์) และการติดตั้งบน RHEL/CentOS และ Fedora
เรากำลังอาศัยอยู่ในโลกที่ข้อมูลมีการเติบโตในลักษณะที่ไม่สามารถคาดเดาได้ และเราต้องการจัดเก็บข้อมูลนี้ ไม่ว่าจะเป็นแบบมีโครงสร้างหรือไม่มีโครงสร้าง ในลักษณะที่มีประสิทธิภาพ ระบบคอมพิวเตอร์แบบกระจายมีข้อได้เปรียบมากมายเหนือระบบคอมพิวเตอร์แบบรวมศูนย์ ที่นี่ข้อมูลจะถูกจัดเก็บในลักษณะกระจายโดยมีหลายโหนดเป็นเซิร์ฟเวอร์
แนวคิดของเซิร์ฟเวอร์ข้อมูลเมตาไม่จำเป็นอีกต่อไปในระบบไฟล์แบบกระจาย ในระบบไฟล์แบบกระจาย จะมีมุมมองทั่วไปของไฟล์ทั้งหมดที่แยกออกจากเซิร์ฟเวอร์ที่แตกต่างกัน ไฟล์/ไดเร็กทอรีบนเซิร์ฟเวอร์จัดเก็บข้อมูลเหล่านี้สามารถเข้าถึงได้ตามปกติ
ตัวอย่างเช่น การอนุญาตสำหรับไฟล์/ไดเร็กทอรีสามารถตั้งค่าได้ในรูปแบบการอนุญาตของระบบตามปกติ เช่น เจ้าของ กลุ่ม และอื่นๆ การเข้าถึงระบบไฟล์โดยพื้นฐานแล้วขึ้นอยู่กับวิธีการออกแบบโปรโตคอลเฉพาะให้ทำงานในระบบเดียวกัน
GlusterFS คืออะไร?
GlusterFS คือระบบไฟล์แบบกระจายที่กำหนดให้ใช้ในพื้นที่ผู้ใช้ กล่าวคือ ระบบไฟล์ในพื้นที่ผู้ใช้ (FUSE) มันเป็นระบบไฟล์ที่ใช้ซอฟต์แวร์ซึ่งคำนึงถึงคุณสมบัติความยืดหยุ่นของตัวเอง
ดูรูปต่อไปนี้ซึ่งแสดงตำแหน่งของ GlusterFS ในแบบจำลองลำดับชั้นในเชิงแผนผัง ตามค่าเริ่มต้นโปรโตคอล TCP จะถูกใช้โดย GlusterFS
ข้อดีของ GlusterFS
- นวัตกรรม – กำจัดข้อมูลเมตาและสามารถปรับปรุงประสิทธิภาพได้อย่างมาก ซึ่งจะช่วยให้เรารวมข้อมูลและออบเจ็กต์เข้าด้วยกัน
- ความยืดหยุ่น – ปรับให้เข้ากับการเติบโตและการลดขนาดของข้อมูล
- ปรับขนาดเชิงเส้น – มีให้เลือกหลายระดับเพตะไบต์และมากกว่านั้น
- ความเรียบง่าย – ง่ายต่อการจัดการและเป็นอิสระจากเคอร์เนลในขณะที่ทำงานในพื้นที่ผู้ใช้
อะไรทำให้ Gluster โดดเด่นเหนือระบบไฟล์แบบกระจายอื่นๆ
- ขายได้ – การไม่มีเซิร์ฟเวอร์ข้อมูลเมตาจะทำให้ระบบไฟล์เร็วขึ้น
- ราคาไม่แพง – ใช้งานได้กับฮาร์ดแวร์สินค้าโภคภัณฑ์
- ยืดหยุ่น – อย่างที่ผมได้กล่าวไว้ก่อนหน้านี้ GlusterFS เป็นระบบไฟล์แบบซอฟต์แวร์เท่านั้น ที่นี่ข้อมูลจะถูกจัดเก็บไว้ในระบบไฟล์ดั้งเดิมเช่น ext4, xfs เป็นต้น
- โอเพ่นซอร์ส – ปัจจุบัน GlusterFS ได้รับการดูแลโดย Red Hat Inc ซึ่งเป็นบริษัทโอเพ่นซอร์สมูลค่าพันล้านดอลลาร์ โดยเป็นส่วนหนึ่งของ Red Hat Storage
แนวคิดการจัดเก็บใน GlusterFS
- Brick – โดยพื้นฐานแล้ว Brick คือไดเร็กทอรีใดๆ ที่มีไว้เพื่อแชร์ระหว่างพูลหน่วยเก็บข้อมูลที่เชื่อถือได้
- กลุ่มพื้นที่จัดเก็บข้อมูลที่เชื่อถือได้ – คือชุดของไฟล์/ไดเร็กทอรีที่ใช้ร่วมกันเหล่านี้ ซึ่งอิงตามโปรโตคอลที่ออกแบบ
- พื้นที่เก็บข้อมูลแบบบล็อก – เป็นอุปกรณ์ที่ใช้เคลื่อนย้ายข้อมูลข้ามระบบในรูปแบบของบล็อก
- คลัสเตอร์ – ใน Red Hat Storage ทั้งคลัสเตอร์และพูลการจัดเก็บข้อมูลที่เชื่อถือได้ถ่ายทอดความหมายเดียวกันของการทำงานร่วมกันของเซิร์ฟเวอร์การจัดเก็บข้อมูลตามโปรโตคอลที่กำหนดไว้
- ระบบไฟล์แบบกระจาย – ระบบไฟล์ที่ข้อมูลกระจายไปตามโหนดต่างๆ ซึ่งผู้ใช้สามารถเข้าถึงไฟล์โดยไม่ทราบตำแหน่งที่แท้จริงของไฟล์ ผู้ใช้ไม่รู้สึกถึงการเข้าถึงระยะไกล
- FUSE – เป็นโมดูลเคอร์เนลที่โหลดได้ ซึ่งอนุญาตให้ผู้ใช้สร้างระบบไฟล์เหนือเคอร์เนลโดยไม่ต้องเกี่ยวข้องกับโค้ดเคอร์เนลใดๆ
- glusterd – glusterd คือ daemon การจัดการ GlusterFS ซึ่งเป็นแกนหลักของระบบไฟล์ที่จะทำงานตลอดเวลาเมื่อใดก็ตามที่เซิร์ฟเวอร์อยู่ในสถานะใช้งานอยู่
- POSIX – Portable Operating System Interface (POSIX) คือกลุ่มมาตรฐานที่กำหนดโดย IEEE เพื่อเป็นวิธีแก้ปัญหาความเข้ากันได้ระหว่าง Unix-variants ในรูปแบบของ Application Programmable Interface (API)
- RAID – Redundant Array of Independent Disks (RAID) เป็นเทคโนโลยีที่เพิ่มความน่าเชื่อถือในการจัดเก็บข้อมูลผ่านการสำรอง
- Subvolume – อิฐหลังจากผ่านการประมวลผลโดยนักแปลอย่างน้อยหนึ่งคน
- นักแปล – นักแปลคือโค้ดชิ้นหนึ่งซึ่งดำเนินการพื้นฐานที่ผู้ใช้เริ่มต้นจากจุดเมานท์ มันเชื่อมต่อวอลุ่มย่อยตั้งแต่หนึ่งวอลุ่มขึ้นไป
- ปริมาตร – ปริมาตรคือชุดตรรกะของตัวต่อ การดำเนินการทั้งหมดจะขึ้นอยู่กับวอลุ่มประเภทต่างๆ ที่สร้างโดยผู้ใช้
เล่มประเภทต่างๆ
อนุญาตให้แสดงประเภทปริมาตรและการรวมกันระหว่างประเภทปริมาตรพื้นฐานเหล่านี้ได้ดังที่แสดงด้านล่าง
ปริมาณการจำลองแบบกระจาย
การแสดงปริมาณการกระจายและการจำลองแบบ
การติดตั้ง GlusterFS ใน RHEL/CentOS และ Fedora
ในบทความนี้ เราจะติดตั้งและกำหนดค่า GlusterFS เป็นครั้งแรกเพื่อให้พื้นที่เก็บข้อมูลมีความพร้อมใช้งานสูง ด้วยเหตุนี้ เราจึงใช้เซิร์ฟเวอร์สองเครื่องเพื่อสร้างวอลุ่มและจำลองข้อมูลระหว่างเซิร์ฟเวอร์ทั้งสอง
ขั้นตอนที่ :1 มีอย่างน้อยสองโหนด
- ติดตั้ง CentOS 6.5 (หรือระบบปฏิบัติการอื่นๆ) บนสองโหนด
- ตั้งชื่อโฮสต์ชื่อ “server1” และ “server2“
- การเชื่อมต่อเครือข่ายที่ทำงาน
- ดิสก์จัดเก็บข้อมูลบนโหนดทั้งสองชื่อ “/data/brick“
ขั้นตอนที่ 2: เปิดใช้งานที่เก็บ EPEL และ GlusterFS
ก่อนที่จะติดตั้ง GlusterFS บนเซิร์ฟเวอร์ทั้งสอง เราจำเป็นต้องเปิดใช้งานที่เก็บ EPEL และ GlusterFS เพื่อให้เป็นไปตามการขึ้นต่อกันภายนอก ใช้ลิงก์ต่อไปนี้เพื่อติดตั้งและเปิดใช้งานพื้นที่เก็บข้อมูล epel ภายใต้ทั้งสองระบบ
- วิธีเปิดใช้งานพื้นที่เก็บข้อมูล EPEL ใน RHEL/CentOS
ต่อไปเราต้องเปิดใช้งานพื้นที่เก็บข้อมูล GlusterFs บนเซิร์ฟเวอร์ทั้งสองเครื่อง
wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo
ขั้นตอนที่ 3: การติดตั้ง GlusterFS
ติดตั้งซอฟต์แวร์บนเซิร์ฟเวอร์ทั้งสองเครื่อง
yum install glusterfs-server
เริ่ม daemon การจัดการ GlusterFS
service glusterd start
ตอนนี้ตรวจสอบสถานะของภูต
service glusterd status
ผลลัพธ์ตัวอย่าง
service glusterd start
service glusterd status
glusterd.service - LSB: glusterfs server
Loaded: loaded (/etc/rc.d/init.d/glusterd)
Active: active (running) since Mon, 13 Aug 2012 13:02:11 -0700; 2s ago
Process: 19254 ExecStart=/etc/rc.d/init.d/glusterd start (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/glusterd.service
├ 19260 /usr/sbin/glusterd -p /run/glusterd.pid
├ 19304 /usr/sbin/glusterfsd --xlator-option georep-server.listen-port=24009 -s localhost...
└ 19309 /usr/sbin/glusterfs -f /var/lib/glusterd/nfs/nfs-server.vol -p /var/lib/glusterd/...
ขั้นตอนที่ 4: กำหนดค่า SELinux และ iptables
เปิด '/etc/sysconfig/selinux' และเปลี่ยน SELinux เป็นโหมด "อนุญาต " หรือ "ปิดใช้งาน " บนเซิร์ฟเวอร์ทั้งสองเครื่อง บันทึกและปิดไฟล์
This file controls the state of SELinux on the system.
SELINUX= can take one of these three values:
enforcing - SELinux security policy is enforced.
permissive - SELinux prints warnings instead of enforcing.
disabled - No SELinux policy is loaded.
SELINUX=disabled
SELINUXTYPE= can take one of these two values:
targeted - Targeted processes are protected,
mls - Multi Level Security protection.
SELINUXTYPE=targeted
จากนั้น ให้ล้าง iptables ในทั้งสองโหนด หรือต้องอนุญาตให้เข้าถึงโหนดอื่นผ่าน iptables
iptables -F
ขั้นตอนที่ 5: กำหนดค่าพูลที่เชื่อถือได้
เรียกใช้คำสั่งต่อไปนี้บน 'Server1'
gluster peer probe server2
เรียกใช้คำสั่งต่อไปนี้บน 'Server2'
gluster peer probe server1
หมายเหตุ: เมื่อเชื่อมต่อพูลนี้แล้ว เฉพาะผู้ใช้ที่เชื่อถือได้เท่านั้นจึงจะตรวจสอบเซิร์ฟเวอร์ใหม่ลงในพูลนี้ได้
ขั้นตอนที่ 6: ตั้งค่าไดรฟ์ข้อมูล GlusterFS
บนทั้ง เซิร์ฟเวอร์1 และ เซิร์ฟเวอร์2
mkdir /data/brick/gv0
สร้างโวลุ่มบนเซิร์ฟเวอร์เดียวและเริ่มโวลุ่ม ที่นี่ ฉันได้เลือก 'Server1'
gluster volume create gv0 replica 2 server1:/data/brick1/gv0 server2:/data/brick1/gv0
gluster volume start gv0
ถัดไป ยืนยันสถานะของวอลุ่ม
gluster volume info
หมายเหตุ: หากไม่ได้เริ่มวอลุ่มในกรณี ข้อความแสดงข้อผิดพลาดจะถูกบันทึกภายใต้ '/var/log/glusterfs' ในหนึ่งหรือ ทั้งเซิร์ฟเวอร์
ขั้นตอนที่ 7: ตรวจสอบปริมาณ GlusterFS
ติดตั้งโวลุ่มไปยังไดเร็กทอรีภายใต้ '/mnt'
mount -t glusterfs server1:/gv0 /mnt
ตอนนี้คุณสามารถสร้าง แก้ไขไฟล์บนจุดเมานท์เป็นมุมมองเดียวของระบบไฟล์ได้
คุณสมบัติของ GlusterFS
- การรักษาตัวเอง – หาก Brick ใด ๆ ในวอลุ่มที่จำลองไว้ใช้งานไม่ได้และผู้ใช้แก้ไขไฟล์ภายใน Brick อื่น ๆ daemon การรักษาตัวเองอัตโนมัติจะเริ่มทำงานทันทีที่ Brick ขึ้นถัดไป เวลาและธุรกรรมที่เกิดขึ้นระหว่างเวลาหยุดทำงานจะถูกซิงค์ตามลำดับ
- การปรับสมดุล – หากเราเพิ่มอิฐใหม่ลงในไดรฟ์ข้อมูลที่มีอยู่ ซึ่งก่อนหน้านี้มีข้อมูลจำนวนมาก เราสามารถดำเนินการปรับสมดุลเพื่อกระจายข้อมูลไปยังอิฐทั้งหมด รวมถึงอิฐที่เพิ่มใหม่ด้วย
- การจำลองแบบทางภูมิศาสตร์ – ให้การสำรองข้อมูลสำหรับการกู้คืนระบบ ต่อไปนี้เป็นแนวคิดของวอลุ่มหลักและโวลุ่ม ดังนั้นหากข้อมูลหลักไม่ทำงาน ข้อมูลทั้งหมดจะสามารถเข้าถึงได้ผ่านทางสลาฟ คุณลักษณะนี้ใช้เพื่อซิงค์ข้อมูลระหว่างเซิร์ฟเวอร์ที่แยกออกจากกันทางภูมิศาสตร์ การเริ่มต้นเซสชันการจำลองทางภูมิศาสตร์ต้องใช้ชุดคำสั่ง gluster
นี่คือภาพหน้าจอต่อไปนี้ที่แสดงโมดูลการจำลองแบบทางภูมิศาสตร์
ลิงค์อ้างอิง
หน้าแรกของ GlusterFS
แค่นั้นแหละ!. ติดตามคำอธิบายโดยละเอียดเกี่ยวกับคุณสมบัติต่างๆ เช่น การรักษาตัวเองและการปรับสมดุล การจำลองแบบทางภูมิศาสตร์ ฯลฯ ในบทความต่อๆ ไปของฉัน