är min hårddisk påväg att packa ihop?

Permalänk
Medlem

är min hårddisk påväg att packa ihop?

Har försökt att hitta svar på google och linkande men hittar tyvärr inte så jätte mycket förutom att vissa säger att det kan vara en bug och andra att disken håller på att packa ihop helt.
det var så att jag skulle flytta en fil från min dator till min nas men fick då felet
Error reading from file: Input/output error
och när jag flyttar filen en plats till en annan på datorn så får jag
Error splicing file: Input/output error

dmesg output
[ 491.659360] ecryptfs_decrypt_page: Error attempting to read lower page; rc = [-5]
[ 491.659368] ecryptfs_readpage: Error decrypting page; rc = [-5]
[ 496.601873] ata1.00: exception Emask 0x0 SAct 0x7fffffff SErr 0x0 action 0x0
[ 496.601881] ata1.00: irq_stat 0x40000008
[ 496.601887] ata1.00: failed command: READ FPDMA QUEUED
[ 496.601899] ata1.00: cmd 60/08:40:10:8e:15/00:00:18:00:00/40 tag 8 ncq dma 4096 in
res 41/40:00:10:8e:15/00:00:18:00:00/00 Emask 0x409 (media error) <F>
[ 496.601904] ata1.00: status: { DRDY ERR }
[ 496.601908] ata1.00: error: { UNC }
[ 496.735947] ata1.00: configured for UDMA/133
[ 496.736007] sd 0:0:0:0: [sda] tag#8 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 496.736014] sd 0:0:0:0: [sda] tag#8 Sense Key : Medium Error [current]
[ 496.736020] sd 0:0:0:0: [sda] tag#8 Add. Sense: Unrecovered read error - auto reallocate failed
[ 496.736026] sd 0:0:0:0: [sda] tag#8 CDB: Read(10) 28 00 18 15 8e 10 00 00 08 00
[ 496.736030] print_req_error: I/O error, dev sda, sector 404065808
[ 496.736096] ecryptfs_decrypt_page: Error attempting to read lower page; rc = [-5]
[ 496.736107] ecryptfs_readpage: Error decrypting page; rc = [-5]
[ 496.736120] ata1: EH complete

någon som kan det här bättre som kan förklara?

Permalänk
Sötast

Vad säger S.M.A.R.T?

Permalänk
Medlem

@Allexz: Vet inte har inte kollat det än men om det får ta och göra en sån test

Permalänk
Medlem

Ser ut att vara klara ATA IO-fel - dvs. disken meddelar fel vid läsning aka oläsliga sektorer.

Vad är det för RAID-geometri på logiska volymen du läser ifrån - nästan att det ser ut som singeldisk eller Jbod - dvs. RAID utan paritet, och då hamnar man i det läget när en disk börja packa ihop... till detta så har du ecryptfs ovanpå allt vilket gör att du bör vara säker på att ha nyckeln för volymen så att de kan accessas även om diskarna inte längre ligger på NAS:en i tex olika räddnings-aktion.

Hoppas dina backupper på din NAS är ny-uppdaterade - annars är det dags att göra det nu (det är egentligen försent att göra en full-backup när du redan börja ha IO-fel då att göra backup nu innebär hög stress på NAS:ens diskar och fler fel kan uppträda, medans med gammal rsync-backup (efter man gjort en cp -la /sökväg/till/filträd /sökväg/till/filträd/för/backup på sin backupdisk eller om lagringsdisken är en BTRFS-filsystem så gör man en snapshot innan backuppen ) så är det bara filerna som ändrats och lagts till sedan förra backuppen som kopieras över - vilket gör att de skadade filerna kanske inte ens läses för att de redan finns i korrekt version på backupdisken disken...

rsync bryter de hårda länkar som 'cp -al dir1 dir2' skapar om nya filen har annan datum - vilket gör att filerna som är i backuppen dir2 och normalt hårdlänkade till dir1 du synkar emot inte skrivs sönder om det skulle bli strul i överkopieringen...

Permalänk
Medlem
Skrivet av babblare:

Har försökt att hitta svar på google och linkande men hittar tyvärr inte så jätte mycket förutom att vissa säger att det kan vara en bug och andra att disken håller på att packa ihop helt.
det var så att jag skulle flytta en fil från min dator till min nas men fick då felet
Error reading from file: Input/output error
och när jag flyttar filen en plats till en annan på datorn så får jag
Error splicing file: Input/output error

dmesg output
[ 491.659360] ecryptfs_decrypt_page: Error attempting to read lower page; rc = [-5]
[ 491.659368] ecryptfs_readpage: Error decrypting page; rc = [-5]
[ 496.601873] ata1.00: exception Emask 0x0 SAct 0x7fffffff SErr 0x0 action 0x0
[ 496.601881] ata1.00: irq_stat 0x40000008
[ 496.601887] ata1.00: failed command: READ FPDMA QUEUED
[ 496.601899] ata1.00: cmd 60/08:40:10:8e:15/00:00:18:00:00/40 tag 8 ncq dma 4096 in
res 41/40:00:10:8e:15/00:00:18:00:00/00 Emask 0x409 (media error) <F>
[ 496.601904] ata1.00: status: { DRDY ERR }
[ 496.601908] ata1.00: error: { UNC }
[ 496.735947] ata1.00: configured for UDMA/133
[ 496.736007] sd 0:0:0:0: [sda] tag#8 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 496.736014] sd 0:0:0:0: [sda] tag#8 Sense Key : Medium Error [current]
[ 496.736020] sd 0:0:0:0: [sda] tag#8 Add. Sense: Unrecovered read error - auto reallocate failed
[ 496.736026] sd 0:0:0:0: [sda] tag#8 CDB: Read(10) 28 00 18 15 8e 10 00 00 08 00
[ 496.736030] print_req_error: I/O error, dev sda, sector 404065808
[ 496.736096] ecryptfs_decrypt_page: Error attempting to read lower page; rc = [-5]
[ 496.736107] ecryptfs_readpage: Error decrypting page; rc = [-5]
[ 496.736120] ata1: EH complete

någon som kan det här bättre som kan förklara?

Som @xxargs skriver så ser det ut som disken håller på att ge upp och är läge att försöka ta en inkrementell backup sen den senaste (om det inte har ändrats alltför mycket alltså, annars kan det vara bättre gå på med ddrescue direkt)

Sen om du inte fick med allt så är det nog ddrescue som gäller.

Permalänk
Medlem

@xxargs: Det är datorn som bråkar med mig eftersom att det är den jag får felen på och att jag inte kan flytta filer från del av datorn hdd till en annan plats på den utan får då "splice error "

men vad är det bästa sättet att göra en backup? måste erkänna att jag inte har lagt så mycket tid på det faktist.
eller ska jag bara byta hdd direkt och börja om från början? eller är det ens en värdig chans att rädda viss data eller fixa problemet?

> Vad är det för RAID-geometri på logiska volymen du läser ifrån - nästan att det ser ut som singeldisk eller Jbod - dvs. RAID utan paritet
hur får jag reda på det?

tror du att jag kan göra sudo rsync -aAXv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /mnt

men super tacksam för bra svar!

Permalänk
Medlem

@SAFA: kan jag göra ddrescue genom operativsystemet eller måste jag starta på sticka för att disken inte ska vara monterad?

Permalänk
Medlem

'lsblk' (i en terminal) är en bra kommando att se vilka partitioner de finns och om de är monterade någonstans, liknande

sda 8:0 0 7.3T 0 disk ├─sda1 8:1 0 4G 0 part └─md0 9:0 0 4G 0 raid1 / sdb 8:16 0 7.3T 0 disk ├─sdb1 8:17 0 4G 0 part └─md0 9:0 0 4G 0 raid1 / sdc 8:32 0 7.3T 0 disk ├─sdc1 8:33 0 4G 0 part └─md0 9:0 0 4G 0 raid1 / sdd 8:48 0 7.3T 0 disk ├─sdd1 8:49 0 4G 0 part └─md0 9:0 0 4G 0 raid1 /

logisk enheter md indikerar att de sitter i någon md-RAID och visas det något efter som "/", visar att de är monterade som root-filsystem (läs systemdisk)

annars får du läsa lite på 'mdadm' som är linux-systemens vanligaste hanterade RAID-hanterare

Om du gör 'dmesg | less' och bläddrar ned ända från början (relativt nystartas system - det är en cirkelbuffe så har det skrivits mycket så är början borta) så kan du se när mdadm börja koppla ihop diskarna och skapa virtuella volymer.

När det gäller ecryptfs måste man hålla tungan rätt i munnen då samma filer finns i två upplagor länkade mot varandra - en uppsättning är det krypterade versionen ofta i en subdirektory liknande ~.Private (där orginal-krypterade filerna finns) och en ~.ecryptfs (som har nycklarna och annan för virtuella filsystemet viktig metadata) och den avkrypterade versionen som du ser i samma directory --- pilla inte i dessa två nämnda subdirektorys... Den delen med kryptering kommer heller inte att synas under 'lsblk'

Det kan också ställa till med din rsync-backup att du kan få en dubbel upplaga av dessa filer, den krypterade versionen och den avkrypterade versionen och det tar oväntat dubbel plats på din lagringsdisk...

har systemet läsfel på filerna (vilket är troligt med tanke på att du får IO-fel ) så får du med rätt flaggor till rsync bestämma hur det skall hantera situationen - kan inte allt utantill

---

Om aktuella disken inte är monterad så kan du köra ddrescue - men är det systemdisken som du kör kommandona ifrån så är det inte bra - i de flesta fallen så är det uppstart separat sticka som gäller och att man ser till att disken alla partitioner som det skall kopieras ifrån ej är monterade innan man kör ddrescue.... (dvs. ddrescue /dev/sda /media/diskimage_sda /media/sda_loggfil) /dev/sda är disken man vill göra diskimage och disken du skall kopiera till får du förstås montera under /media

Även om man innan med rsync tar med alla filer som går i en session innan, så kommer man missa alla filer som har läsfel - dessa kommer troligen att saknas och är det många filer så är det svår att upptäcka att filer saknas och hur många.

Med diskräddning med ddrescue med upprepande läsningar på de dåliga sektorerna så kan det lyckas ibland och det räcker med en enda gång för att det skall uppdateras i disk-imagen - redan lästa sektorer försöker man inte läsa igen. - observera loggfilen som man skriver efter sökvägarna är jätteviktig, det gör också att du kan avbryta din räddningsförsök - göra det andra du skall och sedan återuppta till en senare tillfälle och den fortsätter där du var och inte börja från början

Kör man distrubitioner avset för diskräddning mm. som liknade systemrescuecd så är inga filer monterad per default utöver USB-stickan själv, och det gäller även disken du vill lagra filer till och måste monteras manuellt. -

'lsblk' används för att veta vilka diskar och Partitioner som finns och skall alltid köras innan varje session och kontrolleras då diskarna kan hoppa runt när man gör reboot eller stoppa in ytterligare disk (oftast bara tillägg i listan) Att det hoppar runt beror på att PCI-bussarna numrerar enheterna i den ordningen som de blir klara vid boot och det är inte alltid lika ordning.

Är du inte Linux-van så är det lämplig att öva på 'ofarliga' diskar först så att du inser hur det fungerar

Är diskarna i någon RAID-konstellation så måste du få med samtliga diskar image i raid-setet i din ddrescue-räddning

med losetup -f -P disk-image så får de under /dev/ ett antal loop-filer där var och motsvarar en partition på den imagen du gjorde losetup på. Den förstår automatiskt MBR/GPT i början på diskimagen för att hitta de ingående partitionerna.

Med detta behöver man inte köra tillbaka diskimagena igen till fysisk disk för att sedan sätta ihop ingående RAID-volymer och rädda filerna....

Permalänk
Medlem

@xxargs:

Tacker det där klarnade upp massor verkligen. Men jag ska kolla på det du sa.
och jag har en bit kvar av linux att lära mig, jag gräver ner mig i problem i den takt dom kommer lite:) men tack för en bra beskrivning

Permalänk
Medlem
Skrivet av babblare:

@SAFA: kan jag göra ddrescue genom operativsystemet eller måste jag starta på sticka för att disken inte ska vara monterad?

Är det systemdisken som krånglar och har du flera partitioner på disken som ska räddas kan du gå över i singel-user mode och där avmontera dem. Går dock inte avmontera systempartitionen.

Men som xxargs skriver, köra från sticka är bäst, beroende på vad det är för fel på disken kan den dö helt under räddningsförsöken och man kan behöva slå av och på strömmen för att återställa så inte bra att köra från den disken man ska rädda, även om data är på andra partitioner än systemet.

Är det flera diskar i datorn och inte systemdisken som ska räddas så går det bra köra från OS om disken avmonterad.

Är det flera partitioner på disken så kan man i stället för att ta hela disken på en gång (/dev/sdb) ta de partitioner man vill rädda separat (/dev/sdb1, /dev/sdb2 etc...) så blir det lite hanterligare och man kan montera dem direkt utan att köra losetup först.

Permalänk
Medlem

Jag skulle dock först köra ddrescue på hela disken - partitionerna går att plocka ut i efterhand om man måste medans en oläsbar disk vid andra läsningen så är datat borta för alltid.

Till detta skulle jag göra en sk. 'unwrap' på ecryptfs-volymen för att få ut den riktiga krypteringsnyckeln medans man är inloggade och ser filer avkodade - och också göra en rsync-backup på dessa filer.

Varför beror på att när man tar ut diskarna ur sina sammanhang och arbetar med annan OS så kommer inte nyckelhanteringen att går den tänkta vägen och filerna förbli låsta/krypterade - därav behöver man ha sin kryptonyckel i klarstråk för att kunna låsa upp dem - och det är inget man kan prova och gissa ut i efterhand om man inte har extraherat fram nyckeln sedan tidigare...

Krypton som används är starka - även mot användaren själv när denne har gjort bort sig eller råkat på haveri och det finns ingen 'bakväg' att utnyttja - ja förutom att ha tillgång till kryptonycken i klarspråk då...

kryptonyckeln är en lång sträng med hexadecimala siffror är något liknande som återtställningsnyckeln MS/adminstratören kan ge ut om man har dummat sig med bitlocker-volymen - ja under förutsättning att denna kopierats upp på AD (i företag) eller ms-kontot för användaren...