Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memahami cara kerja sinkronisasi
File S3 menjaga sistem file Anda dan bucket S3 yang ditautkan disinkronkan secara otomatis. Data yang Anda gunakan secara aktif disalin ke sistem file, sehingga Anda dapat membaca dan menulis file menggunakan operasi file Linux standar pada latensi rendah. File S3 memerlukan Pembuatan Versi S3 untuk diaktifkan pada bucket S3 yang ditautkan. Saat Anda mengedit file pada sistem file, File S3 menyalin perubahan Anda kembali ke bucket S3 sebagai versi baru dari objek yang sesuai, memastikan versi lama dipertahankan. Saat aplikasi lain menambah, memodifikasi, atau menghapus objek di bucket S3 Anda, File S3 secara otomatis mencerminkan perubahan tersebut dalam sistem file Anda. Ketika konflik terjadi karena perubahan bersamaan pada data yang sama di sistem file dan bucket S3, File S3 memperlakukan bucket S3 sebagai sumber kebenaran jika terjadi konflik.
Untuk mengoptimalkan biaya penyimpanan, File S3 menghapus data yang belum Anda gunakan baru-baru ini dari sistem file. Data Anda tetap disimpan dengan tahan lama di bucket S3 yang ditautkan dan diambil kembali ke sistem file saat Anda mengaksesnya lagi.
Bucket S3 dapat diakses melalui sistem file
Setelah membuat sistem file S3, Anda dapat memasang bucket S3 pada sumber daya komputasi dan langsung mulai mengakses data bucket S3. Secara default, saat Anda pertama kali mengakses direktori dengan mencantumkan isinya atau membuka file di dalamnya, File S3 mengimpor metadata untuk semua file di direktori itu, bersama dengan data untuk file yang lebih kecil dari ambang batas ukuran impor (default 128 KB) dari bucket S3. Akses pertama ke direktori mungkin memiliki latensi yang lebih tinggi, tetapi pembacaan dan penulisan berikutnya secara signifikan lebih cepat. Dengan mengimpor metadata di muka, File S3 memungkinkan Anda untuk menelusuri konten direktori, melihat ukuran file, dan memeriksa izin pada latensi rendah.
Misalnya, ember S3 Anda berisi awalan data/images/ dengan 1.000 objek. Pertama kali Anda menjalankanls /mnt/s3files/data/images/, File S3 mengimpor metadata untuk semua 1.000 file dan secara asinkron menyalin data untuk file di bawah ambang batas ukuran impor ke sistem file. Daftar awal ini mungkin memakan waktu beberapa detik, tetapi perintah berikutnya sepertils -la,stat, atau cat pada file individual dalam direktori itu kembali pada latensi rendah.
Untuk file yang lebih besar dari ambang batas ukuran impor, File S3 hanya mengimpor metadata, sementara data tidak disalin ke sistem file dan sebaliknya dibaca langsung dari bucket S3 saat Anda mengaksesnya. Anda dapat menyesuaikan ambang batas ini agar lebih sesuai dengan beban kerja Anda. Misalnya, Anda dapat meningkatkannya untuk mengimpor lebih banyak data di muka untuk beban kerja yang berulang kali mengakses file yang sama dan mendapat manfaat dari pembacaan latensi rendah. Untuk beban kerja yang mengalirkan data secara berurutan, ambang batas yang lebih rendah bisa lebih hemat biaya, karena manfaat latensi mengimpor data di muka kurang berarti ketika data dibaca secara berurutan dalam potongan besar daripada dalam pembacaan acak kecil. Untuk informasi selengkapnya, lihat Menyesuaikan sinkronisasi untuk File S3.
Perubahan dalam sistem file Anda secara otomatis tercermin dalam bucket S3 Anda
Saat Anda membuat, memodifikasi, atau menghapus file dalam sistem file, File S3 secara otomatis menyalin perubahan tersebut ke bucket S3 Anda. File baru menjadi objek S3 baru, perubahan pada file yang ada menjadi versi objek baru, dan file yang dihapus menjadi penanda hapus S3.
Izin POSIX yang Anda tetapkan pada file dan direktori melalui sistem file, seperti pemilik (UID), grup (GID), dan bit izin, disimpan sebagai metadata objek S3 yang ditentukan pengguna pada objek S3 yang sesuai. Saat Anda mengubah izin menggunakanchmod,, atau chownchgrp, File S3 mengekspor perubahan tersebut ke bucket S3 Anda bersama dengan perubahan data apa pun. Saat File S3 mengimpor objek dari bucket S3 Anda, ia membaca metadata ini dan menerapkan izin POSIX yang sesuai pada sistem file. Objek yang tidak memiliki metadata izin POSIX diberi izin default.
Saat Anda memodifikasi file dalam sistem file, File S3 menunggu hingga 60 detik, menggabungkan setiap perubahan berturut-turut ke file pada waktu itu, sebelum menyalin ke bucket S3 Anda. Ini berarti bahwa penulisan berturut-turut yang cepat ke file yang sama ditangkap dalam satu permintaan PUT S3 daripada menghasilkan versi objek baru untuk setiap perubahan individu, mengurangi biaya permintaan S3 dan biaya penyimpanan Anda. Jika Anda terus memodifikasi file setelah File S3 menyalin perubahan Anda kembali ke bucket S3, itu akan menyalin perubahan berikutnya sesuai kebutuhan.
Misalnya, jika aplikasi membuka file log dan menambahkannya 50 kali selama 30 detik, File S3 mengumpulkan semua 50 lampiran ke dalam satu permintaan PUT S3. Jika aplikasi terus menulis setelah sinkronisasi pertama, File S3 menyalin perubahan tambahan dalam sinkronisasi berikutnya.
Perubahan pada bucket S3 Anda secara otomatis muncul di sistem file Anda
File S3 memantau perubahan dalam bucket S3 Anda menggunakan Pemberitahuan Acara S3. Saat aplikasi lain yang bekerja dengan S3 API menambahkan, memodifikasi, atau menghapus objek di bucket S3 Anda, File S3 secara otomatis mencerminkan perubahan tersebut dalam sistem file untuk file yang datanya saat ini disimpan dalam penyimpanan kinerja tinggi sistem file. File yang datanya telah kedaluwarsa dari sistem file tidak diperbarui hingga saat berikutnya Anda mengaksesnya, di mana S3 Files mengambil versi terbaru dari bucket S3.
Memahami dampak dari mengganti nama dan memindahkan operasi
Amazon S3 menggunakan struktur penyimpanan datar di mana objek diidentifikasi dengan nama kuncinya. Sementara File S3 memungkinkan Anda mengatur data Anda dalam direktori, S3 tidak memiliki konsep asli direktori. Apa yang muncul sebagai direktori dalam sistem file Anda adalah awalan umum yang dibagikan oleh kunci objek dalam bucket S3. Selain itu, objek S3 tidak dapat diubah dan tidak mendukung penggantian nama atom. Akibatnya, ketika Anda mengganti nama atau memindahkan file, File S3 harus menulis data ke objek baru dengan kunci yang diperbarui dan menghapus aslinya. Saat Anda mengganti nama atau memindahkan direktori, File S3 harus mengulangi proses ini untuk setiap objek yang berbagi awalan itu. Oleh karena itu, ketika Anda mengganti nama atau memindahkan direktori yang berisi puluhan juta file, biaya permintaan S3 Anda dan waktu sinkronisasi meningkat secara signifikan.
File S3 mengembalikan kesalahan saat Anda mencoba membuat sistem file yang tercakup ke awalan dengan lebih dari 125 juta objek. Kesalahan ini memberi tahu Anda bahwa operasi penggantian nama atau pemindahan rekursif yang besar dapat memengaruhi kinerja sistem file, karena setiap file memerlukan permintaan tulis dan hapus terpisah ke bucket S3 Anda. Jika Anda masih ingin membuat sistem file yang tercakup ke awalan itu, Anda dapat menambahkan parameternya. --AcceptBucketWarning
Karena File S3 mengganti nama objek satu per satu pada bucket S3, kedua direktori akan terlihat di bucket S3 hingga penggantian nama selesai sepenuhnya. Objek yang ditulis setelah direktori diganti namanya tetapi sebelum penggantian nama itu disinkronkan sepenuhnya tidak akan dipindahkan. Untuk menyederhanakan pekerjaan reorganisasi data, kami sarankan Anda tidak membuat objek baru melalui bucket S3 saat mengganti nama direktori yang cocok.
Misalnya, jika Anda menjalankanmv /mnt/s3files/projects/alpha /mnt/s3files/projects/beta, penggantian nama selesai secara instan pada sistem file. Pada bucket S3, File S3 mulai menyalin dan menghapus setiap objek ke kunci barunya di dalam bucket S3 (mengganti projects/alpha/ awalan denganprojects/beta/) dan menghapus aslinya. Selama proses ini, bucket S3 untuk sementara berisi objek di bawah keduanya projects/alpha/ danprojects/beta/. Setelah semua benda dipindahkan, hanya projects/beta/ tersisa.
Data yang tidak digunakan kedaluwarsa dari sistem file untuk mengoptimalkan penyimpanan
File S3 mengoptimalkan biaya penyimpanan dengan secara otomatis menghapus data file yang belum dibaca baru-baru ini dari sistem file. Data Anda tetap tersimpan dengan aman di bucket S3 Anda. File S3 hanya menghapus salinan dari sistem file. Metadata file, seperti nama, ukuran, dan izin, tidak pernah dihapus dari sistem file sehingga Anda dapat terus menjelajahi sistem file Anda dengan latensi rendah.
Jika file dalam sistem file Anda belum dibaca selama 30 hari (dapat dikonfigurasi) dan perubahannya telah disinkronkan ke bucket S3, File S3 menghapus data file dari sistem file. Lain kali Anda membaca file itu, File S3 mengambil versi terbaru dari objek yang sesuai dari ember S3 dan menyalinnya kembali ke sistem file.
Misalnya, Anda memproses kumpulan data /mnt/s3files/data/batch-jan.parquet pada bulan Januari dan tidak mengaksesnya lagi. Setelah 30 hari, File S3 menghapus data file dari sistem file. File masih muncul di daftar direktori dengan ukuran dan izin yang benar, tetapi data tidak lagi ada di sistem file. Ketika Anda membaca file lagi pada bulan April, File S3 mengambilnya dari ember S3 dan menyalinnya kembali ke sistem file. Pembacaan pertama mungkin memiliki latensi yang lebih tinggi, tetapi pembacaan berikutnya cepat.
Bucket S3 adalah sumber kebenaran jika terjadi konflik
Konflik terjadi ketika file yang sama telah dimodifikasi melalui sistem file dan objek S3 yang sesuai juga telah berubah sebelum File S3 telah menyinkronkan perubahan sistem file kembali ke bucket S3. Misalnya, Anda mungkin mengedit file melalui sistem file yang dipasang sementara aplikasi lain mengunggah versi baru dari objek yang sesuai, atau menghapusnya, langsung di bucket S3 yang ditautkan.
File S3 mendeteksi konflik saat mencoba menyinkronkan perubahan sistem file Anda kembali ke bucket S3, atau saat menerima pemberitahuan peristiwa S3 yang menunjukkan bahwa objek telah berubah. Bucket S3 berfungsi sebagai penyimpanan jangka panjang untuk data Anda, jadi File S3 menganggap bucket S3 sebagai sumber kebenaran saat terjadi konflik. Ini memberikan konsistensi yang dapat diprediksi, memastikan bahwa versi di bucket S3 Anda selalu diutamakan. Jika terjadi konflik, File S3 memindahkan file yang bertentangan dari lokasinya saat ini di sistem file Anda ke direktori yang hilang dan ditemukan dan mengimpor versi terbaru dari bucket S3 yang ditautkan ke dalam sistem file.
Misalnya, Anda mengedit /mnt/s3files/report.csv melalui sistem file. Sebelum File S3 menyinkronkan perubahan Anda kembali ke bucket S3, aplikasi lain mengunggah versi baru report.csv langsung ke bucket S3. Ketika File S3 mendeteksi konflik, itu memindahkan versi Anda report.csv ke direktori yang hilang dan ditemukan dan menggantinya dengan versi dari bucket S3.
Direktori hilang dan ditemukan terletak di direktori root sistem file Anda di bawah nama.s3files-lost+found-. Ketika File S3 memindahkan file ke direktori yang hilang dan ditemukan, itu menambahkan nama file dengan pengidentifikasi untuk membedakan beberapa versi dari file yang sama yang dapat dipindahkan dari waktu ke waktu. File di direktori yang hilang dan ditemukan tidak disalin ke bucket S3 Anda. Anda dapat menghapus file dan menyalin file dari direktori ini, tetapi Anda tidak dapat memindahkan atau mengganti nama file di dalamnya atau menghapus direktori itu sendiri. Jika Anda ingin menyimpan perubahan sistem file Anda alih-alih versi terbaru di bucket S3, salin file dari direktori yang hilang dan ditemukan kembali ke jalur aslinya. Anda dapat mengambil jalur asli file dari atribut yang diperluas dari file di direktori hilang dan ditemukan. File S3 kemudian akan menyalinnya ke bucket S3 Anda sebagai versi baru dari objek. Untuk informasi selengkapnya, lihat Memecahkan Masalah File S3.file-system-id
catatan
File yang bertentangan yang dipindahkan File S3 ke direktori yang hilang dan ditemukan tetap ada tanpa batas waktu dan dihitung terhadap biaya penyimpanan sistem file Anda. Anda harus menghapus file dari direktori yang hilang dan ditemukan untuk membebaskan penyimpanan ketika mereka tidak lagi diperlukan.
Pengaturan sinkronisasi default akan berfungsi untuk sebagian besar beban kerja untuk akses berbasis file latensi rendah ke data S3. Untuk detail selengkapnya tentang cara mengonfigurasi parameter ini, lihatMenyesuaikan sinkronisasi untuk File S3.