Ada minat yang cukup besar pada drive sirap. Ini menempatkan trek data yang begitu berdekatan sehingga Anda tidak dapat menulis ke satu trek tanpa merusak trek berikutnya. Ini dapat meningkatkan kapasitas sekitar 20% atau lebih, tetapi menghasilkan masalah penulisan amplifikasi. Ada pekerjaan yang sedang berlangsung pada filesystem yang dioptimalkan untuk drive Shingled, misalnya lihat: https://lwn.net/Articles/591782/
Beberapa disk shingled seperti arsip Seagate 8TB memiliki area cache untuk penulisan acak, memungkinkan kinerja yang layak pada sistem file generik. Disk ini bahkan bisa sangat cepat pada beberapa beban kerja umum, hingga sekitar 200MB / detik menulis. Namun, diharapkan bahwa jika cache tulis acak meluap, kinerjanya mungkin menurun. Agaknya, beberapa sistem file lebih baik dalam menghindari penulisan acak pada umumnya, atau pola penulisan acak cenderung meluap cache tulis yang ditemukan pada drive tersebut.
Apakah sistem file utama dalam kernel linux lebih baik dalam menghindari hukuman kinerja disk shingled daripada ext4?
sumber
Jawaban:
Sistem file terstruktur Copy-on-Write dan Log yang intuitif dapat memberikan kinerja yang lebih baik pada disk shingled dengan mengurangi pengurangan penulisan acak. Benchmark agak mendukung ini, namun, perbedaan dalam kinerja ini tidak spesifik untuk disk shingled. Mereka juga terjadi pada disk yang tidak dihancurkan yang digunakan sebagai kontrol. Dengan demikian, beralih ke disk shingled mungkin tidak memiliki banyak relevansi dengan pilihan sistem file Anda.
Filesystem nilfs2 memberikan kinerja yang cukup baik pada disk SMR. Namun, ini karena saya mengalokasikan seluruh partisi 8TB, dan benchmark hanya menulis ~ 0.5TB sehingga pembersih nilf tidak perlu berjalan. Ketika saya membatasi partisi hingga 200GB, tolok ukur nilfs bahkan tidak berhasil diselesaikan. Nilfs2 mungkin merupakan pilihan yang baik untuk kinerja jika Anda benar-benar menggunakan disk "arsip" sebagai disk arsip di mana Anda menyimpan semua data dan snapshot yang dituliskan ke disk selamanya, karena kemudian nilfs cleaner tidak harus dijalankan.
Saya mengerti bahwa
ST8000AS0002-1NA17Z
drive seagate 8TB yang saya gunakan untuk pengujian memiliki area cache ~ 20GB . Saya membuat mengubah pengaturan server file filebench default sehingga tolok ukur yang ditetapkan akan ~ 125GB, lebih besar dari area cache yang tidak dihancurkan:Sekarang untuk data aktual. Jumlah ops mengukur kinerja fileserver "keseluruhan" sedangkan ms / op mengukur latensi dari append acak, dan dapat digunakan sebagai panduan kasar untuk kinerja penulisan acak.
Karena Seagate adalah 5980RPM, orang mungkin secara naif mengharapkan Toshiba 20% lebih cepat. Tolok ukur ini menunjukkannya kira-kira 3 kali (200%) lebih cepat, sehingga tolok ukur ini menghantam hukuman kinerja sirap. Kami melihat Shingled (SMR) disk masih tidak cocok dengan kinerja ext4 dengan pada disk (PMR) unshingled. Performa terbaik adalah dengan nilfs2 dengan partisi 8TB (sehingga pembersih tidak perlu dijalankan), tetapi bahkan kemudian secara signifikan lebih lambat daripada Toshiba dengan ext4.
Untuk membuat tolok ukur di atas lebih jelas, mungkin dapat membantu untuk menormalkannya relatif terhadap kinerja ext4 pada setiap disk:
Kita melihat bahwa pada disk SMR btrf memiliki sebagian besar keuntungan pada ops keseluruhan yang dimilikinya pada ext4, tetapi penalti pada penambahan acak tidak sedramatis rasio. Ini mungkin menyebabkan seseorang pindah ke btrfs pada disk SMR. Di sisi lain, jika Anda perlu menambahkan acak latensi rendah, patokan ini menyarankan Anda menginginkan xfs, terutama pada SMR. Kami melihat bahwa walaupun SMR / PMR dapat memengaruhi pilihan sistem file Anda, mengingat beban kerja yang Anda optimalkan tampaknya lebih penting.
Saya juga menjalankan patokan berbasis loteng. Durasi menjalankan loteng (pada partisi disk penuh 8TB SMR) adalah:
Dalam setiap kasus repositori loteng memiliki statistik berikut:
Menambahkan salinan kedua dari disk 1 TB yang sama ke loteng membutuhkan waktu 4,5 jam untuk masing-masing dari ketiga sistem file ini. Tumpukan mentah dari tolok ukur dan
smartctl
informasi ada di: http://pastebin.com/tYK2Uj76 https://github.com/gmatht/joshell/tree/master/benchmarks/SMRsumber
Jika Anda
rsync
dari drive SMR, pastikan filesystem sudah terpasangread-only
atau dengannoatime
opsi.Jika tidak, drive SMR perlu menulis stempel waktu untuk setiap file yang dibaca rsync, yang mengakibatkan penurunan kinerja yang signifikan (dari sekitar 80 mb / dtk menjadi 3-5 mb / dtk di sini) dan head head / noise klik.
Jika Anda sudah memiliki pekerjaan rsync yang berjalan dengan kinerja yang buruk, tidak perlu menghentikannya, Anda dapat melakukan remount sistem file sumber dengan melakukan
Efeknya tidak akan segera terlihat, bersabar dan tunggu 10 hingga 20 menit, sampai drive selesai menulis semua data yang masih ada di buffer-nya. Saran ini dicoba dan diuji ok.
Hal ini mungkin juga berlaku ketika
rsync
ing ke drive SMR, yaitu jika filesystem mencoba untuk memperbarui timestamp setelah file telah sepenuhnya ditulis ke disk. Beban kerja berurutan kegugupan ini dan kumpulan data yang besar terus-menerus ditulis ulang, berkontribusi terhadap keausan drive. Berikut ini dapat membantu:Ini harus dilakukan, sebelum rsync dijalankan; faktor-faktor lain dapat membuat opsi ini tidak signifikan, yaitu pembaruan FAT / MFT yang tidak terbaca, penulisan yang diparalelkan jika sistem file dioptimalkan terutama untuk SSD, dll.
Cobalah untuk menggunakan
dd bs=32M
dan kemudian mengubah ukuran sistem file pada target SMR, jika Anda ingin membuat cadangan sistem file penuh (tidak perlu menginstalnya dan menjalankan rsync untuk mengangkut masing-masing dan setiap file dalam kasus ini).Perangkat keras yang sebenarnya digunakan adalah drive Seagate yang dikelola drive konsumen SMR 8tb. Jarak tempuh Anda mungkin berbeda dengan perangkat keras lainnya.
sumber