เป็นความคิดที่ดีหรือไม่ที่จะต้องเก็บวอลุ่มของ Docker ใน glusterfs?


24

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

แนวคิดปัจจุบันของฉันคือ: ฉันมีคอนเทนเนอร์ glusterFS ซึ่งทำงานเป็นคอนเทนเนอร์ที่มีสิทธิพิเศษบนเครื่อง coreOS แต่ละเครื่องของฉันและแสดงที่เก็บข้อมูล/mnt/glusterตัวอย่างเช่น ในของDockerfileฉันฉันระบุว่าปริมาณทั้งหมดของฉันควรจะติดตั้งบนเส้นทางนี้

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

มีใครลองอะไรแบบนี้หรือมีอะไรที่ฉันพลาดไปบ้างไหม?


1
ฉันได้ทำการพิสูจน์แนวคิดนี้แล้วและสามารถบอกคุณได้ว่ามันใช้งานได้ แต่ก่อนที่คุณจะเข้าสู่ Gluster ต้องแน่ใจว่าคุณเข้าใจโปรไฟล์การปรับแต่งแล้ว เนื่องจาก Gluster มีความไวต่อเวลาแฝงดิสก์ (คล้ายกับ etcd) ทำให้แอปพลิเคชันช้าลงในชื่อของการรับประกันการจำลองแบบของไฟล์
Brian Redbeard

2
เรากำลังทำงานกับเครื่องมือที่จัดการปริมาณที่แนบมากับภาชนะบรรจุนักเทียบท่า มันถูกเรียกว่า "flocker" และคุณสามารถดู github repo ได้ที่นี่: github.com/clusterhq/flocker ขณะนี้เรามีแบ็กเอนด์หน่วยเก็บข้อมูลสำหรับ ZFS ซึ่งใช้คุณสมบัติสแน็ปช็อตเพื่อทำให้การย้ายข้อมูลง่ายขึ้นมาก แต่เรายังมีแผนสำหรับแบ็กเอนด์หน่วยเก็บข้อมูลอื่น (เช่นทั่วไปบล็อกแบ็กเอนด์อุปกรณ์) ฉันไม่สามารถบอกว่าเป็นความคิดที่ดีที่จะติดตั้งไดรฟ์นักเทียบท่าโดยใช้ GlusterFS แต่ฉันสามารถรับรองรูปแบบการออกแบบโดยรวม - คือการบัญชีสำหรับรัฐที่สร้างขึ้นโดยภาชนะนักเทียบท่าโดยใช้ "บางอย่าง"
Bino คาร์ลอ

1
ขอบคุณสำหรับคำตอบ. ฉันเห็นฝูงสัตว์แล้วและมันก็ดูมีแนวโน้มมาก คุณมีข้อมูลคร่าวๆสำหรับการสนับสนุน coreos หรือเวอร์ชันที่พร้อมใช้งานสำหรับการผลิตหรือไม่?
Martin

ฉันใช้ glusterfs สำหรับโวลุ่มกับ OpenStack ก่อนซึ่งมีการตั้งค่าที่คล้ายกับสิ่งที่คุณทำและมันก็ทำได้ดีมาก
Ethode

@ มาร์ตินเรา (ฉันทำงานที่ ClusterHQ) มี Flocker ทำงานเกี่ยวกับ CoreOS ที่ใช้ Amazon EBS coreos.com/blog/Flocker-on-CoreOS-Linux
Stephen Nguyen

คำตอบ:


9

เราได้ปรับใช้การตั้งค่าที่คล้ายกันกับ Atomic ( http://www.projectatomic.io/ ) แทนที่จะเป็น CoreOS กับระบบจัดเก็บข้อมูล GlusterFS ที่ไม่กระจายแบบจำลองด้วยชุด replica-2 สามชุด มันใช้งานได้ดีมาก

อย่างไรก็ตามคุณต้องคำนึงถึงคุณสมบัติพิเศษบางอย่างของ GlusterFS ไว้ในใจ เช่นเดียวกับที่ Brian ได้กล่าวไปแล้ว Gluster ให้ความมั่นคงและความน่าเชื่อถือเหนือสิ่งอื่นใด ยิ่งมีการเปลี่ยนแปลงเกิดขึ้นบ่อยครั้งยิ่งมีการจำลองข้อมูลมากขึ้น สิ่งนี้ให้ความสำคัญเป็นอย่างมากและฉันหมายถึงความกดดันบนระบบของคุณ

ระวังว่าระบบย่อย IO ของคุณนั้นรวดเร็ว (ดูแล้วเป็นที่เก็บข้อมูล) เชื่อมต่อโหนด Gluster ของคุณด้วยการเชื่อมต่อเครือข่ายที่เร็วที่สุด หากคุณมีเพียง GBit รวม! สุดท้าย แต่ไม่ท้ายสุดระบบจัดเก็บข้อมูลต้องมีพลังในการคำนวณที่รุนแรง Gluster ทำการคำนวณจำนวนมากเพื่อตรวจสอบสถานะของมัน ที่ถูกกล่าวถึงแม้ภายใต้ภาระที่สูง Gluster ก็มอบ

ทบทวนกลยุทธ์ MySQL ของคุณ Gluster ทำการจำลองแบบสำหรับคุณและยังให้การเรียงลำดับของการโหลดบาลานซ์ในการจัดส่ง จริง ๆ แล้วมันอาจจะเร็วกว่าที่จะใช้ Gluster


5

การใช้ glusterfs จะขึ้นอยู่กับแบ็กเอนด์หน่วยเก็บข้อมูลที่คุณใช้ ในฐานะที่เป็นระบบไฟล์คลัสเตอร์มันมีจุดประสงค์ในการจัดเก็บทางกายภาพของคลัสเตอร์เพื่อให้ปรากฏเป็นไดรฟ์ข้อมูลต่อเนื่องขนาดใหญ่หนึ่งรายการ คู่มือเริ่มต้นใช้งานอย่างเป็นทางการนี้มีคำอธิบายที่ดีเกี่ยวกับกระบวนการ

ในกรณีที่การตั้งค่าของคุณใช้เซิร์ฟเวอร์หน่วยเก็บข้อมูลแบ็กเอนด์สองตัวหรือมากกว่านั้นหรือสิ่งที่คล้ายกันเพื่อจัดเก็บไดรฟ์ข้อมูลของนักเทียบท่าทั้งหมดจากนั้นใช้ glusterfs หรือระบบไฟล์แบบขนานอื่น ๆ ที่คล้ายกัน หากเป็นกรณีนี้คุณอาจพิจารณาใช้Lusterซึ่งใช้กันอย่างแพร่หลายเป็นระบบไฟล์แบบขนานในชุมชน HPC

จากที่กล่าวมาการปรับแก้จุดบกพร่องและการตั้งค่าระบบไฟล์แบบขนาน / คลัสเตอร์สามารถใช้เวลานานซึ่งต้องใช้ความเชี่ยวชาญความอดทนและบางครั้งก็เต็มใจที่จะเริ่มต้นใหม่ตั้งแต่ต้น จะต้องระมัดระวังเพื่อให้แน่ใจว่าประสิทธิภาพการทำงานที่เป็นประโยชน์ต่อข้อเสนอระบบไฟล์คู่ขนานนั้นคุ้มค่ากับจำนวนของความพยายามที่จำเป็นในการติดตั้งและบำรุงรักษา

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