1. Bescherming van digitale data in de UA-bibliotheek

Abstract:Een overzicht van de gevolgde strategie, de beveiliging, de archivering en herstel van digitale data
Auteur:Luc Bastiaenssen
Datum:25-04-2017

1.1. Inleiding

De UA-bibliotheek kent de laatste jaren een explosieve aangroei van digitale data. Naast de traditionele opslag van Bibliografische beschrijvingen en metadata in een databank toepassing, ontsluit de bibliotheek nu ook full text documenten en digitale beelden. Anet, het ontwikkelteam binnen de UA-bibliotheek, heeft geïnvesteerd in krachtige servers en voldoende opslagruimte om tegemoet te komen aan deze nieuwe trend. Het team heeft tevens nieuwe richtlijnen uitgewerkt voor het veilig (her)stellen van deze gegevens. Dit document geeft een gedetailleerd overzicht van de backup en restore procedures.

1.2. Doelstelling

  • Het falen van servers en opslagsystemen tot een miminum herleiden.
  • Het bewaken van de M databanken: Deze databank bevat de bibliografische records en metadata en vormt het hart van de Brocade toepassing.
  • Het opzetten van een automatisch backup en restore instrument op basis van standaard posix tools voor het veilig stellen van full text gegevens.
  • Een model uitwerken om, met behulp van versie controle, point in time herstel van full text bestanden mogelijk te maken. Dit beschermt de gebruiker onder andere tegen het ‘per ongeluk’ verwijderen van bestanden.
  • Het model en de gebruikte instrumenten onafhankelijk laten werken van de Brocade toepassing.

1.3. De servers en opslagsystemen

Hardware kan altijd falen. Hoe voorkomt men dat gegevens verloren gaan en welke technieken bestaan er om hardware problemen op te vangen zodat de Brocade toepassing alsnog beschikbaar blijft voor de bibliotheek gebruikers.

Kwaliteit
Er is gekozen voor kwalitatief hoogstaande produkten mede bepaald door een jarenlange expertise zowel op vlak van hardware als van software. Het operating systeem en de gebruikte software tools worden gekozen op basis van veelvuldig gebruik en testen op de software development server.
Omgeving

De primaire servers en opslagsystemen bevinden zich in de centrale server room van de UA op Campus Drie Eiken. Er is bewust voor deze locatie gekozen omdat deze ruimte een aantal belangrijke voordelen biedt:

  • Airconditioned: Hardware componenten zijn gevoelig voor temperatuurschommelingen en kunnen daardoor falen. De koelinstallatie houdt de temperatuur constant op ongeveer 17 graden Celsius.
  • UPS: Elk rack is aangesloten op een centrale Uninteruptable Power Supply met batterijen. De batterijen leveren electriciteit in het geval van een kortstondige stroomonderbreking. De UPS nivelleert de stroom, met andere woorden verwijdert de onzuiverheden (pieks & spikes) die aanleiding kunnen geven tot defekte onderdelen.
  • No break generator: In geval van een landurige stroompanne wordt de electriciteit geleverd door een dieselgenerator.

De server waarop de backup data staat, is bewust op een andere locatie geplaatst. Deze server bevindt zich in de server room op de Stadscampus. In het geval van een ramp scenario waarbij de primaire servers op Campus Drie Eiken verloren zijn gegaan, kunnen de gegevens nog altijd hersteld worden vanaf de backup server.

Redundantie
Een aantal hardware componenten in de server en opslagapparatuur zijn ontdubbeld. Men spreekt dan van een redundant onderdeel. vb. de voeding of harde schijven. Indien een dergelijk onderdeel defekt is kan de server gewoon verder blijven werken. Meestal is dit onderdeel hot swappable. Met andere woorden dit onderdeel kan vervangen worden zonder de server stil te leggen.
Eenvoud
Geen snapshots, compression of de-duplication op het niveau van het Operating system, geen third-party backup software of andere buitenaardse produkten. Door de kiezen voor eenvoud en robuuste standaard software tools is er geen beperking in de keuze van een platform en operating system om herstel operaties uit te voeren.
RAID

De primaire severs werken in een RAID-10 opstelling.

Harde schijven kunnen falen en moeten vervangen kunnen worden zonder implicaties voor de bibliotheek werking. RAID is in de ICT wereld ontwikkeld en heeft tot doel de betrouwbaarheid en performantie van harde schijven te verbeteren.

Notitie

Professionelere systemen hebben de mogelijkheid om meerdere schijven te plaatsen waarbij men een grotere schijf kan maken, maar de data ook bewaard blijft als één van de schijven sneuvelt. Dit wordt gedaan door een deel van de opslagcapaciteit te reserveren als veiligheidsbackup.

Notitie

RAID-10: Mirroring: de gevevens worden simultaan op twee of meer schijven geschreven. Dit is heel goed voor de betrouwbaarheid (als een schijf defekt is haalt de controller de data gewoon van de overgebleven schijf). Je verliest echter 50% van je capaciteit. Lezen van grote bestanden kan dan wel sneller, want de verschillende schijven van de mirror kunnen ingezet worden om afwisselend een volledige track te lezen.

Onderhoud
Er is een next-business-day on-site service onderhoudscontract voorzien voornamelijk voor de levering van reserve onderdelen en support.
Reboot
Uit ervaring weten wij dat verborgen problemen met hardware en firmware dikwijls pas aan de oppervlakte komt tijdens het herstarten van de server. Deze fouten zijn meestal een voorbode van een naderend falen van één van de hardware componenten. Een snelle detectie is belangrijk. Daarom wordt de server elke nacht automatisch herstart.
Beheer
Snelle interventies zijn tegenwoordig mogelijk vanop afstand omdat de servers uitgerust zijn met een Remote Management Module die onafhankelijk werkt van de server. Deze module heeft een eigen batterij, netwerkaansluiting en webinterface. Een toepassing is vb. toegang tot de console via het web.
Firewall

Het campus netwerk van de Universiteit Antwerpen is goed beveiligd tegen internet aanvallen. ICT heeft hiervoor geinvesteerd in een firewall en Intrusion Detection system.

Dit zorgt voor voldoende afscherming voor de servers van de bibliotheek. Voor de zekerheid is op elk van deze servers een lokale firewall geactiveerd die voldoende afscherming biedt moest de eerste lijns beveiliging wegvallen.

Monitoring
Een centraal ‘monitoring’ systeem is opgezet die in realtime statistieken verzamelt van de servers. Met deze gegevens kan de systeembeheerder aan de slag om eventueel bij te sturen of om voorspellingen te doen op basis van de verzamelde cijfers.

1.4. Externe opslag backup server backup.anet.ua.ac.be

De huidige backup server bestaat uit een server waaraan twee storage arrays` zijn gekoppeld via een hardware RAID controller. De totale effectieve opslagcapaciteit bedraagt 39 TB verdeeld over 3 volumes.

Storage:2 x PowerVault MD1200
RAID:RAID 5
Stripe:64 KB
Disks:8 per volume
Management:/opt/MegaRAID/MegaCli/MegaCli64

Overzicht volumes op het operating systeem:

/storage1                  /storage2                    /storage3
|-- agrippa                |-- legato
|-- allegro                `-- dolce
|-- backup
|-- fabre
|-- iso
|-- moto
|-- oba
|-- obib
|-- piano
`-- vandale

1.5. Externe opslag doc server doc.anet.ua.ac.be

De huidige doc server bestaat uit een server waaraan twee storage arrays zijn gekoppeld via iSCSI. De totale effectieve opslagcapaciteit bedraagt 18 TB verdeeld over 2 volumes.

Storage:Dell MD3600i
Management:/opt/dell/mdstoragesoftware/mdstoragemanager/client/SMclient

Overzicht volumes op het operating systeem:

/dg1 (RAID-5,256KB,11GB)  /dg2 (RAID-5,128KB,7GB)
`-- digcat                |-- webdav
                          `-- docman

1.6. Software Tools

  1. Binnen Brocade zijn een aantal software tools (toolcat applicaties) ontwikkeld en richtlijnen uitgewerkt.

    Toolcat applicaties
    mutil
    Beheer van M databanken: configuratie, backup/restore, import/export
    backup
    Backup programma dat gebruikt maakt van ssh en scp commando’s
  2. Standaard unix posix tools voor data transfers

    Unix commando’s
    ssh, scp Software om computerbestanden veilig tussen twee computers over te brengen
    rsync Software dat bestanden en directory’s synchroniseert.
  3. Versie controle: Mercurial

    Mercurial is een versiebeheersysteem.
    Eigenschapen:
    • Open source
    • Distributed architecture
    • Snel
    • Eenvoudig
    • platform onafhankelijk

1.7. Het bewaken van de M databanken

1.7.1. Afspraken:

  • De M databanken, M routines en M configuratie zijn geinstalleerd onder /library/mumps.
  • De dagelijkse full backup van de M databanken zijn gegroupeerd in /brocadefull.

1.7.2. Layout M omgeving:

/library/mumps

|-- brocade            Brocade databanken
|   |-- db
|   |-- tmpfs
|-- gtm                GT.M distributie
|-- journal            Journal files
|   |-- gtm
|-- logs
|-- plugins            Plugins (md5, zmq)
|-- repl               Replicatie
`-- routines           M Routines

1.7.3. Backup procedure

Full backup van de M databanken op server anet.ua.ac.be
Procman proces: moto.brocadefull
Tool: mutil -backup
Frequentie: dagelijks
Duur: 5 minuten
Source: GT.M regions DEFAULT, X, XS
Destination: lokaal in /brocadefull
Beschikbaar: In GT.M region BACKUP
Remote backup naar server backup.anet.ua.ac.be
Procmanprocess: moto.backuptoremote
Tool: backup -run
Versiecontrole: ja
Frequentie: dagelijks
Duur: 1 uur
Source: /brocadefull
Destination: Op server backup.anet.ua.ac.be in /moto/brocadefull
Nuttige commando’s
mutil -config show Toont M configuratie
mutil -list uci Toont Uci’s (GT.M regions)
mutil -direct uci=backup M prompt in region BACKUP
mutil -gout [MYGLOBAL] uci=backup format=gtmbin (vervang [MYGLOBAL]) Export global [MYGLOBAL] in GT.M bin formaat uit region BACKUP

1.7.4. Herstel procedure

  • Dag -1: De gegevens van de vorige dag zijn beschikbaar op MOTO in region BACKUP

    Notitie

    Tools om een GLOBAL van de vorige dag naar buiten te brengen op MOTO

    • mutil -direct uci=backup
    • mutil -gout [MYGLOBAL] uci=backup (vervang [MYGLOBAL])
  • Oudere versies: Deze staan op de backup server backup.anet.ua.ac.be in /moto/brocadefull

    Notitie

    Procedure om een GLOBAL naar buiten te brengen op de BACKUP server

    Op de BACKUP server bestaat een uci BACKUP die verwijst naar folder /library/brocadefull
    Zie mutil -info
    • cd /moto/brocadefull
    • Noteer de juiste folder aan de hand van de datum. vb. .01
    • rm -f  /library/brocadefull (verwijder software link)
    • ln -s /moto/brocadefull/.xx /library/brocadefull (vervang .xx)
    • Gebruik mutil -direct uci=backup of vb. mutil -gout [MYGLOBAL] uci=backup

1.8. Backup van het operating systeem

De backup gebeurt aan de hand van bash script /backup/backup_systemfiles. Deze script is afgestemd op het type server en operating systeem. De bestemming is altijd directory /backup. Er wordt enkel gebruik gemaakt van standaard unix tools zoals tar, find en cpio, zodat de gearchiveerde gegevens eenvoudig hersteld kunnen worden op een ander platform.

Een overzicht van de belangrijkste servers opgenomen in deze procedure:

server DNS naam procman process Frequentie Duur
moto anet.ua.ac.be moto.backupos zaterdag 19u 40 min.
doc doc.anet.ua.ac.be dolce.backupos zaterdag 19u 5 min.
dev dev.anet.ua.ac.be legato.backupos zondag 4u 15 min.
mail mail.anet.ua.ac.be piano.backup dagelijks 22u  
oba oba.anet.ua.ac.be oba.backupandboot dagelijks  

1.9. Remote backup

Een belangrijk onderdeel voor het veilig stellen van documenten is het kopiëren naar de backup server backup.anet.ua.ac.be.

De gebruikte commando’s:

Configuratie:backup -config
Backup:backup -run

Een overzicht van servers die opgenomen zijn in deze procedure:

server DNS naam folder op de backupserver Frequentie Duur
moto anet.ua.ac.be /moto dagelijks 2u 60 min.
doc doc.anet.ua.ac.be /dolce dagelijks 2u 5 min.
dev dev.anet.ua.ac.be /legato dagelijks 1u 40 min.
mail mail.anet.ua.ac.be /piano dagelijks 3u 5 min.
oba oba.anet.ua.ac.be /oba dagelijks 6u 5 min.
allegro allegro.cde.ua.ac /allegro manueel

Configuratie op server anet.ua.ac.be:

archive :
   Directory        : /library/archive
backup :
   Directory        : /backup
brocadefull :
   Directory        : /brocadefull
explorator :
   Directory        : /library/database/explorator
process :
   Directory        : /library/process
roundup :
   Directory        : /library/database/roundup
   Version Control  : True
web :
   Directory        : /library/httpd
wiki :
   Directory        : /library/database/wiki
   Version Control  : True

Configuratie op server doc.anet.ua.ac.be:

backup :
   Directory        : /backup
digcat :
   Directory        : /library/database/digcat
process :
   Directory        : /library/process
webdav-artesis :
   Directory        : /library/database/webdav/artesis
webdav-sba :
   Directory        : /library/database/webdav/sba
webdav-stcv :
   Directory        : /library/database/webdav/stcv
webdav-ua :
   Directory        : /library/database/webdav/ua
webdav-uahome :
   Directory        : /library/database/webdav/uahome
webdav-uapreciosa :
   Directory        : /library/database/webdav/uapreciosa
webdav-vabb :
   Directory        : /library/database/webdav/vabb
webdav-vabbshw :
   Directory        : /library/database/webdav/vabbshw

1.10. Back-up en herstel van de WebDAV repository

  1. Dagelijks backup naar de backup server backup.anet.ua.ac.be in folder /dolce.

  2. Versie controle met mercurial software

    • Om het kwartier worden de webdav folders onder versiecontrole geplaatst.
    • Zie procman process standard.webdavvc (webdav -vc commit) op de doc server.
    • De mercurial repository bevindt zich op de doc server doc.anet.ua.ac.be in folder /library/database/webdav/ua/.hg
    • Bij elke commit wordt de mercurial repository ook nog eens gesynchroniseerd op de backup server backup.anet.ua.ac.be in folder /dolce/webdav-ua-hg Zie brocade metadata backup en backup target in Beheer van webdav sites.

    Notitie

    Hoe kan je een bestand dat geschrapt is terugzetten met het ‘hg’ commando.

    Een voorbeeld:

    1. Op doc.anet.ua.ac.be: cd /library/database/webdav/ua

    2. Zoek laatste revisie mbv. reguliere uitdrukking: hg log -l 1 -v re:.*Vakantiekalender2013.xls$

      changeset:   1354:bddb05d9ed8c
      user:        usystem
      date:        Wed Feb 27 16:13:29 2013 +0100
      files:       data/lezerdiensten/cgb/leeszaalcollectie/UDC's/cgb-alg-ne-a3.doc
                   data/lezerdiensten/cgb/leeszaalcollectie/UDC's/cgb-bio-e-a3.doc data/lezerdiensten/cgb/leeszaalcollectie/UDC's/cgb-
                   bio-n-a3.doc data/lezerdiensten/cgb/leeszaalcollectie/UDC's/cgb-nat-e-a3.doc
                   data/lezerdiensten/cgb/leeszaalcollectie/UDC's/cgb-nat-n-a3.doc data/lezerdiensten/cgb/leeszaalcollectie/UDC's/cgb-
                   schk-e-a3.doc data/lezerdiensten/cgb/leeszaalcollectie/UDC's/cgb-schk-n-a3.doc data/vakantie/Vakantie CDE CMI
                   CGB/Vakantiekalender2013.xls data/weekplanning/Weekplanning 25 feb tot 1 mrt 2013.xls
      description: 2013-02-27 16:13:24.909717
      
    3. Herstel het document: hg revert -r 1353 'data/vakantie/Vakantie CDE CMI CGB/Vakantiekalender2013.xls'

    Notitie

    Hoe kan je een bestand terugzetten met de toolcat applicatie webdav

    webdav -vc restore is een interactieve en gebruiksvriendelijke tool om bestanden terug te zetten.

    legato-dev /> rm -f /library/database/webdav/ua/data/D21/D22/dublin2.pdf
    legato-dev /> webdav -vc commit
    legato-dev /> webdav -vc restore
    File name pattern: glob:**dublin*
    
    revision: 19
    date    : 2013-03-22T14:54:25+01:00
    
    1: data/D21/D22/dublin2.pdf action=removed
    To restore, give a file number: 1
    Restore data/D21/D22/dublin2.pdf from revision: 18 with date: 2013-03-22T12:16:51+01:00 ? (Yy)Y
    data/D21/D22/dublin2.pdf restored from revision: 18
    
  3. Dagelijks worden tijdelijke bestanden en de cache opgeruimd. Zie procman process standard.webdavcleanup (webdav -clean)

  4. Om de 2 uur worden nieuwe office documenten geconverteerd naar pdf. Zie procman process standard.webdavconvert (webdavconvert -run)

1.11. Back-up en herstel van het digitaal archief docman

Elk uur wordt de docman folder /library/database/docman op de server doc.anet.ua.ac.be gesynchroniseerd met de backupserver backup.anet.ua.ac.be in folder /dolce/docman

  • Zie procman process dolce.backupdocman
  • commando: rsync -rupogtlWhh --stats /library/database/docman/ r4_backup_server:/dolce/docman
  • Frequentie: elk uur
  • rsync wordt gebruikt ipv. de toolcat applicatie backup om de modification times te behouden.
  • Bestanden op de backup server worden hierbij niet geschrapt.
  • Op de backup server wordt elke nacht docman -db murder uitgevoerd. Zie script /etc/cron.daily/docmanmurder

1.12. Back-up en herstel van het digitaal platform

  • De moederbestanden (tiff) staan op de server doc.anet.ua.ac.be in folder /library/database/digcat/originals en op de server backup.anet.ua.ac.be in folder /dolce/digcat
  • Bestanden op de backup server worden niet geschrapt.