lauantaina, heinäkuuta 07, 2012

Kovalevyjen lepoajan säätäminen

Törmäsin jo keväällä MuroBBS viestiketjuun "Suunnitteluvirhe WD Green-levyissä?" Sen mukaan Western Digitalin Green -sarjan kovalevyissä on firmwaressa jo oletuksena asetettu liian lyhyt lepoaika, jonka seurauksena asemien Load Cycle Count -arvo (S.M.A.R.T Attribute 193 Load/Unload counter) kasvaa tähtitieteelliseksi. Virrankulutuksen minimoimiseksi siirretään kiintolevyn lukupäät parkki-asentoon sekä sammutetaan kaikki ylimääräinen elektroniikka sen jälkeen, kun levy on ollut kahdeksan sekunnin ajan käyttämättä. Tätä tilaa WD kutsuu nimellä Idle 3.

Turha käynnistely kuluttaa levyn laakereita ja hidastaa koneen käyttöä, kun levyä pysäytellään muutaman sekunnin välein. En ole itse havainnut käyttämieni 2.0 teraisten WD20EARS-levyjen suorituskyvyssä ongelmia, mutta asia on jäänyt vaivaamaan.

Ongelman kiertämiseksi, voi helposti ajaa Western Digitalin julkaiseman ohjelman (WDIDLE3), jolla aseman firmwareen kirjoitetaan 8 sekuntia pidempi odotusaika käyttämättä olemiselle.

Minun ongelmani on 3waren RAID-ohjain, joka peittää fyysiset levyt käyttöjärjestelmältä ja näyttää ne sen sijaan yhtenä virtuaalisena levynä. Se piilottaa kovalevyt myös tältä apuohjelmalta, vaikka se ajetaan DOS-tilassa ja sieltä käsin lukee suoraan levyn firmware-tietoja. SATA-portin tila pitää vaihtaa ohjelman käytön ajaksi legacy IDE -tilaan AHCI-tilan sijaan.

Nyt lomalla ryhdyin puuhaan. Seurasin MuroBBS:n viestiketjun viestissä #271 olevia ohjeita.

Ensin ladataan Ultimate boot CD -versio (ubcd511-custom.iso), jonne WD:n apuohjelma oli jo valmiiksi asennettu. Asensin levykuvan USB-tikulle unetbootin-ohjelmalla. Sen jälkeen käynnistin koneeni tältä USB-muistilta, painamalla F8-näppäintä koneen käynnistyessä.

Ultimate Boot CD:n päävalikosta pitää valita HDD ja seuraavasta valikosta ainoa vaihtoehto "Hard Disk Information & Management". Kun seuraavaksi ladataan DOS, siitä voi hyvin jättää oletuksen, eli listan valinnan 1. Se käynnistää DOS-ikkunan, jossa oletuksena näkyy WDIDLE3-ohjelman ohjeteksti.
WDIDLE ohjelman ohjeteksti ja aseman testaaminen

Kun komennetaan wdidle3 /R, ohjelma listaa löytämänsä kovalevyt ja mainitsee, mitkä ovat Western Digitalin valmistamia malleja. Jos se löytää Western Digitalin levyjä, se tarkistaa, mitä mallia ne ovat ja mille lepoarvolle levy on firmwaressa säädetty.

Oletuksena ohjelma löysi koneestani vain OCZ SSD -aseman (OCZ AGILITY3) ja totesi, ettei se ole WD:n asema.

Sammutin koneen ja irrotin sen virtajohdon. Irroitin RAID-aseman SATA-kaapelin ensimmäisestä WD:n levystä ja kytkin sen emolevyllä olevaan SATA-liittimeen erillisellä SATA-kaapelilla. Käytin eri väristä SATA-kaapelia, jotta näkisin helposti, mitä asemaa olen milloinkin operoimassa.

RAID-asemia päivittämässä. Oranssi johto on kytketty emolevylle, punainen RAID-ohjaimeen

Kone käyntiin uudestaan ja RAID-ohjain valittaa, että yksi levy on pudonnut kyydistä (DEGRADED).
RAID-ohjain toteaa, että yksi levyistä puuttuu

Hetken mietittyään, kone kuitenkin jatkaa käynnistymistä ja se voidaan jälleen käynnistää USB-muistilta ja suorittaa WD:n apuohjelma uudelleen. Se löytää nyt WD:n levyn ja kertoo, että sen odotusajaksi on säädetty 8.0 sekuntia.

Oletuksena lepoaika on väärin. Uusi aika korjataan samalla työkalulla
Uuden lepoajan voi määritellä komentamalla wdidle3.exe /S300, jonka seurauksena uudeksi lepoajaksi tulee 300 sekuntia eli 5.0 minuuttia. Se on arvo, jota WD suosittelee käytettävän. Kun ajaa lopuksi wdidle3.exe /R -komennon se kertoo, että aseman idle3 timer on nyt 300 sekuntia. Vivun voi antaa pienellä tai isolla kirjaimella, molemmat toimivat samalla tavalla.

Tämän jälkeen koneen voi sammuttaa. Kytkin sen jälkeen ensimmäisen levyn takaisin RAID-ohjaimen kaapeliin, irrotin toisen kovalevyn RAID-ohjaimesta ja kytkin sen emolevyllä olevaan SATA-porttiin. Sen jälkeen kone käyntiin ja pääsin asettamaan seuraavalle levylle päivitettyä odotusaikaa.

Näin toimin jokaisen RAID-aseman kovalevyn kohdalla erikseen, joita on siis 4 kappaletta. Jokaisen oletuslepoaika oli 8 sekuntia ja ne on nyt korvattu 300 sekunnilla.


Käyttämäni wdidle-ohjelman versio oli 1.05. Odotuslaskuri on myös mahdollista pyyhkiä tyhjäksi komentamalla wdidle3.exe /D mutta se estää levyjen lepotilan silloinkin kun kone on täysin käyttämättä. Ohjelman mukana toimitettavassa tekstitiedostossa varoitetaan käyttämästä tätä.

**DO NOT USE** the wdidle3.exe /d command. This turns the timer off however 
many people have reported that the drives eventually slow down to a crawl and/or 
generate errors using this command. The best is to change the timer to 300 seconds.

Huvittava yksityiskohta on myös se, että WD ei omien sanojensa mukaan voi tarjota tukea Linux-käyttäjille. Sen sijaan se neuvoo vähentämään järjestelmän logiin kirjoitettavaa tietoa S.M.A.R.T. -tietojen muuttumisesta. Ref: Answer ID 5357.

Edit:

Täällä olevan tiedon mukaan /D vipu ei poista lepotilaa kokonaan vaan asettaa sen 62:een minuuttiin, vaan lepotilan poistamiselle on oma dokumentoimaton komento:  "wdidle3 /S[10000000000]".

Ei kommentteja:

Lähetä kommentti

Voit jättää kirjoitukseen liittyvän kommentin.