Bagi mereka yang tersandung pada pertanyaan ini pada tahun 2016 ... Gunakan ext4. Saya mencoba btrfs dan perbedaannya sangat besar. Selama 10 hari menulis IO ke ext4 berjumlah 17.800 sektor. Btrfs? 490.400 sektor. SSD yang sama, sistem file yang identik, partisi yang berbeda. Pada dasarnya, beban kerja yang sama.
Baik ext4 dan btrfs "sunyi" ketika tidak ada aktivitas tulis pada drive. Itu bagus.
Ext4 akan menulis data yang dimodifikasi, ditambah beberapa overhead. Overhead berhubungan dengan data yang ditulis. Tulisan 4K (1 blok) mendorong sekitar 50-80 blok overhead pada komit berikutnya. (Jurnal ext4 diaktifkan sepenuhnya)
Ubah satu blok 4K pada btrfs dan Anda akan mendorong antara 4000-5000 blok overhead pada komit berikutnya. Komit default adalah 30 detik, saya percaya. Saya menggunakan 120.
Sekarang, itu tergantung pada bagaimana Anda menggunakan SSD. Sebagai root, biasanya ada aliran menulis yang cukup konstan, tingkat rendah, yang terjadi. Log file, file drift ntp, rekondisi man db, pembaruan topologi opensm, dll, dll. Setiap peristiwa akan memalu drive btrfs dengan 4000-5000 penulisan.
Angka 10 hari di atas adalah untuk SSD "tulis terbatas" saya. Sebagian besar dari 17.800 sektor tersebut adalah hasil dari pembaruan sistem yang lebih kecil. Satu salinan btrf tidak menderita. Penulis saya, tepatnya, ntp drift, topologi opensm, dan pembaruan man db (nightly). Tidak ada yang lain yang mengenai disk itu, kecuali hal-hal yang dimulai secara aktif seperti peningkatan sistem vim /etc/whatever
, dll
Secara keseluruhan SSD akan menderita banyak penulisan, sungguh. Aku hanya tidak bisa melihat gunanya memboroskan mereka hanya karena media berita mengejar kelinci dan pelangi. Jika Anda ingin membayar harga ini untuk KK, lakukan saja. Untuk "kinerja", tidak terlalu banyak. Ini adalah SSD dan Anda mungkin bisa menempatkan "sistem file" terburuk yang diketahui oleh manusia, dan masih mendapatkan beberapa tingkat kinerja - hanya dengan kekuatan kasar. Ext4, sejauh ini, bukan sistem file terburuk yang diketahui manusia.
Tidak ada pemeriksaan fs bulanan. Coba skrip di bawah ini. Ini adalah hack 100%, tidak akan berfungsi untuk md mountpoints,
#! /bin/bash
dev=`cat /proc/mounts | grep " $1 " | awk '{print $1}'`
x=`basename $dev`
vmnam=`lsblk $dev -o MOUNTPOINT,PKNAME | grep "$1" | awk '{print $2}'`
vmx=`vmstat -d | grep $vmnam | awk '{print $8}'`
lbax=`smartctl -a $dev | grep LBA | awk '{print $10}'`
tmpnam=`mktemp XXX`
echo "Tracking device: $dev, mounted on $1 (vmstat on $vmnam)"
tim=`date +%s`
timx=`date +%s`
while true
do
vm=`vmstat -d | grep "$vmnam" | awk '{print $8}'`
lba=`smartctl -a $dev | grep LBA | awk '{print $10}'`
if [ "$vm" != "$vmx" ]
then
tim=`date +%s`
dif=`dc <<< "$vm $vmx - p"`
lbad=`dc <<< "$lba $lbax - p"`
timd=`dc <<< "$tim $timx - p"`
echo `date` " (sec=$timd) writes=$vm (dif=$dif) (lba=$lbad)"
vmx="$vm"
lbax="$lba"
timx="$tim"
find "$1" -mount -newer "$tmpnam" -print | grep -v "/tmp"
touch "$tmpnam"
fi
sleep 1
done
Ini akan memberi tahu Anda berapa banyak blok yang ditulis, sesuai dengan drive itu sendiri, dan file mana yang diperbarui. Membutuhkan root privs. Lihat diri mu sendiri. Saya menjalankan SSD pada sistem file root, dan memanggil script stat.sh. Begitu...sudo ./stat.sh /