Eduard Shishkin
Diantara inovasi yang dikembangkan akhir-akhir ini adalah penyediaan
kesempatan bagi pengguna untuk menambahkan sedikit kinerja tinggi
perangkat blok (misalnya NVRAM) disebut
volume logis yang relatif besar terdiri dari lambat
penggerak anggaran. Hal ini akan menimbulkan kesan bahwa semuanya
volumenya terdiri dari performa tinggi mahal yang sama
perangkat, seperti "disk proxy".
Metode yang diterapkan didasarkan pada pengamatan sederhana bahwa dalam praktiknya disk tidak ditulis secara konstan, dan kurva beban I/O berbentuk puncak. Dalam interval antara "puncak" tersebut, selalu dimungkinkan untuk mengatur ulang data dari disk proxy, menulis ulang semua data (atau hanya sebagian) di latar belakang ke penyimpanan utama yang "lambat". Dengan demikian, disk proxy selalu siap menerima sebagian data baru.
Teknik ini (dikenal sebagai Burst Buffer) awalnya berasal dari
bidang komputasi kinerja tinggi (HPC). Namun ternyata aplikasi ini juga diminati untuk aplikasi biasa, terutama untuk aplikasi yang menuntut integritas data (biasanya berbagai jenis database). Aplikasi tersebut melakukan perubahan apa pun pada file apa pun dengan cara atom, yaitu:
Membebaskan blok yang ditempati oleh data lama.
Semua langkah ini, pada tingkat tertentu, menyebabkan dampak yang signifikan
penurunan kinerja pada sistem file apa pun. Situasi
membaik jika file baru pertama kali ditulis ke file yang dialokasikan
perangkat berkinerja tinggi, dan itulah yang terjadi
sistem file dengan dukungan Burst Buffer.
Di Reiser5 direncanakan untuk mengirim tidak hanya secara opsional
blok logis baru dari file tersebut, tetapi juga semua halaman kotor secara umum. Lebih-lebih lagi,
tidak hanya halaman dengan data, tetapi juga dengan meta data itu
ditulis pada langkah (2) dan (3).
Dukungan untuk disk proxy dilakukan dalam konteks pekerjaan biasa
volume logis Reiser5,
sistem agregat "disk proxy - penyimpanan utama" normal
volume logis dengan satu-satunya perbedaan adalah bahwa disk proxy memiliki prioritas
di antara komponen volume lainnya dalam kebijakan alokasi alamat disk.
Menambahkan disk proxy ke volume logis tidak disertai dengan apa pun
penyeimbangan kembali data, dan penghapusannya terjadi dengan cara yang persis sama
menghapus disk biasa. Semua operasi disk proxy bersifat atomik.
Penanganan kesalahan dan penerapan sistem (termasuk setelah sistem crash) terjadi dengan cara yang persis sama seperti jika disk proxy adalah komponen biasa
volume logis.
Setelah menambahkan disk proxy, total kapasitas volume logis
meningkat dengan kapasitas disk ini. Pemantauan ruang bebas
disk proxy dilakukan dengan cara yang sama seperti untuk komponen volume lainnya, yaitu. menggunakan utilitas volume.reiser4(8).
Disk proxy harus dibersihkan secara berkala, mis. setel ulang data dari
itu ke penyimpanan utama. Setelah mencapai stabilitas beta Reiser5
pembersihan direncanakan otomatis (akan dikelola oleh
utas kernel khusus). Pada tahap ini, tanggung jawab untuk membersihkan
ada di tangan pengguna. Menyetel ulang data dari disk proxy ke disk utama
penyimpanan diproduksi hanya dengan memanggil utilitas volume.reiser4 dengan opsi
"-B". Sebagai argumen, Anda perlu menentukan titik pemasangan logika
volume Tentunya Anda harus ingat untuk melakukan pembersihan secara berkala. Untuk
Anda dapat menulis skrip shell sederhana untuk melakukan ini.
Jika tidak ada ruang kosong pada disk proxy, semua data
secara otomatis ditulis ke penyimpanan utama. Pada saat yang sama, secara default
kinerja FS secara keseluruhan berkurang (karena panggilan terus-menerus
tata cara melakukan seluruh transaksi yang ada). Secara opsional, Anda dapat mengatur
mode tanpa kehilangan kinerja. Namun, dalam hal ini disk
Ruang perangkat proxy akan digunakan dengan kurang efisien.
Akan lebih mudah untuk menggunakan subbagian metadata (bata) sebagai disk proxy, asalkan dibuat pada perangkat blok berkinerja cukup tinggi.
Sumber: opennet.ru