Nu nenocietos padalīties neizmērojamajā priekā, ka vismaz lielākā daļa datu nekur nav pazudusi...
Izrādās, ka hardware RAID (mirror) tomēt nepalīdz gadījumos, ja nomirst viens no diviem cietajiem diskiem :) Teiksim tā - dotajā brīdī izskatās, ka viens (paldies dievam NE source disks) no spogulī esošajiem diskiem vienā brīdī vienkārši aizmidzis, kā rezultātā, nabaga linuksis, provējot kauč ko ierakstīt, ir atstiepies.
Izslēdzot/ieslēdzot kasti, RAID BIOSs saka, ka vot ir problēma ar RAIDU, ibo tas ir salīcis.
Tad nu izņemam disku, ieliekam atpakaļ, RAID BIOSs saka, ka nu viss ir bumbās. Linuksis, protams, saka, ka viss ir slikti. Nu, ko, rebuildojam RAID masīvu iekš to BIOSu. Pēc laika pārlādējam pickasteserveri (<g>).
Linuxis savukārt pieprasa reiserfsck --rebuild-tree
. Darām. Paiet laiciņš, viš tur padzēš, pakoriģē, u.t.t.
Rebūts. Kaste tiešām ielādējas!!!
Un, kas dīvaini, strādā :) Taču, rodas nākamās problēmas. Viens no būtiskākajiem failiem - Cyrus mailboxes.db
nehavo pareizu maģisko sākumu. Fiksi uzdibājam skripteli, kurš no direktoriju struktūras uztaisa man nepieciešamo teksta failu, kuru pēcāk var ieimportēt ar ctl_mboxlist
:
TAB=`echo -e \\\t`
cd /var/spool/imap/user
find . -type d | grep ./ |
sed -e "s/\.\///" |
sed -e "s/\//\./g" |
sed -e "s/\([a-z]*\)\(.*\)/user\.\1\2${TAB}
default${TAB}\1${TAB}lrswipcda${TAB}
cyrus${TAB}lrswipcda${TAB}/"
# Pēdējās trīs rindiņas patiesībā ir viena rinda :)
Tālāk jau elementāri nokonvertējam to uz mailboxes.db
: /usr/lib/cyrus/ctl_mboxlist -u -f /var/imap/mailboxes.db <mailboxes.txt
Viss it kā ir OK. Taču, izrādās, ka folderiem vēl owneršips ir dibinā. Fiksi uzducinām PHP skripteli. Pie kam, izrādījās, ka arī quotas ir nokritušas, kā rezultātā, saliekam defaultās un tad veicam izmaiņas tiem, kuriem tās bijušas lielākas (quotu izmaiņas tiek logotas iekš DB).
Un tagad atliek tāds viens sīkums, kā gaidīt to cilvēku zvanus, kuriem pastkastītes būs nobrukušas (lost direktoriju skaits ir 173, tad nu kā minimums tik pat varētu būt tādu lietotāju).