Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Laitealue => Aiheen aloitti: Ux64 - 23.01.08 - klo:07.08
-
Nyt on sellainen ongelma, että tiedostot jotka suljetaan juuri ennen järjestelmän sammuttamista tuntuu korruptoituvan levyllä. Onko kukaan törmännyt siihen että writeback cachen flushaus kiintolevylle epäonnistuisi koneen sammutuksen yhteydessä?
Tuohon oireet viittaavat mielestäni vahvasti. Joku jo sanoi että kiintolevy pitäisi vaihtaa, mutta kun ei siinä ole "mitään vikaa". Useista testeistä huolimatta.
Tuossa hieman taustaa ongelmien kanssa taisteluun:
http://forum.ubuntu-fi.org/index.php?topic=15255.0
Näitä can't set xfermode irq 19 virheitä tulee edelleen bootissa ajoittain, joilla voisi olla joku yhteys asiaan?
(http://picozilla.com/files/150244timgp0123.jpeg) (http://picozilla.com/en/150244/imgp0123.jpeg.html)
Kaikenlaisia ideoita otetaan vastaan. Olen lukenut tämän forumin ja ubuntu forumssin juttuja läpi kasoittain. Eikä ole löytynyt tähän ratkaisua. Paitsi yksi ehdotus jota en ole vielä kokeillut. Kuulemma SATA liittimet pitäisi asentaa "ylhäältä alaspäin" siten että käytetään suurimmat numerot ensin, koska pienempi numeroiset liittimet voivat bugata? Kuulostaa järjettömältä, mutta onhan sitä ennekin ihmeellisiä juttuja nähty.
http://ubuntuforums.org/showthread.php?t=637721&highlight=err_mask+0x40
Tällaista viestiä puskee shutdownin yhteydessä, onko suossa mahdollisesti jotain fataalia?
(http://picozilla.com/files/150245timgp0125.jpeg) (http://picozilla.com/en/150245/imgp0125.jpeg.html)
Tai pitäisikö kaivaa jostain logeista mahdollisesti jotain lisätietoa että ongelma ratkeaisi?
Tulipahan vielä mieleen että on tuossa kiintolevyssäkin 16 megan cache. Joka voisi pahimmassa tapauksessa aiheuttaa ongelmia "nopeassa sammutuksessa". NCQ:n kanssa sitä ilmeisesti käytetään kirjoitusten puskurointiin. Toisaalta tuon todennäköisyys on mielestäni aika pieni. Koska aikaa tuon datamäärän kirjoittamiseen, nopealla levyllä on enemmän kuin riittävästi. Enemmän viittaisi joko järjestelmän konfigurointi ongelmiin tai ongelmiin IP35 piirisarjan ja ubuntun levy I/O:n kanssa sammutuksessa. Koska käytönaikana data ei korruptoidu, vaan nimen omaan sammutusken yhteydessä.
- Kiitos
-
En ole kokeillut. Ongelmat ilmenee vain satunnaisesti bootissa. Ja datan korruptoituminen tapahtuu satunnaisesti shutdownissa. Mutta mitä lähempänä data on tallennettu levylle (tai cacheen?) ennen shutdownia. Niin sitä todennäköisempää on että se korruptoituu.
Tulee siis fiilis, että cache flushin puuttuminen ennen shutdownia voisi olla ongelman lähde.
Sitten seuraava kysymys. Kuten tuunaus threadissa ilmenee, olen säätänyt koneen palveluita. Onko mikään palvelu mahdollisesti tuon cache flushin osalta välttämätön? Jos on, niin siinä se syy voisi olla. ;) Sellasta se on kun säätää.
Inbox on usein Evolutionissa korruptoitunut ja samoin Deluge korruptoi usein tietoja. Kaikki nämä ovat siis sovelluksia jotka ovat auki kun valitsen shutdown ja näin ollen niiden data menee levylle juuri ennen sammutustaa. Jos flush failaa, niin sehän tiedetään mitä siitä seuraa. Varsinkin kun levy on nyt writeback tilassa.
Väärään paikkaan osoittava pointteri levykirjanpidossa olisi luonnollinen selitys sille, että fileiden sisältönä on "silkkaa roskaa".
- Kiitos lueskelen vielä noi irqpoll jutut läpi.
Tiedä sitten onko ehkä linuxin NCQ tuessa tai IP35 emon NCQ tuessa jotain vikaa? Koska sehän voi mahdollisesti pahentaa assynchronous ongelmia, kun se sallii 32 requestin jonoamisen ja vastaukset satelee myöhemmin. Jostain syystä tuokin näyttäisi olevan disabloituna (0/32)
[ 25.482498] ata1.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 0/32)
[ 25.703591] ata2.00: 312581808 sectors, multi 16: LBA48 NCQ (depth 0/32)
Pitäs olla ok.
[ 25.301596] ata1: SATA max UDMA/133 cmd 0x000000000001f900 ctl 0x000000000001f802 bmdma 0x000000000001f500 irq 19
[ 25.482494] ata1.00: ATA-8: SAMSUNG HD501LJ, CR100-11, max UDMA7
[ 25.482498] ata1.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 0/32)
[ 25.490577] ata1.00: configured for UDMA/133
Hmm. Säädän ton IRQPOLL:in ja katson vaikuttaako se postiivisesti asiaan vai ei. - Kiitos vihjeistä.
Nyt on IRQPOLL päällä, katotaan boottaako vielä. ;)
sync komento näköjään tyhjentää bufferit levylle.
Lähti käyntiin, mikään ei tosin näytä muuttuneen.
dmesgit ja infot...
[ 0.000000] Command line: root=UUID=1466f0a6-960d-4c85-9def-f2f0342b16c3 ro irqpoll quiet rootflags=data=writeback
[ 0.000000] BIOS-e820: 000000007fee3000 - 000000007fef0000 (ACPI data)
[ 0.000000] PERCPU: Allocating 34696 bytes of per cpu data
[ 0.000000] Kernel command line: root=UUID=1466f0a6-960d-4c85-9def-f2f0342b16c3 ro irqpoll quiet rootflags=data=writeback
[ 20.543435] Memory: 2054924k/2096000k available (2274k kernel code, 40688k reserved, 1181k data, 296k init)
[ 23.837885] libata version 2.21 loaded.
[ 24.642797] ata_piix 0000:00:1f.2: version 2.11
[ 24.642802] ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
[ 24.643001] scsi1 : ata_piix
[ 24.643038] scsi2 : ata_piix
[ 24.643114] ata1: SATA max UDMA/133 cmd 0x000000000001f900 ctl 0x000000000001f802 bmdma 0x000000000001f500 irq 19
[ 24.643117] ata2: SATA max UDMA/133 cmd 0x000000000001f700 ctl 0x000000000001f602 bmdma 0x000000000001f508 irq 19
[ 24.823804] ata1.00: ATA-8: SAMSUNG HD501LJ, CR100-11, max UDMA7
[ 24.823809] ata1.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 0/32)
[ 24.833115] ata1.00: configured for UDMA/133
[ 25.046745] ata2.00: ATA-7: ST3160812AS, 3.AAH, max UDMA/133
[ 25.046750] ata2.00: 312581808 sectors, multi 16: LBA48 NCQ (depth 0/32)
[ 25.113339] ata2.00: configured for UDMA/133
[ 25.113588] ata_piix 0000:00:1f.5: MAP [ P0 P2 P1 P3 ]
[ 25.113653] scsi3 : ata_piix
[ 25.113680] scsi4 : ata_piix
[ 25.113725] ata3: SATA max UDMA/133 cmd 0x000000000001f200 ctl 0x000000000001f102 bmdma 0x000000000001ee00 irq 19
[ 25.113727] ata4: SATA max UDMA/133 cmd 0x000000000001f000 ctl 0x000000000001ef02 bmdma 0x000000000001ee08 irq 19
[ 25.447540] scsi5 : pata_jmicron
[ 25.447579] scsi6 : pata_jmicron
[ 25.447648] ata5: PATA max UDMA/100 cmd 0x000000000001df00 ctl 0x000000000001de02 bmdma 0x000000000001db00 irq 17
[ 25.447650] ata6: PATA max UDMA/100 cmd 0x000000000001dd00 ctl 0x000000000001dc02 bmdma 0x000000000001db08 irq 17
[ 25.749844] EXT3-fs: mounted filesystem with writeback data mode.
[ 25.880211] ata5.01: ATAPI: LITE-ON DVDRW SOHW-1693S, KS06, max UDMA/66
[ 26.053361] ata5.01: configured for UDMA/66
[ 29.534720] scsi 0:0:0:0: Direct-Access Kingston DataTraveler U3 6.50 PQ: 0 ANSI: 0 CCS
[ 35.304367] EXT3-fs: mounted filesystem with writeback data mode.
Infot:
/dev/sda:
ATA device, with non-removable media
Model Number: SAMSUNG HD501LJ
Serial Number: S0MUJ1NP813697
Firmware Revision: CR100-11
Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5
Standards:
Supported: 8 7 6 5
Likely used: 8
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 268435455
LBA48 user addressable sectors: 976773168
device size with M = 1024*1024: 476940 MBytes
device size with M = 1000*1000: 500107 MBytes (500 GB)
Capabilities:
LBA, IORDY(can be disabled)
Queue depth: 32
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 16
Recommended acoustic management value: 254, current value: 254
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6 udma7
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* SMART feature set
Security Mode feature set
* Power Management feature set
* Write cache
* Look-ahead
* Host Protected Area feature set
* WRITE_BUFFER command
* READ_BUFFER command
* NOP cmd
* DOWNLOAD_MICROCODE
SET_MAX security extension
* Automatic Acoustic Management feature set
* 48-bit Address feature set
* Device Configuration Overlay feature set
* Mandatory FLUSH_CACHE
* FLUSH_CACHE_EXT
* SMART error logging
* SMART self-test
* General Purpose Logging feature set
* 64-bit World wide name
* WRITE_UNCORRECTABLE command
* Segmented DOWNLOAD_MICROCODE
* SATA-I signaling speed (1.5Gb/s)
* SATA-II signaling speed (3.0Gb/s)
* Native Command Queueing (NCQ)
* Host-initiated interface power management
* Phy event counters
DMA Setup Auto-Activate optimization
Device-initiated interface power management
* Software settings preservation
* SMART Command Transport (SCT) feature set
* SCT Long Sector Access (AC1)
* SCT LBA Segment Access (AC2)
* SCT Error Recovery Control (AC3)
* SCT Features Control (AC4)
* SCT Data Tables (AC5)
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
supported: enhanced erase
168min for SECURITY ERASE UNIT. 168min for ENHANCED SECURITY ERASE UNIT.
Checksum: correct
Ok? Saas nähä sekoileeko data vielä. NCQ on vieläkin 0/32.
-
Nyt ei ole tiedot korruptoitunut...
Mitä tulee muuten writecacheen, se näköjään voi olla 4 gigan systeemi muistilla melkoinen.
sync komennon suorittaminen kesti 10 sekuntia kun se kirjoitti kaiken datan levylle. Olin yllättynyt. Karkeasti laskettuna tuo tarkoittaa noin 400 ja pahimmillaan 800 megan puskurin tyhjentämistä.
Jos siis tuon datamäärän purkaminen write cachesta unohtuu tai purkautuu vain osin, en yhtään ihmettele jos tiedostojärjestelmä ja data korruptoituu.