Jak ustabilizować filesystem?

Łukasz Maśko ed at yen.ipipan.waw.pl
Thu Sep 18 15:07:12 CEST 2014


Mój problem dotyczy filesystemu ext3, ale - jak sądzę - jest związany też z 
dyskiem twardym. Ale po kolei.

Mam leciwego już laptopa Dell Latitude D430, do którego w ramach update'u 
kupiłem jakiś czas temu dysk SSD w zamian za tależówkę. To, co jest istotne 
to fakt, że w komputerze tym jest używany dysk 1.8 cala na złączu ZIF, co 
ogromnie ogranicza wybór. Na szczęście Apple w pierwszej wersji Air'a użyło 
takiego samego dysku, dzięki czemu odpowiednie dyski pojawiły się na rynku.
Zakupiłem więc takie urządzenie:

$ sudo hdparm -i /dev/sda
[...]
 Model=KingSpec KSD-ZF18.6-128MS, FwRev=20130619, SerialNo=ZF18613110800309
 Config={ HardSect NotMFM Fixed DTR>10Mbs }
 RawCHS=16383/15/63, TrkSize=0, SectSize=576, ECCbytes=0
 BuffType=DualPort, BuffSize=1kB, MaxMultSect=1, MultSect=off
 CurCHS=16383/15/63, CurSects=15481935, LBA=yes, LBAsects=247975936
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4 
 DMA modes:  mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 udma6 
 AdvancedPM=no WriteCache=disabled
 Drive conforms to: Unspecified:  ATA/ATAPI-2,3,4,5,6,7
$ sudo smartctl -a /dev/sda
smartctl 6.3 2014-07-26 r3976 [i686-linux-3.16.2-2] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     KingSpec KSD-ZF18.6-128MS
Serial Number:    ZF18613110800309
Firmware Version: 20130619
User Capacity:    126,963,679,232 bytes [126 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ACS-2 (minor revision not indicated)
Local Time is:    Thu Sep 18 14:47:33 2014 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Generalnie działa 2x szybciej od tależówki, którą miałem wcześniej. Jak 
widać, nie ma funkcji TRIM, co może mieć znaczenie. Ale mam pewien problem. 
Otóż co jakiś czas (losowo) wywraca mi się filesystem na partycji z danymi 
userów. Objawia się to mniej więcej tak:

Sep 18 12:18:46 laptok kernel: [33518.188660] EXT3-fs error (device sda5): 
ext3_add_entry: bad entry in directory #3158767: directory entry across 
blocks 
- offset=156, inode=3150580, rec_len=32808, name_len=34
Sep 18 12:19:47 laptok kernel: [33579.333689] SysRq : Emergency Sync
Sep 18 12:19:47 laptok kernel: [33579.784425] Emergency Sync complete

Błędy skutki mają różne, zwykle jakieś zduplikowane inody i poprzestawiane 
atrybuty plików. Jak coś się sypie to zwykle są to np. pamięć podręczna 
chrome czy iceweasel, więc problemu nie ma. Ale np. kilka dni temu po prostu 
usunęło mi cały journal i system widział partycję jako ext2. Dopiero tune2fs 
-j /dev/sda5 pozwoliło na odzyskanie funkcjonalności. Jedyne, co po tym mogę 
zrobić, to zrestartować komputer, wejść w tryb single (na prawdę z 
init=/bin/bash bo inaczej nie umiem), zfsck'ować filesystem i dopiero odpalić 
ponownie. I znów działa dobrze, przez jakiś czas.

Dla porządku:
$ mount | grep sda5
/dev/sda5 on /home/users type ext3 
(rw,noatime,errors=continue,user_xattr,barrier=1,data=writeback)

Pierwszy pomysł - dysk się sypie. Najbardziej naturalne. Ale dysk jest 
relatywnie nowy, przebieg ma niewielki. SMART nie raportuje żadnych błędów, 
badblocks -n też nie zgłosił żadnego problemu. Pamięć też sprawdzana, nie 
wykazuje odchyłek od normy. Może więc kwestia programowa (oby)? Komputera 
praktycznie nie wyłączam, jedynie usypiam do pamięci. W skrypcie usypiającym 
jest sync, żeby dane zostały zapisane przed uśpieniem. Ale może to za mało?

Czy ktoś ma jakiś pomysł, jak ustabilizować filesystem? Odmontować systemu 
przed uśpieniem nie dam rady, przy zalogowanym użytkowniku to się nie ma 
prawa udać. Może jakieś inne parametry montownia filesystemu (oczywiście 
jakieś nie spowalniające dramatycznie, jeśli się da).

-- 
Łukasz Maśko                                                            _o)
Lukasz.Masko(at)ipipan.waw.pl                                           /\\
Registered Linux User #61028                                           _\_V
Ubuntu: staroafrykańskie słowo oznaczające "Nie umiem zainstalować Debiana"



More information about the pld-devel-pl mailing list