17. 1. 2012

Spotreba energie u HDD pod palcom

Nechcem sa tvarit ako fanatik na storage zariadenia, ale skratka jeden HDD o kapacite 1TB je pre mna malo. Hlavne ak pri svojich "crash" testoch virtualizujem pocitace a skusam rozne postupy, ktore ... nechcem priamo napisat, ze su riskantne, ale na realnom (fyzickom) stroji by som bol znacne na pochybach, ci to skusat. To este nepisem o pripadnom strihani domacich videi ... Vtedy je kazdy jeden MB volny velmi vhodny.

Co ale so starsim diskom, ktoreho jedinou vadou je, ze je skratka kapacitovo maly na moje potreby? Preco ho vyhadzovat, len preto, ze je "tesny"? Stale ho viem pouzit na pripadne dielcie uskladnenie nejakych dat, s ktorymi prave nepracujem, ale je skoda ich zmazat. Tymto postupom sa mi v PC nahromadili 4 HDD, z ktorych vyuzivam aktivne len dva. Dalsie dva pouzivam len velmi sporadicky.

Premyslal som teda, ako ich v linuxe minimalne uspat, alebo prepnut do pohotovostneho rezimu. Pan google bol opat napomocny a poradil prikaz "hdparm", ktoreho moj strucny popis je obsahom tohoto clanku. Z manualovych stranok som vycital, ze je to pomerne silny nastroj, aj ked niektore parametre mozu byt rizikove. No nasiel som aj tie parametre, ktore som hladal :).

Instalacia teda spociva v nainstalovani si balicka s nazvom "hdparm", ktory je sucastou repozitara ako debianieho, tak ubuntackeho ci uz pouzitim linku vyssie, alebo pouzitiu vami oblubeneho instalacneho nastroja, ale zadanim prikazu sudo apt-get install hdparm. Po instalacii sa mozeme hned pustit do nastavovania.

Syntax prikazu je typicka, teda sudo hdparm parametre zariadenie. Zariadenim teda specifikujeme, na ktory HDD sa uplatnia nami zadane premenne. Najcastejsie premenne, ktore budete pouzivat su nasledujuce:

-S cas tento parameter je presne ten, ktory som hladal pre svoju potrebu. Cize povie danemu HDD, ako dlho ma cakat, kym sa prepne do rezimu setrenia energiou (stand by) od posledneho zapisu nan. Moze nadobudat hodnoty od 1 az 240, pricom kazda jedna hodnota predstavuje vahu o velkosti casu 5s. Ak teda chcete nastavit, aby sa disk prepol do usporneho rezimu za 10 minut od poslednej aktivity, ako hodnotu pouzijete 120. V manuali pri tejto premennej najdete upozornenie o tom, ze starsie disky mozu tento cas interpretovat trochu inak. Preto sa moze stat, ze disk sa nevypne podla vasich ocakavani, ale o cosi neskor, pripadne priskoro. Nic sa nestane, ak si na zaciatok nastavite vyssiu hodnotu (kludne teda tych 120) a neskor uberiete podla potreby (osobne pouzivam hodnotu 60, ktoru si disky interpretuju ako 5 minut). Tiez je vhodne si uvedomit, ako casto sa s tymi diskami, ktore sa chystate "vypinat", pracuje. Castym zapinanim/vypinanim sa totiz moze poskodit. Ak sa ale denne par krat (4-6x) zapne/vypne, nic sa nedeje, vyrobca s tym pocita, disku sa nic nestane. Urcite sa vyhnite situacii, kedy budete takto vypinat disk, kde je ulozeny niektory z dolezitych systemovych priecinkov (napr. /home), alebo skratka sa z toho disku casto nieco nacitava, aj ked to moze byt len sporadicke. Ja disky po zapnuti PC chvilku necham bezat a po vypnuti su iba pritomne v PC v pohotovostnom rezime pre pripad, ze z nich budem nieco potrebovat. Disky, kde mam ulozeny "/" a "/home" nevypinam vobec.

V praxi prikaz teda vyzera nasledovne:
sudo hdparm -S 120 /dev/sda

kde:
-S 120 nastavi disk, aby sa prepol do rezimu uspory po 10 minutach necinnosti
/dev/sda nastavi sa disk, ktory je fyzicky pripojeny na prvu poziciu radica

O kazdej operacii prikazu hdparm dostanete informaciu, ci sa prikazu poradilo vyhoviet vasim poziadavkam, alebo nie.

Samozrejme, kedze sme lenivy, aby sme tento prikaz zadavali pri x diskoch po kazdom spusteni operacneho systemu, vyuzijeme moznost tieto prikazi zadat do scriptu rc.local, ktory ich spusti po kazdom starte (milujem funckie set&forget :) ). Mozete pouzit ktorykolvek oblubeny editor na editovanie suboru s cistym textom (OO Writerom by som tento subor urcite needitoval!), alebo vykonanim nasledujuceho prikazu: gksudo gedit /etc/rc.local. System sa vas spyta na vase heslo (kedze idete robit upravu systemoveho suboru, potrebujete mat na to aj opravnenie, aby ste mohli robit zmeny) a otvori sa textovy editor, v ktorom mozete subor upravovat.

V mojom pripade potrebujem uspavat disky sda a sdd, subor bude vyzerat nasledovne (prve casti s komentarmi som vynechal):

...
#

# Uspanie diskov sda a sdd po 5 minutach necinnosti
hdparm -S 60 /dev/sda
hdparm -S 60 /dev/sdd
exit 0

Subor ma presne taku istu strukturu nastaveni, ako ostatne, takze prikazi zadame medzi odstavce zacinajuce znakom mriezky "#" a prikazom exit 0. Ak uz ste do suboru vkladali ine prikazi, tak tieto prikazi vlozte na najblizsie volne miesto, vzdy musia byt ale nad prikazom exit 0! Po kazdom restarte/starte pocitaca sa teda vzdy posle tymto diskom prikaz, aby sa prepli do rezimu uspory po necinnosti 5 minutach.

-C ukaze aktualny stav zariadenia. Ako zariadenie mozeme pouzit aj zadanie prostednictvom zastupneho znaku "?" a prikaz vypise stav vsetkych diskov, ktore mame v pocitaci. Kompletny prikaz vyzera nasledovne:

sudo hdparm -C /dev/sd?

Jeho vypis bude vyzerat podobne, ako tento:

/dev/sda:
 drive state is:  standby

/dev/sdb:
 drive state is:  active/idle

/dev/sdc:
 drive state is:  active/idle

/dev/sdd:
 drive state is:  standby

-y okamzite uspi predmetny HDD. Ak ste teda stastlivcom, ktory nema v PC jeden, alebo dva disky, ale viac a nejakou nahodou sa ich hnacie motorceky dostavaju do synchronizacie ako u mna, moze skrinka vydavat neprijemne rezonujuce zvuky sposobujuce klepanim plechov. Cize, ak disk pouzijem a nechce sa mi cakat, kym sa po case uspi sam, zadam tento prikaz a uspim ho rucne. POZOR! Prepinac je "maly ypsilon" - velkym ypsilonom by ste si disk vypli uplne (do najblizsieho restartu, kedy ho inicializuje BIOS). V manualy je sice poznamka, ze by si ho mal vediet inicializovat aj sam system, ale nemal som dostatocnu odvahu to skusit. Opat zdoraznujem, ze caste vypinanie disku moze sposobit znizenie jeho zivotnosti, az jeho uplne znicenie!

Prikaz je teda v mojom pripade:

sudo hdparm -y /dev/sda

a sposobi, ze sa disk sda okamzite prepne do rezimu uspory.

Dalsie parametre, ktore mna osobne zaujali su nasledovne:

-i vypise detailne informacie o disku. V mojom pripade vypis vyzera nasledovne:

/dev/sdb:

 Model=WDC WD1503FYYS-02W0B0, FwRev=01.01D01, SerialNo=WD-WMAY01116813
 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=50
 BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=off
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=2930277168
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio3 pio4 
 DMA modes:  mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 
 AdvancedPM=yes: unknown setting WriteCache=enabled
 Drive conforms to: Unspecified:  ATA/ATAPI-1,2,3,4,5,6,7

 * signifies the current active mode

Je to reakcia na prikaz: sudo hdparm -i /dev/sdb. Niektore parametre nemusia byt dostupne, alebo mozu byt nezname.

-tT jedna sa o jednoduchy benchmark disku, ktory ma informativny charakter pre ucely porovnania vykonu. Idealne, ak chcete urcit, ktory disk je vhodnejsi pre pouzitie na system (pripadne casto nacitavane data, ktore chcete mat co najskor k dispozicii) a ktory na skladovanie dat.

Prikaz je nasledujuci:

sudo hdparm -Tt /dev/sdb

a jeho reakcia:

/dev/sdb:
 Timing cached reads:   10588 MB in  2.00 seconds = 5301.33 MB/sec
 Timing buffered disk reads: 424 MB in  3.00 seconds = 141.27 MB/sec

Mozete vyuzit aj moznosti dalsich prepinacov, ale uvedomte si, ze niektore moznosti tohoto programu mozu sposobit poskodenie vasich dat! Budte prosim velmi opatrny v experimentovani!

Žiadne komentáre:

Zverejnenie komentára