Saya memiliki cloud dasar yang berjalan di Ubuntu Server (9.04) dan Eucalyptus. Walrus (implementasi S3 yang kompatibel dengan API Eucalyptus) menyimpan file melalui pengontrol cloud. Namun masing-masing dari 4 server lainnya memiliki penyimpanan 1TB yang sebagian besar tidak digunakan. Saya mencari cara untuk menyatukan semua penyimpanan bersama untuk memanfaatkan semua sumber daya yang tersedia. Saya telah mencari-cari berbagai pilihan termasuk PVFS, Lustre, HDFS (Hadoop).
Satu-satunya syarat saya adalah bahwa itu harus scalable dan berjalan dengan baik di Ubuntu. Saya akan sangat menghargai mendengar dari siapa pun yang memiliki pengalaman dengan teknologi seperti itu dan saya berharap dapat mendengar saran Anda.
Jawaban:
Walaupun saya belum menerapkannya secara pribadi di sistem kami, saya telah melihat Gluster secara luas . Saya kenal beberapa orang di beberapa situs besar yang menggunakan ini dan ternyata berfungsi sangat baik. Mereka menggunakannya dalam produksi untuk beberapa aplikasi HPC tugas berat.
sumber
GlusterFS akan tampak seperti solusi ideal bagi saya. Untuk orang yang mengklaim bahwa Gluster membutuhkan banyak upaya untuk mengatur, saya harus mengatakan bahwa dia mungkin tidak pernah mencoba. Pada Gluster 3.2, utilitas konfigurasi sangat mengagumkan dan dibutuhkan 2 atau 3 perintah untuk meningkatkan volume glitter dan berbagi di jaringan. Mounting gluster volume juga sederhana.
Di sisi positifnya, ini juga memberi Anda lebih banyak fleksibilitas daripada NFS. Itu striping, relication, georeplication, tentu saja POSIX compliant dan sebagainya. Ada ekstensi yang disebut HekaFS, yang juga menambahkan SSL dan mekanisme Otentikasi yang lebih maju, yang mungkin menarik untuk komputasi awan. Juga timbangan! Ini adalah F / OSS dan sedang dikembangkan oleh RedHat yang baru saja membeli Gluster.
sumber
Pernahkah Anda melihat mogileFS? http://danga.com/mogilefs/
Ini bukan sistem file dalam arti tradisional, tetapi itu baik untuk mendistribusikan data file di seluruh cluster (dengan replikasi dan redundansi diperhitungkan).
Jika Anda menyajikan file untuk aplikasi web, Anda perlu sesuatu untuk melayani file. Saya akan menyarankan skrip PHP yang menggunakan permintaan HTTP sebagai kunci pencarian untuk menemukan file yang Anda inginkan di mogile FS. Anda kemudian dapat membaca isi file ke dalam buffer dan menggema / mencetaknya.
MogileFS sudah cukup cepat, tetapi Anda dapat menggabungkan mogileFS dengan memcache untuk mempercepat akses ke file yang paling umum digunakan.
sumber
Dengan Lustre Anda harus memiliki kernel khusus di server, dan saya hanya akan menjadikan server sebagai server dan bukan yang lain.
Anehnya jawaban yang paling waras adalah NFS. Kami telah menggunakan NFS di cloud Amazon. Ini mungkin tidak skala serta beberapa sistem file tetapi kesederhanaan seharusnya tidak saya abaikan. Satu ruang nama mungkin tidak sebanding dengan upaya yang diperlukan untuk mengimplementasikannya.
sumber
Apakah Anda masih mencari HDFS? Salah satu anggota Cloudera memberikan ceramah di VelocityConf tahun ini tentang Hadoop dan HDFS yang berfokus pada pengelolaan kelompok data besar, jadi dia berbicara sedikit tentang HDFS. Slide cukup informatif. Saya belum pernah bekerja dengan HDFS secara pribadi, tetapi saya berbicara dengan beberapa orang acak di Velocity yang menggunakannya di Ubuntu untuk melakukan berbagai analisis data.
sumber
Menempatkan semacam sistem file bersama di belakang lingkungan virtualisasi adalah hal yang cukup umum. Anda memiliki banyak pilihan, tergantung pada apa yang ingin Anda capai.
Solusi paling sederhana mungkin NFS, karena ini akan didukung secara native oleh distribusi apa pun yang Anda jalankan. NFS dapat bekerja dengan cukup baik sebagai sistem file backend virtualisasi, meskipun itu tidak akan menjadi yang tercepat di luar sana.
Jika Anda menjalankan cluster RedHat (atau turunan), Anda akan memiliki dukungan out-of-the-box yang bagus untuk GFS2, sistem file cluster RedHat. Ini tidak meningkatkan skala hingga ratusan node, tetapi tidak masalah untuk cluster yang lebih kecil.
Di luar itu, Anda mulai memasuki berbagai hal seperti Lustre, Glusterfs, GPFS, dan sebagainya. Ini semua adalah sistem file paralel kinerja tinggi, tetapi mereka membutuhkan pekerjaan yang lebih banyak untuk diatur daripada opsi lain di sini. Jika Anda memiliki lingkungan yang besar, mereka mungkin layak untuk dilihat.
sumber
Saya setuju dengan @ larsks bahwa NFS adalah pilihan terbaik; mengatur beberapa target iSCSI, NFS, selesai. skala ini akan mencapai sekitar 5-10 node; YMMV berdasarkan pada I / O, kemampuan jaringan, dll. (Atau, atur iSCSI dengan dukungan I / O multipath).
Jika Anda membutuhkan sekitar 20+ node, Anda mungkin ingin menyelidiki Ceph . Lustre menjanjikan dan stabil, tetapi merupakan produk Oracle (F / OSS) dan saya memiliki ketidaksukaan pribadi terhadap Oracle. :)
Ceph juga cukup aktif; rilis terbaru adalah 5 hari yang lalu.
sumber
XtreemFS bisa menjadi solusi untuk Anda. Cukup mudah untuk menginstal dan mengkonfigurasi, ada juga paket untuk Ubuntu.
sumber
MooseFS (Sistem File Terdistribusi) sesuai dengan kebutuhan Anda. Ini scalable dan berfungsi dengan baik di Ubuntu. Mungkin juga berguna bagi Anda untuk melihat cara menginstal menginstal / memperbarui MooseFS dari repositori yang didukung secara resmi di Ubuntu .
sumber
Tidak yakin apa yang Anda lakukan, tetapi ini terdengar seperti aplikasi yang berpotensi menarik untuk CouchDB .
sumber
Anda dapat mencoba PVFS2 . Jauh lebih mudah diatur daripada Lustre, dan umumnya lebih cepat dari Gluster.
sumber