GNU/Linux >> Belajar Linux >  >> Linux

Seberapa stabil s3fs untuk memasang bucket Amazon S3 sebagai direktori lokal

Ada artikel bagus tentang s3fs di sini, yang setelah membaca saya beralih ke EBS Share.

Ini menyoroti beberapa pertimbangan penting saat menggunakan s3fs, yaitu terkait dengan keterbatasan bawaan S3:

  • tidak boleh ada file yang berukuran lebih dari 5 GB
  • Anda tidak dapat memperbarui sebagian file, jadi mengubah satu byte akan mengunggah ulang seluruh file.
  • operasi pada banyak file kecil sangat efisien (masing-masing adalah objek S3 yang terpisah) tetapi file besar sangat tidak efisien
  • Meskipun S3 mendukung unduhan sebagian/terpotong, s3fs tidak memanfaatkan ini, jadi jika Anda ingin membaca hanya satu byte dari file 1 GB, Anda harus mengunduh seluruh GB.

Karena itu tergantung pada apa yang Anda simpan apakah s3fs adalah opsi yang layak. Jika Anda menyimpan, katakanlah, foto, di mana Anda ingin menulis seluruh file atau membaca seluruh file tidak pernah mengubah file secara bertahap, maka tidak apa-apa, meskipun orang mungkin bertanya, jika Anda melakukan ini, mengapa tidak menggunakan S3 saja API Langsung?

Jika Anda berbicara tentang data aplikasi, (katakanlah file basis data, file logging) di mana Anda ingin membuat perubahan kecil secara bertahap maka itu pasti tidak - S3 Hanya tidak berfungsi seperti itu Anda tidak dapat mengubah file secara bertahap.

Artikel yang disebutkan di atas berbicara tentang aplikasi serupa - s3backer - yang mengatasi masalah kinerja dengan menerapkan sistem file virtual melalui S3. Ini mengatasi masalah kinerja tetapi memiliki beberapa masalah sendiri:

  • Risiko tinggi untuk kerusakan data, karena penulisan tertunda
  • ukuran blok yang terlalu kecil (mis., default 4K) dapat menambah biaya tambahan yang signifikan (mis., $130 untuk 50 GB dengan penyimpanan senilai blok 4K)
  • ukuran blok yang terlalu besar dapat menambah biaya transfer dan penyimpanan data yang signifikan.
  • penggunaan memori dapat menjadi penghalang:secara default menyimpan 1.000 blok.
    Dengan ukuran blok 4K default, itu bukan masalah tetapi sebagian besar pengguna
    mungkin ingin menambah ukuran blok.

Saya menggunakan EBS Mounted Drived yang dibagikan dari instans EC2. Tetapi Anda harus tahu bahwa meskipun opsi yang paling berkinerja memiliki satu masalah besar, EBS Mounted NFS Share memiliki masalahnya sendiri - satu titik kegagalan; jika mesin yang berbagi Volume EBS turun maka Anda kehilangan akses di semua mesin yang mengakses bagian tersebut.

Ini adalah risiko yang bisa saya jalani dan merupakan opsi yang saya pilih pada akhirnya. Saya harap ini membantu.


Ini adalah pertanyaan lama jadi saya akan membagikan pengalaman saya selama setahun terakhir dengan S3FS.

Awalnya, ada sejumlah bug dan kebocoran memori (saya punya tugas cron untuk memulai ulang setiap 2 jam) tetapi dengan rilis terbaru 1.73 sudah sangat stabil.

Hal terbaik tentang S3FS adalah Anda tidak perlu khawatir lagi dan mendapatkan beberapa manfaat kinerja secara gratis.

Sebagian besar permintaan S3 Anda adalah PUT (~5%) dan GET (~95%). Jika Anda tidak memerlukan pasca-pemrosesan (misalnya pembuatan gambar mini). Jika Anda tidak memerlukan pasca-pemrosesan apa pun, Anda tidak boleh masuk ke server web terlebih dahulu dan mengunggah langsung ke S3 (menggunakan CORS).

Dengan asumsi Anda menekan server mungkin berarti Anda perlu melakukan beberapa pemrosesan pasca pada gambar. Dengan API S3 Anda akan mengunggah ke server, lalu mengunggah ke S3. Jika pengguna ingin memangkas, Anda harus mengunduh lagi dari S3, lalu mengunggah ulang ke server, memotong, lalu mengunggah ke S3. Dengan mengaktifkan S3FS dan caching lokal, orkestrasi ini akan ditangani untuk Anda dan menghemat pengunduhan file dari S3.

Pada caching, jika Anda melakukan caching ke drive ephemeral di EC2, Anda mendapatkan keuntungan kinerja yang datang tanpa itu dan dapat membersihkan cache Anda tanpa harus mengkhawatirkan apa pun. Kecuali Anda kehabisan ruang disk, Anda seharusnya tidak memiliki alasan untuk membersihkan cache Anda. Hal ini membuat operasi melintasi seperti menelusuri dan memfilter jauh lebih mudah.

Satu hal yang saya harapkan adalah sinkronisasi penuh dengan S3 (gaya RSync). Itu akan menjadikannya versi perusahaan dari DropBox atau Google Drive untuk S3 tetapi tanpa harus bersaing dengan kuota dan biaya yang menyertainya.


Linux
  1. Cara Memasang Saham Windows atau Samba Secara Permanen

  2. Bagaimana Cara Memasang Sistem File, Memetakan Userid?

  3. Cara memasang file iso di Linux

  1. Cara menggunakan autofs untuk memasang share NFS

  2. Cara Menonaktifkan Penjelajahan Direktori

  3. Cara memasang dan memasang sistem file di Linux

  1. Cara Mengunggah File ke Amazon S3

  2. Bagaimana cara mendapatkan direktori absolut dari sebuah file di bash?

  3. Bagaimana cara menghapus file atau direktori bernama \?