versi singkat pertama : Saya mencari perangkat lunak yang kompatibel dengan Linux yang dapat secara tembolok me-cache penulisan HDD menggunakan SSD. Namun, saya hanya ingin memutar HDD sekali atau dua kali sehari (untuk menulis data cache ke HDD). Sisa waktu, HDD tidak boleh berputar karena masalah kebisingan.
Sekarang versi yang lebih panjang : Saya telah membangun komputer yang benar-benar sunyi menjalankan Xubuntu. Ini memiliki APU A10-6700T, pendingin tanpa kipas besar, PSU tanpa kipas, SSD. Masalahnya adalah: ia juga memiliki (dan membutuhkan) HDD yang berisik dan saya ingin melarangnya memutarnya pada malam hari. Semua tulisan harus di-cache di SSD, bacaan tidak diperlukan di malam hari.
Setiap hari, komputer ini akan secara otomatis mengunduh sekitar 5 GB data yang akan disimpan selama sekitar satu tahun, sehingga total kapasitas disk yang dibutuhkan kurang dari 2 TB. Data ini saat ini disimpan pada hard disk drive berisik 3 TB yang berputar siang dan malam. Terkadang, saya perlu mengakses beberapa data dari beberapa bulan yang lalu. Namun, sebagian besar waktu saya hanya membutuhkan data dari 14 hari terakhir, yang sesuai dengan SSD. Idealnya, saya ingin solusi transparan (semua data pada satu sistem file) yang menyimpan semua cache ke SSD, menulis ke HDD hanya sekali sehari. Bacaan akan dilayani oleh cache jika masih ada di SSD, jika tidak HDD harus berputar.
Saya telah mencoba bcache tanpa banyak keberhasilan (menggunakan cache_mode = writeback, writeback_running = 0, writeback_delay = 86400, sequential_cutoff = 0, congested_write_threshold_us = 0 - ada yang hilang?) Dan saya membaca tentang ZFS ZIL / L2ARC tapi saya tidak yakin saya dapat mencapainya tujuan saya dengan ZFS. Ada petunjuk?
Jika semuanya gagal, saya hanya akan menggunakan beberapa skrip untuk secara otomatis menyalin file ke drive besar sambil menghapus file tertua dari SSD.
Sunting : Cache adalah istilah yang salah untuk apa yang saya inginkan. Sepertinya solusi yang dimaksudkan tidak mungkin bagi saya saat ini. Terima kasih kepada semua orang yang berkontribusi!
Jawaban:
Itu tidak benar-benar bagaimana atau mengapa caching berfungsi - caching dimaksudkan untuk mengambil keuntungan dari kecepatan yang lebih cepat dan akses acak yang lebih baik dari SSD atau memori lain, daripada meminimalkan penulisan ke hdd. Caching dirancang untuk memaksimalkan kecepatan, bukan mengurangi penulisan, dengan memiliki penyangga yang lebih kecil, lebih cepat, mendukung perangkat penyimpanan yang besar dan lambat.
Bahkan, bcache, yang merupakan bagian dari kernel linux mainline, hanya akan meneruskan menulis berurutan ke hdd, daripada meneruskannya melalui SSD karena tidak ada keunggulan kinerja.
ZIL / L2Arc menggunakan SSD untuk menyimpan log (dalam kasus ZIL) dan kluster file yang umum digunakan (dengan L2Arc). ZIL mempercepat penulisan sinkron dengan menyimpannya sampai semuanya siap untuk ditulis. L2Arc menyimpan file yang biasa diakses di penyimpanan yang lebih cepat. Tidak satu pun dari ini akan membiarkan Anda melakukan apa yang Anda butuhkan.
Drive fusi juga menggunakan SSD dan HDD secara transparan menempatkan file yang biasa digunakan pada SSD untuk membaca lebih cepat, dan HDD untuk penyimpanan massal file yang jarang digunakan. Itu juga tidak membiarkan Anda menggunakan SSD sebagai ruang awal, dan membuat cadangan file ke drive utama sesering mungkin
Apa yang Anda lihat bukanlah caching sama sekali, melainkan cadangan sistem secara berkala ke HDD. Saya kira Anda mungkin dapat memalsukan sesuatu bersama-sama dengan Aufs - cabang pertama pada HDD dengan file yang lebih besar (sehingga perlu diprioritaskan), dan cabang pada SSD, kemudian jalankan skrip yang memindahkan file dari SSD ke HDD secara berkala, sementara itu dapat diakses dari lokasi yang sama. Saya belum menguji ini, tetapi tidak seperti caching, memindahkan file secara berkala dan menggunakan aufs akan persis seperti yang Anda inginkan.
Cara paling sederhana untuk mengurutkan file berdasarkan usia adalah ls -tr-t sort by time (terbaru ke terlama) dan r membalik urutannya. (Jika Anda memiliki rentang tertentu yang
find . -mtime n
berfungsi baik n sebagai angka tertentu memberi Anda file yang dimodifikasi n hari yang lalu, -n memberi Anda file yang dimodifikasi dalam n hari terakhir dan + n memberi Anda file yang dimodifikasi n hari yang lalu). Anda dapat menemukan beberapa ide tentang cara menggunakannya di siniKarena ketenangan adalah tujuan Anda yang sebenarnya, Anda dapat memeriksa apakah drive Anda mendukung mode senyap
hdparm -M /dev/sda
- ini akan menghasilkan sesuatu sepertiacoustic = 254 (128=quiet ... 254=fast)
, dalam hal ini Anda dapat membuat hard drive Anda lebih tenang dengan perintah tersebuthdparm -M 128 /dev/sda
. Jalankan perintah yang berlawananhdparm -M 1254 /dev/sda
ketika Anda membutuhkan lebih banyak kecepatan.sumber
Karena jawaban lain telah mengatasi masalah dari sudut pandang perangkat lunak, saya berpikir untuk memasukkan beberapa informasi tentang solusi perangkat keras.
Artikel Sound Proof Hard Drive Anda mencantumkan opsi berikut:
Saya dapat bersaksi dari pengalaman saya sendiri bahwa saya tidak pernah dapat mendengar hard disk 4 TB baru saya, bahkan ketika menyalin file yang sangat besar.
Dengan beberapa penelitian, orang juga dapat menemukan bahan peredam akustik untuk hard disk seperti SilentDrive HD Enclosure & Acoustic Materials atau NoiseMagic NoVibes III Silent Hard Drive Mounting System . Saya tidak tahu di mana ini dijual, dan karet gelang di atas bagi saya hampir sama efisiennya.
Satu juga bisa kedap suara seluruh komputer. Beberapa contoh situs web yang menjual bahan kedap suara adalah Quiet PC USA , AcousticPC atau Dynamat , tetapi ada banyak seperti itu.
Beberapa kasing komputer sudah dirancang untuk pengoperasian senyap. Lihat misalnya
Enam Kasus dengan Kebisingan Rendah, Berorientasi pada Kinerja, Diuji .
Sebagai komentar terakhir, hard drive berisik yang berdentang, mengklik, atau melengking mungkin merupakan tanda bahwa hard drive Anda mulai gagal, jadi berhati-hatilah.
sumber
Beberapa variasi Puppy Linux didasarkan pada Ubuntu tetapi menggunakan Aufs .
Puppy sepenuhnya berjalan dari RAM, tidak ada akses HDD dalam operasi normal.
Jika Anda memberi tahu Puppy bahwa HDD Anda adalah flash drive, itu akan membuang sistem file RAM ke disk secara berkala alih-alih terus menerus. Ini dirancang untuk mengurangi keausan penulisan ke flashdrives tetapi berfungsi dengan baik pada HDD juga.
Seperti halnya semua yang ada di Puppy, Anda dapat menggunakan GUI untuk mengatur seberapa sering Anda ingin sistem file RAM disimpan. Biasanya, ini akan menjadi setiap 10 menit atau lebih tetapi tidak ada yang mencegah pengaturan untuk membuang setiap 720 menit (12 jam) misalnya.
Kutipan ini dari
menu.lst
file bootloader Grub4DOS saya menunjukkan pengaturan untukpmedia
opsi kernel yang mengatakan menggunakan flashdrive bukan HDD ...Catatan tentang "variasi" Puppy Linux ...
Saya menggunakan Puppy Linux 5.2.8 "Lupu" yang didasarkan pada (dibangun dengan memotong) Ubuntu 10,04 Lucid Lynx. Versi ini juga sering disebut "Lucid" bukan "Lupu" karena asalnya. Ada juga versi yang didasarkan pada Slackware dan beberapa distribusi lainnya. Karena Anda sudah menggunakan Xubuntu, Puppy Linux Lupu akan menjadi yang paling akrab. Itu juga akan jauh lebih cepat. Saya menggunakan Xubuntu sekitar setahun sebelum menemukan Puppy.
Ada juga versi yang jauh lebih baru berdasarkan "Ubuntu Precise Pangolin" yang disebut "Puppy Linux Precise." Ada perubahan besar pada kernel yang digunakan dalam versi yang lebih baru yang mungkin tidak berfungsi dengan baik dengan perangkat keras yang lebih lama. Jika mesin Anda kurang dari 5yo, Anda mungkin lebih senang dengan Precise. Saya percaya teknik yang dijelaskan di atas masih akan bekerja pada Precise meskipun opsi yang tepat, dll. Mungkin berbeda tetapi saya tidak dapat mengujinya.
sumber
solusi singkat dan cepat diimplementasikan (tetapi tidak menjawab apa yang Anda inginkan) adalah: transfer disk penyimpanan di tempat lain. mungkin berupa chassi file server netowrk (seperti edisi dunia WD) atau disk USB3 dan Anda dapat memilikinya di ruangan yang sama dengan komputer yang tenang, atau di ruangan yang berbeda untuk menghindari mendengarkannya sepenuhnya.
Ini lebih baik menurut saya karena Anda pasti hanya akan menggunakan drive ketika Anda ingin mentransfer data melalui jaringan - OS mungkin melakukan beberapa rebalancing pohon sistem file atau rapi yang tidak dapat Anda hindari dan akan mengganggu Anda . Jadi kamar yang berbeda adalah nilai tambah yang besar.
Caching seharusnya cukup mudah - cukup buat cadangan data hari ini ke disk eksternal, yang bisa Anda selesaikan menggunakan solusi seperti
rsync
atauunison
.Solusi yang lebih lama lagi tidak ideal (yaitu tidak ada aplikasi tunggal) tetapi Anda akan mendapatkan drive dalam kotak yang sama dengan SSD dan mencapai kecepatan yang lebih tinggi (tetapi apakah Anda benar-benar membutuhkan kecepatan lebih tinggi dari jaringan hanya 5GB / hari?):
Anda dapat menggunakan
smartctl
untuk mengatur waktu putaran ke bawah drive Anda dan mempertahankan drive ini dalam keadaan unmount - untuk menghindari OS melakukan hal-hal di drive. Kemudian cukup tulis skrip kemount
dan cadangkan (seperti di atas) data yang Anda butuhkan.sumber
Anda tidak akan menyukai jawaban saya tetapi Anda sebenarnya menyalahgunakan istilah cache, Anda sebenarnya menggambarkan solusi cadangan. Lihatlah rsync, atau cari lebih jauh untuk solusi cadangan lain jika Anda menginginkan sesuatu yang lebih lengkap.
sumber