- Liittynyt
- 05.11.2016
- Viestejä
- 2 141
Kiintolevyjen testaus ennen niiden käyttöönottamista, oli se uusi tai vanha, on erittäin hyvä idea.
Itse kun tässä tuli hankittua muutama kiintolevy ja tehtyä testejä niin ajattelin kirjoittaa aiheesta.
En nyt kuitenkaan lähde kirjoittamaan mitään opasta.
Käytän valmista skriptiä joten lukijalta tämä ei vaadi mitään muita taitoja kuin tiedonhaku ja luetun ymmärtäminen.
Skripti jota käytän on tämä
GitHub - Spearfoot/disk-burnin-and-testing: Shell script for burn-in and testing of new or re-purposed drives
Mitä tämä skripti tekee:
Ensimmäisenä tarkistan fdisk -l komennolla mitkä tunnisteet kiintolevyillä on.
Oletuksena skripti on "dry-run" moodissa eli se ei tee mitään muuta kuin tarkistaa kuinka kauan SMART testi kestää.
Tämä on ihan hyödyllinen info.
Jotta voit käyttää skriptiä testaukseen niin dry-run moodi pitää ottaa pois päältä, disk-burnin.sh tiedoston riviltä 138 vaihdat 1 > 0 ja tallennat tiedoston.
Tämän jälkeen aja komento haluamallasi kiintolevyllä.
sudo ./disk-burnin.sh /dev/sda
Jos haluat ajaa skriptin useammalla kiintolevyllä yhtäaikaa niin avaa useampi terminaali ja pistä pyörimään.
Itselläni tuo skripti pyöri eilen alkuillasta kolmella kiintolevyllä.
Itse kuitenkin käytän tuota skriptiä kuitenkin hieman erilailla.
Skriptin riveiltä 322-327 löytyy testien järjestys.
Oletuksena järjestys on short > long > badblocks > short > long.
Minua ei huvita ajaa tuota long testiä ennen badblocksin ajamista joten poistan rivin 324.
Kun skripti pyörii niin se on ihan fiksua seurata sitä tasaisin väliajoin.
Toisessa terminaali ikkunassa komento smartctl -A /dev/sda
Tuottaa esimerkiksi tällaisen infon.
Kiinnitä huomiota varsinkin ID 5, 196, 197 ja 198 arvoihin.
S.M.A.R.T. - Wikipedia
Jos badblocks testien aikana et huomaa mitään muutoksia kriittisissä SMART arvoissa eikä terminaalissa kun badblocks pyörii ole jotain muuta kuin 0/0/0 errors niin kiintolevy on erittäin suurella todennäköisyydellä täysin ehjä.
Skriptin ollessa valmis löydät skripti tiedoston kanssa samasta kansiosta .log ja .bb tiedoston.
Jos badblocks ei löytänyt viallisia sektoreita niin .bb tiedosto on tyhjä.
Kun taas .log tiedosto sisältää login mitä skripti teki.
P.S. Testin kestosta: WD5000AAKX pyöritti badblocksia 11 tuntia. Uusi 2TB Ironwolf on testauksessa parhaillaan ja näyttäisi siltä että badblocks testi kestää ~32 tuntia. Eräs käyttäjä raportoi että 8TB kiintolevyn (WD Red) badblocks testausta kesti 5 päivää.
Itse SMART testit on kohtuullisen lyhyitä, suurinosa ajasta menee siis badblocks vaiheessa.
Itse kun tässä tuli hankittua muutama kiintolevy ja tehtyä testejä niin ajattelin kirjoittaa aiheesta.
En nyt kuitenkaan lähde kirjoittamaan mitään opasta.
Käytän valmista skriptiä joten lukijalta tämä ei vaadi mitään muita taitoja kuin tiedonhaku ja luetun ymmärtäminen.
Skripti jota käytän on tämä
GitHub - Spearfoot/disk-burnin-and-testing: Shell script for burn-in and testing of new or re-purposed drives
Mitä tämä skripti tekee:
- ajaa SMART short self-test ja long self-test
- ajaa badblocks ohjelman "destructive" moodissa (eli pyyhkii kaiken datan!) joka etsii viallisia blokkeja (sekä tietenkin raportoi niistä)
- kirjoittaa tulokset logitiedostoihin
Sinun täytyy asentaa smartmontools ja pcregrep. Kaikki muut työkalut/ohjelmat mitä skripti käyttää on asennettuna valmiiksi.
Ensimmäisenä tarkistan fdisk -l komennolla mitkä tunnisteet kiintolevyillä on.
Yleensä nämä on sda, sdb, sdc ja niin edelleen eli ei ole pakollinen mutta oh well.
Jos et tiedä mikä on mikä niin tämän voit selvittää esimerkiksi smartctl:llä.smartctl -i /dev/sda komento kertoo sda kiintolevyn infon kuten valmistajan, mallin, sarjanumeron jne.
Oletuksena skripti on "dry-run" moodissa eli se ei tee mitään muuta kuin tarkistaa kuinka kauan SMART testi kestää.
Tämä on ihan hyödyllinen info.
Jotta voit käyttää skriptiä testaukseen niin dry-run moodi pitää ottaa pois päältä, disk-burnin.sh tiedoston riviltä 138 vaihdat 1 > 0 ja tallennat tiedoston.
Tämän jälkeen aja komento haluamallasi kiintolevyllä.
sudo ./disk-burnin.sh /dev/sda
Jos haluat ajaa skriptin useammalla kiintolevyllä yhtäaikaa niin avaa useampi terminaali ja pistä pyörimään.
Itselläni tuo skripti pyöri eilen alkuillasta kolmella kiintolevyllä.
Itse kuitenkin käytän tuota skriptiä kuitenkin hieman erilailla.
Skriptin riveiltä 322-327 löytyy testien järjestys.
Oletuksena järjestys on short > long > badblocks > short > long.
Minua ei huvita ajaa tuota long testiä ennen badblocksin ajamista joten poistan rivin 324.
Kun skripti pyörii niin se on ihan fiksua seurata sitä tasaisin väliajoin.
Toisessa terminaali ikkunassa komento smartctl -A /dev/sda
Tuottaa esimerkiksi tällaisen infon.
Kiinnitä huomiota varsinkin ID 5, 196, 197 ja 198 arvoihin.
S.M.A.R.T. - Wikipedia
Koodi:
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 --- Pre-fail Always - 125
3 Spin_Up_Time 0x0027 185 177 --- Pre-fail Always - 5750
4 Start_Stop_Count 0x0032 099 099 --- Old_age Always - 1721
5 Reallocated_Sector_Ct 0x0033 200 200 --- Pre-fail Always - 3
7 Seek_Error_Rate 0x002e 100 253 --- Old_age Always - 0
9 Power_On_Hours 0x0032 052 052 --- Old_age Always - 35071
10 Spin_Retry_Count 0x0032 100 100 --- Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 100 --- Old_age Always - 0
12 Power_Cycle_Count 0x0032 099 099 --- Old_age Always - 1405
192 Power-Off_Retract_Count 0x0032 200 200 --- Old_age Always - 300
193 Load_Cycle_Count 0x0032 200 200 --- Old_age Always - 1420
194 Temperature_Celsius 0x0022 119 097 --- Old_age Always - 31
196 Reallocated_Event_Count 0x0032 197 197 --- Old_age Always - 3
197 Current_Pending_Sector 0x0032 200 200 --- Old_age Always - 0
198 Offline_Uncorrectable 0x0030 100 253 --- Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 --- Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 100 253 --- Old_age Offline - 0
Jos badblocks testien aikana et huomaa mitään muutoksia kriittisissä SMART arvoissa eikä terminaalissa kun badblocks pyörii ole jotain muuta kuin 0/0/0 errors niin kiintolevy on erittäin suurella todennäköisyydellä täysin ehjä.
Skriptin ollessa valmis löydät skripti tiedoston kanssa samasta kansiosta .log ja .bb tiedoston.
Jos badblocks ei löytänyt viallisia sektoreita niin .bb tiedosto on tyhjä.
Kun taas .log tiedosto sisältää login mitä skripti teki.
P.S. Testin kestosta: WD5000AAKX pyöritti badblocksia 11 tuntia. Uusi 2TB Ironwolf on testauksessa parhaillaan ja näyttäisi siltä että badblocks testi kestää ~32 tuntia. Eräs käyttäjä raportoi että 8TB kiintolevyn (WD Red) badblocks testausta kesti 5 päivää.
Itse SMART testit on kohtuullisen lyhyitä, suurinosa ajasta menee siis badblocks vaiheessa.
Viimeksi muokattu: