Linux’ta sabit diskleri otomatik bekletme

____________________________________________________________________

Sabit diskler bilgisayarlarımızın veri depoları, sürekli çalışan mekanik ya da elektronik aksanlar. Elektronik olanlarında sıkıntı yok da, mekanik olmayanlar biraz daha hassas oluyorlar. Özellikle dizüstü bilgisayarlar gibi mobil kullanımda gerekmediğinde hem güç tasarrufu hem de darbe ve sarsıntıdan koruma amaçlı kapatmakta fayda var. Ben de böyle düşündüm ve bunu yapmaya çalıştım ki, bir miktar başarı elde etsem de Spindown adlı aracı bulana kadar tam istediğimi bir şekilde yapamadım. Aslında isteğim çok basitti, dizüstündeki ikinci sabit disk belli bir süre kullanılmayınca kafasını park edip disk motorunu durduracaktı.

Dizüstündeki ilk diskim bir katı hal diski, ikincisi ise 1 TB boyutunda mekanik ve elektronik aksamından dolayı S.M.A.R.T. hataları veren bir disk. İhtiyacım olan çoğu şey SSD üzerinde bulunduğundan, kullanmadığımda mekanik diski kapatmak istiyordum. Bunun için Ubuntu Diskler uygulamasını denedim, ilgili ayar vardı ama işe yaramıyordu. Sürücü ayarlarında bekleme süresini ve APM ayarlarını ayarlıyordum ama disk bazen kapanıyor çoğu zaman ise kapanmıyordu. Genel olarak şarjdan çıkarıp kullandığımda kapanıyordu ama şarjda iken kapanmıyordu. Tabi benim istediğim şarjda da kapanması. Bazen de kapansa da çoğu zaman kapanmıyordu. Bundan başka direk olarak Hdparm uygulaması ayarlarından yapılandırmayı denedim. Yine garip bir şekilde stabil olmadı, bazen kapanıyor bazen de kapanmıyordu.

Mekanik diski kullanılmadığında bekleme konumuna almak için çarem bir Google Code projesi olan Spindown adında bir uygulama oldu. Uygulama diskteki blok okuma ve yazma aktivitelerini takip ediyor ve belli bir süre boyunca bir aktivite olmamışsa diski bekleme durumuna getiriyor. Ayrıca çıkarılabilir diskleri de destekleyen uygulama kayıtlarını da syslog ile tutup her disk için ayrı ayar yapabilmeye olanak sağlıyor.

Kurulum

Uygulama bağımlılık olarak sg_start gerektiriyor ki sg3-utils paketini yükleyerek bunu elde edebilirsiniz. Bundan sonra uygulamayı Spindown Downloads sayfasından indirmeniz gerekiyor. Yazıyı yazdığım anda son sürüm spindown 0.4.0.

Bundan sonra indirdiğiniz arşivin içindeki dosyanın içindeki klasörü uygun bir konuma çıkartıp bir terminal uygulamasında CD komutu ile sabitlemeniz ve make komutlarını çalıştırmanız gerekiyor. Ya da aşağıdaki kodları sırası ile çalıştırmak yüksek ihtimalle bir sorun çıkartmadan kurulumu gerçekleştirecektir, kodda tar xvzf komutundan sonra indirdiğiniz dosyanın yolunu vermeniz gerekli.

tar xvzf spindown-x.x.x.tar.gz
$ cd spindown-x.x.x.tar.gz
$ make
# make install

Bundan sonra kurulum gerçekleşmiş olacaktır.

Konfigürasyon

İndirdiğiniz ilk dosyanın içinde spindown.conf.example adında bir dosya var. Bu dosyayı bir metin düzenleyicide açın ve oradaki açıklama ve örneklere göre düzenlemeye başlayın.

cycle-time değeri sabit diskteki blok aktivitesinin kontrol edileceği sıklığı saniye cinsinden belirtir.

idle-time Disk burada saniye cinsinden belirtilen süre kadar boşta yani aktivitesiz kaldıktan sonra kapatılır.

syslog Spindown uygulamasının syslog kullanarak kayıt tutmasını istiyorsanız bu değeri 1 yapın, istemiyorsanız da 0 olsun.

Disk sık kullanılan bir disk ise idle-time olarak 3600 altı bir değer tavsiye edilmiyor, çünkü kafanın sıksık park edilerek hareket kolunun aşınmasına sebep olabiliyor. Ancak benimki gibi nadir kullanılan bir disk ise değeri azaltabilirsiniz. Benim mesela cycle-time ve idle-time değeri de 60.

Uygulama ile kontrolünü ayarlamak istediÄŸimiz diskler için [Disk 0], [Disk 1] ÅŸeklinde devam eden girdiler oluÅŸturuyoruz. Bundan sonra da aÅŸağıda örneÄŸini verdiÄŸim gibi name = yazarak / iÅŸaretleri olmadan bir disk yolu girmek yetiyor. ÖrneÄŸin; name = sdb. name yerine id deÄŸeri de girilebilir tabii ki, ancak taşınabilir disklerinizi de kontrol etmek istiyorsanız name deÄŸeri daha kullanışlı. Bundan sonra spindown = 1 diye bir satır ekleyerek bekleme konumuna alınmasını istediÄŸimizi belirtiyoruz. Son olarak da command deÄŸerine diski bekletmek için kullanacağımız komutu belirtiyoruz. Burada hdparm -y komutunu kullandım ben ama iÅŸe yaramazsa uygulama sayfalarından baÅŸka bir ÅŸeyler bulabilirsiniz. Ayrıca repeat = 1 diye bir satır ekleyerek de bekleme komutunun disk beklemede olsa bile diske tekrar gönderilmesini saÄŸlayabilirsiniz ancak pek ihtiyaç duyacağınızı sanmıyorum. Son olarak dosyanın sonunda bir boÅŸ satır bırakmanızda fayda var, bu bir iniParser hatası ile ilgiliymiÅŸ. Bundan sonra oluÅŸturduÄŸunuz dosyayı kaydedip kök yetkileri ile dosya gezgininizi açın ve kaydettiÄŸiniz dosyayı /etc/ yoluna spindown.conf adı ile kaydedin. Yani orijinal dosyanın sonundaki “.example” ifadesinin atılması gerekiyor. Benim spindown.conf dosyamdaki ayarlar aÅŸağıdaki gibi.

cat /etc/spindown.conf
[General]
cycle-time = 60
idle-time = 60
syslog = 1

[Disk 0]
name = sda
spindown = 1
command = hdparm -y

Artık sabit diskinizin ayarladığınız süre kadar sonra bekleme moduna geçmesi lazım. Ayrıca S.M.A.R.T. değerlerinden Load / Unload Cycle değerini de arada kontrol etmenizi tavsiye ederim. Genelde 3,5 inç diskler 60 bin, mobil 2,5 inç diskler de 600 bin civarı mekanik kol yükleme ve toplama çevrimine göre hazırlanmıştır. Bu yüzden bu değeri arada takip edip bir sıkıntı görürsek önlem almakta fayda var.

Yorum yok

Henüz bir yorum yok.

Bu yazıdaki yorumlar için RSS beslemesi. Geri izleme URI

Yorum yaz