ฉันสามารถรัน mysqld ที่ด้านบนของ glusterfs ได้หรือไม่


12

ฉันเพิ่งเล่นกับ glusterfs เมื่อเร็ว ๆ นี้

สิ่งที่ฉันต้องการลองคือรัน mysqld ที่ด้านบนของ glusterfs ด้วยวิธีที่คล้ายกันเพราะมันสามารถรันMySQL ที่ด้านบนของ DRBDได้

ฉันคุ้นเคยกับการจำลองแบบ MySQL และข้อดีของการใช้วิธีนี้แทนที่จะใช้วิธีนี้และฉันก็ตระหนักถึง MongoDB และโซลูชั่น NoSQL อื่น ๆ

อย่างไรก็ตามมันจะเป็นวิธีแก้ปัญหาง่ายๆสำหรับโครงการเฉพาะบางโครงการที่ฉันมีอยู่ถ้าฉันสามารถออกจาก MySQL ได้และทำซ้ำระบบไฟล์พื้นฐาน

เป็นไปได้หรือไม่และเป็นไปได้อย่างไร

คำตอบ:


16

เนื่องจากความล่าช้านานพอสมควรโดยไม่มีคำตอบฉันจึงพบว่ามีการลองผิดลองถูก

คำตอบคือ: ใช่ฉันสามารถเรียกใช้ mysqld ที่ด้านบนของ glusterfs

ฉันตั้งค่านี้บน Ubuntu และสั้น ๆ นี่คือขั้นตอน:

ปัญหาที่แท้จริงมาในวิธี MySQL จัดการล็อค

อย่างไรก็ตามคุณสามารถส่งทั้งหมดนี้ไปยัง glusterfs เพื่อจัดการกระบวนการ mysqld จำนวนมาก (ทำงานบนโหนดแยก) สามารถเข้าถึงไฟล์ฐานข้อมูลเดียวกันบน / mnt / glusterfs คุณจะต้องอ่านอย่างระมัดระวัง

  • ปิดการใช้งานแคชแบบสอบถามสวิทช์ล็อคภายนอกและปิดการใช้งานเกิดความล่าช้าในการเขียน

2
คุณเห็นปัญหาเรื่องประสิทธิภาพประเภทใด
CMCDragonkai

4
มันน่าสนใจมากจริงๆ! อย่างไรก็ตามสำหรับบันทึกนี้ฉันขอแนะนำอย่างยิ่งให้ไม่ใช้สิ่งนี้ในทุกสถานการณ์ที่ข้อมูลของคุณมีความสำคัญ เพียงเพราะดูเหมือนว่าจะทำงานไม่ได้หมายความว่าปลอดภัย คุณอาจโชคดีและไม่พบกับสภาพการแข่งขันที่อาจทำให้ข้อมูลสูญหาย
jlh

คุณจะใช้ 1 เซิร์ฟเวอร์ต่อครั้งใช่ไหม ฉันค่อนข้างมั่นใจว่ามันจะไม่ทำงานจากเซิร์ฟเวอร์หลายเครื่อง คุณกำลังจะสูญเสียข้อมูลของคุณ
Diego Roccia

3

ลองทำสิ่งนี้ในคลัสเตอร์ K8 MySQL ทำงานอยู่ภายในคอนเทนเนอร์ GlusterFS ได้รับการติดตั้งโดยตรงบนโหนด คอนเทนเนอร์ MySQL มีการตั้งค่าความสัมพันธ์เพื่อให้ทำงานบนโหนดเดียวกันกับ GFS เสมอโดยติดตั้งไดรฟ์ข้อมูลโดยใช้ไดรฟ์ข้อมูล GFS ดั้งเดิมของ K8

เวลาแฝงที่มีประสบการณ์สูงแบบสุ่มสำหรับไซต์ WordPress แม้เปิดใช้งานการแคช NGINX FastCGI (PHP-FPM) สลับไปที่ปริมาณ hostPath สำหรับคอนเทนเนอร์ MySQL ปัญหาเวลาแฝงหายไป


2

ฉันไม่คิดว่าเป็นไปได้ Richard ลิงก์ที่คุณให้ไว้พูดถึง MyIsam และพวกเขาบอกว่าไม่แนะนำ ฉันอ่านบางแห่ง (จำไม่ได้ว่าอยู่ที่ไหน) การใช้ไฟล์ innoDB ที่ใช้ร่วมกันโดยหลายโหนดจะทำให้ข้อมูลเสียหาย


2

ฉันไม่รู้ว่าทำไมคุณต้องการเข้าถึงไฟล์ฐานข้อมูลเดียวกันจากกระบวนการเซิร์ฟเวอร์ MySQL ที่ต่างกัน แต่ถ้าเหตุผลคือประสิทธิภาพคุณควรดูที่ Galera

http://www.codership.com/content/using-galera-cluster

รวมอยู่ใน Maria DB และ Percona XTRA DB Cluster


สิ่งที่เกี่ยวกับการจำลองแบบของ Master to Master ใน GlusterFS?
CMCDragonkai

-1 สำหรับ Galera ยกเว้นว่าคุณกำลังมองหาความสามารถในการอ่านได้ Galera ไม่เหมาะสมสำหรับฐานข้อมูลขนาดใหญ่หรือฐานข้อมูลที่มีความสำคัญต่อประสิทธิภาพการเขียน ฉันพูดจากประสบการณ์และคำแนะนำจากสัญญาการสนับสนุนกับ MariaDB
Ross Peoples

@RossPeoples บอกตามตรงว่า OP ไม่น่าเป็นไปได้สำหรับการเขียน Gluster มีแนวโน้มที่จะเพิ่มเวลาแฝงให้กับทุกธุรกรรม เขาน่าจะมองหา HA มากขึ้นโดยใช้ Kubernete เพื่อให้แน่ใจว่ามีอินสแตนซ์ dB เดียวที่ทำงานอยู่
Aron

1

ในทางทฤษฎีคุณสามารถ ในทางปฏิบัติและโดยเฉพาะอย่างยิ่งเกี่ยวกับประสิทธิภาพคู่มือ Gluster แนะนำว่ามันไม่ได้มีวัตถุประสงค์เพื่อใช้ในการจำลองไฟล์ DB หรือระบบ I / O แบบละเอียด

ดูภาพรวมอย่างเป็นทางการของ Gluster ที่นี่:

http://docs.gluster.org/en/latest/Install-Guide/Overview/#is-gluster-going-to-work-for-me-and-what-i-need-it-to-do

Gluster จะใช้งานได้สำหรับฉันหรือไม่และฉันต้องการอะไรบ้าง

... ในอีกทางหนึ่งการเพิ่มเซิร์ฟเวอร์ Gluster ให้เพียงพอในการผสมผสานบางคนเห็นประสิทธิภาพที่ดีขึ้นกับเรามากกว่าโซลูชันอื่น ๆ เนื่องจากธรรมชาติของเทคโนโลยี - Gluster ไม่รองรับการใช้งานที่เรียกว่า "โครงสร้างข้อมูล" หมายถึงการถ่ายทอดสด ฐานข้อมูล SQL แน่นอนว่าการใช้ Gluster เพื่อสำรองและกู้คืนฐานข้อมูลจะดี - Gluster นั้นดีกว่าเมื่อใช้ขนาดไฟล์อย่างน้อย 16KB (โดยมีจุดที่น่าสนใจประมาณ 128KB หรือมากกว่านั้น)

อีกครั้งถ้าคุณต้องการมีการจำลองแบบ MySQL ฉันแนะนำ:

  1. ใช้การจำลองแบบ MySQL Master / Slave แบบดั้งเดิม https://dev.mysql.com/doc/refman/5.7/th/replication.html

  2. ใช้คลัสเตอร์ Codership Galera ที่ปัจจุบันมีการใช้งานใน MySQL ทุกรสชาติเช่น Oracle MySQL หรือ MariaDB

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.