Saya Mengubah Penyimpanan Cloud Murah Menjadi Drive Lokal 1PB (Dengan JuiceFS)
BBetter Stack
컴퓨터/소프트웨어AI/미래기술
Transcript
00:00:00Ini adalah Juice.FS. Ini adalah sistem berkas terdistribusi sumber terbuka berkinerja tinggi yang dirancang untuk memberikan skalabilitas tak terbatas dari penyimpanan objek cloud dengan fungsionalitas penuh dan kecepatan sistem berkas lokal.
00:00:14Dalam video ini, kita akan melihat Juice.FS, melihat cara kerjanya, dan saya akan menunjukkan bagaimana Anda dapat mengatur solusi penyimpanan jaringan (NAS) lokal berkinerja tinggi Anda sendiri dengan Juice.FS.
00:00:24Ini akan sangat menyenangkan, jadi mari kita mulai.
00:00:30Penyimpanan objek standar seperti S3, Google Cloud Storage, atau Backblaze B2 sangat hemat biaya, namun berinteraksi dengannya biasanya memerlukan API khusus atau alat khusus yang merusak alur kerja aplikasi tradisional.
00:00:48Juice.FS bertindak sebagai lapisan abstraksi transparan.
00:00:51Ini memisahkan data Anda dari metadata, mendorong bongkahan data mentah langsung ke penyedia cloud Anda sambil mengelola tata letak sistem berkas, izin, dan struktur direktori di dalam basis data cepat seperti Redis, Postgres, atau TIKV.
00:01:07Apa yang membuat Juice.FS benar-benar berbeda dari gerbang cloud tradisional atau berbagi berkas jaringan standar adalah pemisahan arsitektur yang ketat ini dan mesin caching multi-tingkat yang agresif.
00:01:19Daripada memaksa aplikasi Anda menunggu permintaan jaringan cloud dengan latensi tinggi setiap kali berkas diakses,
00:01:26Juice.FS memecah berkas menjadi blok-blok kecil yang dioptimalkan dan memanfaatkan partisi NVMe atau SSD lokal sebagai ruang awal (scratch space) panas.
00:01:35Pertama kali sebuah aplikasi membaca atau menulis data, ia berkomunikasi melalui jaringan, tetapi saat data tersebut diminta untuk kedua kalinya, ia melayani secara instan dari penyimpanan lokal dengan kecepatan perangkat keras.
00:01:47Ini memungkinkan aplikasi lama, basis data, pembelajaran mesin, jalur pelatihan, dan lingkungan kontainer berjalan langsung di atas penyimpanan objek tanpa perlu menulis ulang satu baris kode pun.
00:01:59Kedengarannya hebat, tapi mari kita uji sendiri dan lihat cara kerjanya.
00:02:04Jadi untuk demo ini, saya akan menyiapkan penyimpanan jaringan lokal atau NAS, yang akan menampung semua data saya di bucket S3 jarak jauh saya sendiri dan akan menggunakan Redis sebagai mesin metadata kita.
00:02:16Hal pertama yang ingin Anda lakukan adalah menjalankan instance Redis dengan Docker dan Anda dapat melakukannya dengan mudah menggunakan perintah ini.
00:02:24Dan kemudian kita perlu menginisialisasi sistem berkas dengan menjalankan perintah format juice.FS.
00:02:29Langkah ini memberi tahu juice.FS cara tepat untuk memetakan basis data kita ke bucket penyimpanan kita.
00:02:34Kita memasukkan string koneksi Redis, nama bucket AWS S3, dan kredensial akses cloud kita.
00:02:41Namun sebelum melakukan semua itu, pastikan Anda telah membuat bucket S3 serta kunci akses dan kunci rahasia sebelum menjalankan perintah ini.
00:02:48Saya sudah membuat milik saya sebelumnya.
00:02:50Jadi sekarang saat saya menjalankannya, juice.FS belum benar-benar mengubah apa pun di dalam bucket S3 kita.
00:02:56Ini hanya mengonfigurasi skema penyimpanan di dalam Redis dan memberikan UUID unik ke sistem berkas virtual baru kita.
00:03:03Dan setelah langkah format selesai, kita memasang (mount) perangkat ke mesin lokal kita menggunakan perintah mount juice.FS.
00:03:10Kita mengarahkan juice.FS ke instance Redis kita dan memberikan jalur direktori lokal.
00:03:15Dalam kasus saya, sebuah folder di dalam direktori home saya.
00:03:18Dan sebelum Anda menjalankan ini, ada peringatan penting.
00:03:21Jika Anda menggunakan Mac, karena Mac OS tidak mendukung sistem berkas kustom secara bawaan, Anda perlu menginstal utilitas ekstensi kernel bernama Mac Fuse terlebih dahulu.
00:03:30Ini menyediakan kait perangkat lunak dasar yang dibutuhkan juice.FS untuk berkomunikasi dengan sistem operasi Mac.
00:03:37Dan kemudian saya juga memberikan flag ini dengan rasio ruang bebas, karena secara default, itu mengaturnya ke 20% dari drive Anda, yang cukup tinggi.
00:03:47Dan pada dasarnya ini memberi tahu juice.FS bahwa jika drive lokal yang menampung cache Anda turun di bawah persentase tertentu dari total kapasitasnya,
00:03:55itu perlu berhenti menulis berkas cache baru dan mulai secara agresif menghapus blok terlama yang paling jarang diakses.
00:04:01Ini menjaga sistem operasi lokal Anda agar tidak kehabisan ruang disk.
00:04:05Baiklah.
00:04:06Jadi sekarang mari kita jalankan perintah ini.
00:04:07Dan saat dieksekusi, sistem operasi mendaftarkan mount sistem berkas yang kompatibel dengan POSIX standar.
00:04:15Dan bagi komputer, itu tampak seperti kita baru saja mencolokkan hard drive eksternal besar dengan satu terabyte ruang yang tersedia.
00:04:23Dan sekarang saya dapat dengan mudah menyeret berkas ke direktori ini seperti drive eksternal.
00:04:28Dan jika kita sekarang pergi ke dasbor bucket S3, kita melihat bahwa juice.FS telah menyimpan berkas kita dan membaginya menjadi bongkahan data.
00:04:37Dan semua ini terjadi di balik layar dan kita tidak perlu melakukan pekerjaan berat apa pun.
00:04:42Dan untuk menunjukkan cara kerja caching, kita akan mematok tolak ukur sistem berkas menggunakan perintah terminal klasik DD.
00:04:49Jadi jika Anda belum pernah menggunakan DD, itu adalah utilitas bawaan yang digunakan untuk penyalinan data mentah.
00:04:55Dan dalam perintah khusus ini, 'if' berarti 'input file', yang mengarah ke salah satu berkas video besar yang saya tambahkan ke drive juice.FS kita.
00:05:03Dan 'of' berarti 'output file'.
00:05:06Dan kita mengarahkan data ini langsung ke dev/null, yang merupakan lubang hitam di sistem operasi kita yang membuang data secara instan karena kita tidak benar-benar menyalin datanya.
00:05:17Kita hanya melakukan tolak ukur dalam contoh ini.
00:05:19Dan kita juga mengatur ukuran blok ke empat megabyte agar sesuai dengan cara juice.FS mengiris bongkahan data.
00:05:25Dan akhirnya, kita mengawali seluruh baris dengan utilitas waktu sehingga kita bisa melihat dengan tepat berapa lama transfer berkas berlangsung.
00:05:32Dan pertama kali kita menekan enter, ini yang disebut dengan cold read (pembacaan dingin) karena berkas baru saja diunggah.
00:05:38Mesin lokal kita belum memiliki salinannya.
00:05:41Jadi juiceFS harus menjangkau melalui Internet ke bucket S3 kita, mengambil semua bongkahan data empat megabyte itu satu per satu dan mengalirkannya ke bawah.
00:05:50Dan pada koneksi saya, proses pertama membutuhkan waktu, seperti yang Anda lihat, cukup lama.
00:05:55Tapi perhatikan apa yang terjadi ketika kita menjalankan perintah yang persis sama untuk kedua kalinya.
00:05:59Boom.
00:06:00Itu dia.
00:06:01Perintah terminal kembali hampir seketika.
00:06:03Proses kedua memakan waktu kurang dari satu detik karena sekarang sudah ada di cache kita dan kita membacanya secara organik.
00:06:10Jadi begitulah cara kerja mesin caching multi-tingkat dalam praktiknya.
00:06:14Saat juiceFS sibuk mengunduh bongkahan-bongkahan tersebut selama proses pertama, ia diam-diam menyalinnya ke dalam disk awal NVMe lokal kita.
00:06:22Tetapi pada proses kedua, sistem sepenuhnya melewati Internet, menarik data langsung dari kecepatan garis perangkat keras lokal.
00:06:29Jadi Anda mendapatkan kapasitas penyimpanan cloud yang murah dan tak terbatas dikombinasikan dengan kecepatan latensi nol dari drive lokal.
00:06:37Jadi dalam demo ini, saya menggunakan berkas video untuk menunjukkan fungsionalitasnya, tetapi ini berlaku untuk hampir semua skenario infrastruktur dunia nyata.
00:06:45Jika Anda seorang insinyur DevOps yang mengelola lingkungan kontainer, Anda cukup menggunakan juiceFS untuk menyediakan penyimpanan persisten bersama di seluruh klaster Kubernetes.
00:06:54Dan daripada membayar untuk penyimpanan blok cloud yang mahal untuk setiap node, semua pod Anda dapat memasang volume juiceFS yang sama secara bersamaan.
00:07:03Berbagi berkas konfigurasi, aset aplikasi, atau unggahan pengguna secara global sambil menjaga biaya tetap sangat rendah.
00:07:10Dan itu juga merupakan kemenangan besar bagi pipa pembelajaran mesin dan data sains.
00:07:14Karena jika Anda memiliki kumpulan data yang sangat besar, katakanlah ratusan gigabyte gambar pelatihan atau data teks yang duduk di bucket S3, melatih model ML biasanya memerlukan pengunduhan seluruh kumpulan data itu secara lokal terlebih dahulu, yang membuang-buang waktu dan ruang penyimpanan.
00:07:30Tetapi dengan juiceFS, skrip pelatihan Anda dapat mulai berjalan secara instan.
00:07:35Pipa membaca data secara berurutan melalui mount dan juiceFS menangani streaming throughput tinggi dan caching lokal di latar belakang, menjaga GPU Anda tetap jenuh tanpa hambatan penyimpanan lokal.
00:07:49Dan ada satu hal keren lagi yang ingin saya tunjukkan.
00:07:51Anda juga dapat dengan mudah menghubungkan metrik ke sistem berkas Anda dengan Better Stack.
00:07:55Setiap kali Anda memasang volume juiceFS, ia secara diam-diam menjalankan server metrik yang kompatibel dengan Prometheus di latar belakang.
00:08:03Jika Anda membuka browser dan pergi ke URL ini, Anda dapat melihat semua metrik di sini dalam teks biasa, yang melacak setiap hit cache, durasi baca, dan kesalahan permintaan S3 secara real time.
00:08:13Dan untuk menyalurkan data telemetri ini langsung ke dasbor kita, kita dapat menggunakan fitur scraping Prometheus bawaan Better Stack.
00:08:21Pertama, kita perlu pergi ke sumber dan menghubungkan juiceFS kita sebagai sumber.
00:08:25Dan mari pilih Prometheus scrape dari tab metrik dan klik hubungkan sumber.
00:08:31Sekarang kita perlu memasukkan log kita.
00:08:33Namun sebelum kita melakukannya, kita perlu membuka terowongan publik yang aman ke port metrik lokal kita menggunakan alat seperti ngrok dan kemudian tempel URL ngrok kita.
00:08:43Namun agar berfungsi dengan ngrok, kita juga perlu pergi ke opsi lanjutan dan menambahkan header HTTP kustom bernama “ngrok-skip-browser-warning” dan mengaturnya ke true.
00:08:53Dan ini memberi tahu ngrok untuk melewati halaman peringatan sepenuhnya, memungkinkan Better Stack untuk mengambil metrik mentah dengan aman setiap beberapa detik.
00:09:01Dan sekarang metrik kita seharusnya mulai masuk secara otomatis.
00:09:05Dan izinkan saya menunjukkan bagian paling keren.
00:09:07Jika kita sekarang pergi ke AI SRE Better Stack, kita bisa meminta AI SRE untuk membuatkan kita dasbor yang memantau kinerja cache atau latensi dan throughput sistem kita.
00:09:19Dan dalam beberapa detik, AI SRE akan membuatkan kita dasbor cantik kustom dengan semua metrik yang masuk dari juiceFS.
00:09:27Dan kita juga bisa melihat bahwa itu diperbarui secara real time.
00:09:32Jadi seberapa keren itu?
00:09:34Jadi saya harap demo kecil ini menunjukkan kepada Anda betapa kuatnya juiceFS jika Anda menggabungkannya dengan pemantauan infrastruktur modern.
00:09:41Kita berhasil mengambil bucket penyimpanan cloud standar yang murah, mengubahnya menjadi drive lokal yang dapat diskalakan secara tak terbatas yang beroperasi pada kecepatan garis perangkat keras dan menghubungkannya ke dasbor observabilitas yang sepenuhnya otomatis hanya dalam beberapa menit.
00:09:57Jadi itu dia, teman-teman.
00:09:58Itulah juiceFS secara singkat.
00:10:00Apa pendapat Anda tentang juiceFS?
00:10:02Sudahkah Anda mencobanya?
00:10:03Apakah Anda akan menggunakannya?
00:10:04Beri tahu kami di kolom komentar di bawah.
00:10:06Dan teman-teman, jika Anda menyukai jenis perincian teknis ini, beri tahu saya dengan menekan tombol suka di bawah video.
00:10:12Dan jangan lupa untuk berlangganan saluran kami.
00:10:15Ini adalah Andrus dari Better Stack, dan sampai jumpa di video berikutnya.
Community Posts
No posts yet. Be the first to write about this video!
Write about this video