ระบบไฟล์แบบกระจายซึ่งเป็นแบ็กเอนด์สำหรับ Cloud Computing


11

ฉันมีคลาวด์พื้นฐานที่ทำงานบนเซิร์ฟเวอร์ Ubuntu (9.04) และยูคาลิปตัส Walrus (Eucalyptus 'การใช้งาน API ที่เข้ากันได้กับ API ของ API) จัดเก็บไฟล์โดยบนคอนโทรลเลอร์คลาวด์ อย่างไรก็ตามเซิร์ฟเวอร์ 4 ตัวแต่ละตัวมีพื้นที่เก็บข้อมูล 1TB ซึ่งส่วนใหญ่ไม่ได้ใช้ ฉันกำลังมองหาวิธีที่จะรวมที่เก็บข้อมูลทั้งหมดเข้าด้วยกันเพื่อใช้ประโยชน์จากทรัพยากรที่มีอยู่ทั้งหมด ฉันดูตัวเลือกต่างๆมากมายเช่น PVFS, Luster, HDFS (Hadoop)

ข้อกำหนดเพียงอย่างเดียวของฉันคือต้องปรับขนาดได้และทำงานได้ดีบน Ubuntu ฉันขอขอบคุณที่ได้ยินจากทุกคนที่มีประสบการณ์เกี่ยวกับเทคโนโลยีดังกล่าวและฉันหวังว่าจะได้รับฟังข้อเสนอแนะของคุณ


ถ้าไม่จำเป็นต้องเป็น Ubuntu ฉันจะบอกว่า ZFS
Brad Gilbert

3
ยกเว้นว่า ZFS ไม่ใช่ระบบไฟล์แบบคลัสเตอร์
MarkR

คำตอบ:


5

ขณะที่ฉันยังไม่ได้ดำเนินการเองได้ทุกที่ในระบบของเราผมได้ดูสวยอย่างกว้างขวางที่Gluster ฉันรู้ว่ามีคนไม่กี่คนในไซต์ขนาดใหญ่บางแห่งที่ใช้สิ่งนี้และดูเหมือนว่าจะทำงานได้ดีจริงๆ พวกมันใช้ในการผลิตสำหรับแอพพลิเคชั่น HPC ที่ใช้งานหนักบางตัว


2

GlusterFS ดูเหมือนจะเป็นทางออกที่ดีสำหรับฉัน สำหรับผู้ชายที่อ้างว่า Gluster ใช้ความพยายามอย่างมากในการตั้งค่าฉันต้องบอกว่าเขาอาจไม่เคยลอง ในฐานะของ Gluster 3.2 ยูทิลิตีการตั้งค่าคอนฟิกนั้นยอดเยี่ยมมากและใช้เวลา 2 หรือ 3 คำสั่งในการเพิ่มและแชร์ข้อมูลบนเครือข่าย ปริมาณการติดตั้ง gluster นั้นง่ายพอ ๆ กัน

ในด้านบวกมันยังช่วยให้คุณมีความยืดหยุ่นมากกว่า NFS มันไม่สตริปสัมพัทธ์ georeplication เป็นไปตาม POSIX แน่นอนและ มีส่วนขยายที่เรียกว่า HekaFS ซึ่งเพิ่ม SSL และกลไกการพิสูจน์ตัวตนขั้นสูงซึ่งน่าสนใจสำหรับการประมวลผลแบบคลาวด์ นอกจากนี้ยังปรับขนาด! มันเป็น F / OSS และได้รับการพัฒนาโดย RedHat ที่เพิ่งซื้อ Gluster


1

คุณเคยดู mogileFS บ้างไหม? http://danga.com/mogilefs/

มันไม่ใช่ระบบไฟล์ในแบบดั้งเดิม แต่เป็นการดีสำหรับการกระจายข้อมูลไฟล์ข้ามคลัสเตอร์ (ด้วยการจำลองแบบและการคำนวณซ้ำซ้อน

หากคุณกำลังแสดงไฟล์สำหรับแอปพลิเคชันเว็บคุณจะต้องมีสิ่งที่จะให้บริการไฟล์ ฉันจะแนะนำสคริปต์ PHP ที่ใช้การร้องขอ HTTP เป็นคีย์การค้นหาเพื่อค้นหาไฟล์ที่คุณต้องการใน mogile FS จากนั้นคุณสามารถอ่านเนื้อหาของไฟล์ลงในบัฟเฟอร์และ echo / พิมพ์ออกมา

MogileFS ค่อนข้างเร็วแล้ว แต่คุณสามารถรวม mogileFS กับ memcache เพื่อเร่งความเร็วในการเข้าถึงไฟล์ที่ใช้บ่อยที่สุด


ฉันดูเหมือนจะจำได้ว่า MogileFS มีจุดล้มเหลวเพียงจุดเดียวในกรณีของโหนดข้อมูลเมตา HDFS มีปัญหาที่คล้ายกัน
David Pashley

MogileFS ดูเหมือนน่าสนใจทีเดียวและการจำลองแบบและความซ้ำซ้อนนั้นเหมาะอย่างยิ่ง แต่ดูเหมือนว่าจะไม่เหมาะสำหรับการใช้งานทั่วไปเนื่องจากแอปพลิเคชันต้องทราบว่ากำลังทำงานอยู่ ระบบไฟล์แบบดั้งเดิมมากขึ้นโดย applcations สามารถเป็นผู้ไม่เชื่อเรื่องพระเจ้า FS จะเหมาะกว่า
Jaunty

1
MogileFS สามารถมีตัวติดตามหลายตัวที่ทำงานอยู่และคุณสามารถมี mysql ที่ล้มเหลวได้ที่แบ็กเอนด์ วิธีนี้คุณสามารถลบจุดล้มเหลวทั้งหมดเดียว
davidsheldon

1

ด้วยความมันวาวคุณจะต้องมีเคอร์เนลพิเศษบนเซิร์ฟเวอร์และฉันจะมีเซิร์ฟเวอร์ที่เป็นเซิร์ฟเวอร์เท่านั้นและไม่มีอะไรอื่นอีก

คำตอบที่มีเหตุผลที่สุดก็คือ NFS เราใช้ NFS บนคลาวด์ของ Amazon อาจไม่ปรับขนาดได้เช่นเดียวกับระบบไฟล์บางอย่าง แต่ฉันไม่ควรมองข้ามความเรียบง่าย พื้นที่ชื่อเดียวอาจไม่คุ้มค่ากับความพยายามที่จะนำไปใช้


1

คุณยังคงมองหา HDFS อยู่หรือไม่? หนึ่งในพวก Cloudera ได้พูดคุยกับ VelocityCon ในปีนี้เกี่ยวกับ Hadoop และ HDFS ที่มุ่งเน้นการจัดการกลุ่มข้อมูลขนาดใหญ่ดังนั้นเขาจึงพูดคุยเกี่ยวกับ HDFS ค่อนข้างน้อย สไลด์เป็นข้อมูลที่ค่อนข้างสวย ฉันไม่ได้ทำงานกับ HDFS เป็นการส่วนตัว แต่ฉันได้พูดคุยกับคนที่ Velocity ที่ใช้มันบน Ubuntu เพื่อทำการวิเคราะห์ข้อมูลต่างๆ


1

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

ทางออกที่ง่ายที่สุดน่าจะเป็น NFS เพราะสิ่งนี้จะได้รับการสนับสนุนโดยการกระจายสิ่งที่คุณกำลังเรียกใช้ NFS สามารถทำงานได้ดีพอ ๆ กับระบบไฟล์แบ็กเอนด์ virtualation แม้ว่ามันจะไม่ใช่สิ่งที่เร็วที่สุด

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

นอกเหนือจากนั้นคุณเริ่มเข้าสู่ช่วงของสิ่งต่างๆเช่น Luster, Glusterfs, GPFS และอื่น ๆ สิ่งเหล่านี้เป็นระบบไฟล์แบบขนานที่มีประสิทธิภาพสูง แต่ต้องการการตั้งค่ามากกว่าตัวเลือกอื่น ๆ ที่นี่ หากคุณมีสภาพแวดล้อมขนาดใหญ่อาจคุ้มค่าที่จะดู


1

ฉันเห็นด้วยกับ @ larsks ใน NFS นั้นเป็นตัวเลือกที่ดีที่สุด ตั้งค่าเป้าหมาย iSCSI, NFS, เสร็จแล้ว สิ่งนี้จะขยายไปเป็นประมาณ 5-10 โหนด YMMV ขึ้นอยู่กับ I / O ความสามารถเครือข่าย ฯลฯ (หรือตั้งค่า iSCSI ด้วยการสนับสนุนมัลติพา ธ I / O)

ถ้าคุณต้องการบางสิ่งบางอย่างเกี่ยวกับ 20 โหนดคุณอาจต้องการตรวจสอบCeph ความแวววาวเป็นสิ่งที่สัญญาและมีเสถียรภาพ แต่เป็นผลิตภัณฑ์ของออราเคิล (F / OSS) และฉันไม่ชอบกับ Oracle เป็นส่วนตัว :)

Ceph นั้นค่อนข้างคล่องแคล่ว รุ่นล่าสุดคือ 5 วันที่ผ่านมา


ความมันวาวไม่ได้อยู่ภายใต้ร่มของ Oracle อีกต่อไป ดูwhamcloud.com
utopiabound

1

XtreemFSอาจเป็นทางออกสำหรับคุณ มันค่อนข้างง่ายในการติดตั้งและกำหนดค่านอกจากนี้ยังมีแพ็คเกจสำหรับ Ubuntu


1

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


0

ไม่แน่ใจว่าสิ่งที่คุณทำ แต่เสียงนี้เหมือนโปรแกรมที่น่าสนใจที่อาจเกิดขึ้นสำหรับCouchDB


0

คุณสามารถลองPVFS2ได้ การตั้งค่าง่ายกว่า Luster มากและโดยทั่วไปเร็วกว่า Gluster


เร็วกว่า Gluster ไหม? คุณสามารถแบ่งปันข้อมูลเกี่ยวกับประสิทธิภาพได้หรือไม่
John-ZFS

ฉันไม่มีมาตรฐานล่าสุดอยู่ในมือ ย้อนกลับไปในปี 2008 Gluster ช้ากว่า Luster มากในขณะที่ PVFS2 ช้ากว่าเล็กน้อย มันอาจจะแตกต่างกันไปในทุกวันนี้บางทีฉันอาจจะเปรียบเทียบสิ่งนี้
wazoox

ขอบคุณถ้าคุณทำเกณฑ์มาตรฐานโปรดแจ้งให้เราทราบ maruti.j@gmail.com หรือคุณอาจโพสต์บน serverfault เพื่อผลประโยชน์ของทุก ๆ คน
John-ZFS
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.