Jak ustabilizować filesystem?
Łukasz Maśko
masko w ipipan.waw.pl
Czw, 18 Wrz 2014, 15:07:41 CEST
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"
Więcej informacji o liście pld-users-pl