Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > by-pkgid > 4275f27a03145c1dd735c321a30f393b > files > 69

howto-text-nl-9.0-1mdk.noarch.rpm

  Backup-Met-MSDOS mini-HOWTO
  Christopher Neufeld, neufeld@physics.utoronto.ca,
  Vertaald door: Ellen Bokhorst, bokkie@nl.linux.org
  v, 5 augustus 1997

  In deze HOWTO wordt beschreven hoe een Linux compatibel tape-drive
  geïnstalleerd op een MS-DOS computer kan worden gebruikt om een backup
  te maken van een bestandssysteem op een Linux-computer.
  ______________________________________________________________________

  Inhoudsopgave


  1. Voorwoord/Introductie

  2. De techniek

  3. Opmerkingen

  4. Copyright



  ______________________________________________________________________

  1.  Voorwoord/Introductie

  Eerder postte ik op het Net de vraag, hoe men een backup maakt van een
  Linux computer naar een Colorado Jumbo 250 tape-drive aangesloten op
  een MS-DOS computer. Uit de email die ik ontving bleek dat dit een
  frequent overdacht probleem is. Nu dat ik erachter ben gekomen, post
  ik de methode. Als iemand dit in een HOWTO document wil gieten, laat
  me dit dan weten. Ik zou Jim Nance (jlnance@isscad.com) willen
  bedanken voor het erop wijzen dat een MS-DOS computer niet altijd een
  MS-DOS computer hoeft te zijn. Deze techniek zou ook moeten werken
  voor elke andere tape-drive die door de ftape-module wordt
  ondersteund, en voor SCSI tape-drives met de benodigde aanpassingen
  (d.w.z. vervang /dev/ftape door /dev/st0).

  De kriteria die ik stelde bestond hieruit dat de resulterende setup zo
  veilig mogelijk en tamelijk eenvoudig zou moeten zijn en dat het
  weinig tot geen ruimte in beslag zou nemen op de harddisk van de MS-
  DOS computer.  Het zou ook capabel moeten zijn in het herstellen van
  de ergst bedenkbare systeembeschadingen tot aan en inclusief diefstal
  van de harddisk, waarbij het nodig zou zijn een kaal Linux
  bestandssysteem terug te zetten.  In de hier beschreven techniek wordt
  gebruik gemaakt van een MS-DOS computer waarop geen harddiskruimte
  benodigd is, alhoewel het wel vereist is dat aan de computer een IP#
  is toegekend.  Je hebt drie geformatteerde, lege 1.44MB diskettes
  nodig.

  2.  De techniek

  Bij deze beschrijving zal ik naar de twee computers refereren als
  ``msdos'' en ``linux''. ``msdos'' is de naam van de computer waarop de
  tape-drive is aangesloten en waarop gewoonlijk MS-DOS wordt gedraaid.
  ``linux'' is de Linux computer waarvan getracht zal worden een backup
  van de disk te maken of gegevens van de tape-drive op deze disk terug
  te plaatsen. Ter vereenvoudiging zal ik naar de eerste computer
  verwijzen als ``msdos'' zelfs als wordt het geboot en zal het draaien
  onder Linux. Verder wordt ervan uitgegaan dat alle padnamen in dit
  document relatief zijn aan die van de Linux-computer met de Search-
  And-Rescue (SAR) disks ergens op het systeem gemount.  Dat betekent
  dat het bestand /etc/passwd het wachtwoordenbestand voor de harddisk
  van de Linux-computer is, terwijl bijvoorbeeld /tape144/etc/passwd het
  corresponderende bestand is op de diskette.
  Ik maak gebruik van de backupscripts van Karel Kubat, versie 1.03,
  beschikbaar op

       <ftp://sunsite.enc.edu:/pub/Linux/system/Backup/backup-1.03.tar.gz>


  In dit document verwijs ik hiernaar eenvoudigweg als ``de
  backupscripts''.  Je hoeft niet in het bezit te zijn van deze scripts
  voor je eigen backups naar tape. Ik vind deze scripts prettig
  aangezien ze gebruik maken van afio voor het aanmaken van een
  ongecomprimeerd archief van gecomprimeerde bestanden, in plaats van
  een gecomprimeerd archief met ongecomprimeerde bestanden.  De eerste
  is veel veiliger als er zich een leesfout van de media voordoet
  tijdens het terugzetten van de gegevens. Ik heb begrepen dat Karel
  backup niet langer ondersteunt en nu 'tob', oftewel tape geöriënteerde
  backup heeft geproduceerd. Ondanks dat ik het nieuwe package niet heb
  geprobeerd, geloof ik niet dat er een veelbetekenend verschil is met
  de procedure die hierin wordt uiteengezet.

  Ten eerste moet je zorgen aan de ftape module te komen.  Het maakt
  onderdeel uit van alle moderne kernels, maar mocht je nog een oudere
  kernel gebruiken dan is de module te vinden op:

       <ftp://sunsite.unc.edu/pub/Linux/kernel/tapes/ftape-2.05.tar.gz>


  Zorg vervolgens voor een Slackware bootdisk, (ik maakte gebruik van de
  netdisk, maar dit zou niet veel uit mogen maken) en de tape144
  rootdisk, en plaats de images op 3"1/2 diskettes.

  De ftape module werkt alleen als het in de kernel is geïnstalleerd
  welke draaide toen je het compileerde. Ik kreeg het niet werkend met
  de ftape.o module op de tape144 rootdisk, ik denk omdat die module van
  symbolen is ontdaan en niet zal installeren.  Zo en nu moet je een
  nieuwe kernel aanmaken met netwerk- en ftape-ondersteuning, en als je
  een oudere kernel draait, een nieuwe ftape.o.  Lees de aanwijzingen
  die met het ftape archief worden meegeleverd voor aanwijzigingen in
  deze fase.  Denk eraan dat de kernel die je compileert de
  Ethernetkaarten op zowel de Linux computer als de MS-DOS computer moet
  ondersteunen.

  Kopieer de nieuw aangemaakte kernel-image over die van de Net bootdisk
  heen.  Gebruik /bin/cp, en maak de bootdisk niet aan met de opdracht
  ``dd'' zoals je een opstartbaar kernel-image aan zou maken.  Beveilig
  de bootdisk tegen schrijven, en label het: SAR#1.

  Mount nu de tape144 root disk.  Ik ga ervan uit dat het mountpoint
  /tape144 is, om verwarring in bestandsnamen te voorkomen.  We hebben
  er wat vrije ruimte op nodig, dus verwijder de volgende bestanden:


       /tape144/bin/dialog
       /tape144/bin/elvis
       /tape144/bin/vi
       /tape144/boot/ftape.o




  Maak nu een nieuw bestand aan:


       /tape144/etc/exports



  waarin de volgende regel staat:


       /mnt    msdos(ro)




  ``msdos'' zou hierin moeten worden vervangen door de naam of het IP#
  van de MS-DOS computer waarop de tape-drive is geïnstalleerd.

  Dan voeg je regels toe aan het bestand /tape144/etc/hosts, zodat je
  niet afhankelijk bent van een naamserver , met de namen en IP-nummers
  van de Linux en MS-DOS computers.  In die van mij bijvoorbeeld staan
  de volgende regels:


       128.100.75.114  caliban.physics.utoronto.ca caliban caliban.physics
       128.100.75.111  ariel.physics.utoronto.ca ariel ariel.physics




  Er is een of ander probleem met de inetd config configuratie.  We
  moeten er de volledige padnaam van de rsh daemon in plaatsen.  Wijzig
  regel 19 van /tape144/etc/inetd.conf zo dat er staat:


       shell   stream  tcp     nowait  root    /usr/etc/tcpd   /usr/etc/in.rshd




  Voeg lokale netrouting informatie toe aan /tape144/etc/rc.d/rc.inet1
  zodat de MS-DOS computer het netwerk kan gebruiken.  Het formaat
  hiervan is afhankelijk van je netwerkconfiguratie.  Je kunt het van
  toepassing zijnde formaat gewoon kopiëren vanuit het Linux-bestand
  /etc/rc.d/rc.inet1.  Voor mijn netwerk, moeten hieraan de volgende
  regels worden toegevoegd:


       /etc/ifconfig eth0 128.100.75.111 broadcast 128.100.75.0 netmask 255.255.255.0
       /etc/route add -net 128.100.75.0 netmask 255.255.255.0




  Het IP# in de ifconfig regel is dat van de MS-DOS computer.

  Kopieer dit bestand nu naar /tape144/etc/rc.d/rc.inet1-l, en wijzig
  het IP# in het nieuwe bestand zodat het dat van de Linux-computer
  weergeeft in plaats die van de MS-DOS computer.

  Verwijder vervolgens de regels 3 tot 11 uit /tape144/etc/rc.local.
  Dat is een if-statement waarmee de rc.inet* bestanden worden
  uitgevoerd. We willen niet dat dit tijdens het opstarten gebeurt.

  Maak een nieuw bestand aan: /tape144/root/.rhosts met de regel:


       linux root




  waar nogmaals, ``linux'' is vervangen door de volledige computernaam
  (inclusief domein) of het IP# van de Linux-computer.

  Vul het wachtwoordveld in in /tape144/etc/passwd voor de root-login om
  te voorkomen dat mensen inloggen op de MS-DOS computer op het moment
  dat je de backup aan het maken bent.  Je kunt dit doen door het
  corresponderende veld vanuit het bestand /etc/passwd op je Linux-
  computer te kopiëren.

  Kopieer /usr/bin/rsh naar /tape144/usr/bin.

  Kopieer de volgende bestanden vanuit /usr/etc naar /tape144/usr/etc:


       in.rshd
       rpc.mountd
       rpc.nfsd
       rpc.portmap
       services
       tcpd




  Maak een nieuw script aan, /tape144/bin/tapesetup, met de volgende
  inhoud: (wijzig ``linux'' zo, dat het je Linux-computernaam
  weergeeft).


       #! /bin/sh

       /bin/sh /etc/rc.d/rc.inet1
       /bin/sh /etc/rc.d/rc.inet2

       /bin/mount linux:/nfs /mnt
       /bin/insmod /mnt/ftape.o




  Voor nieuwere kernels is de insmod regel niet nodig.

  Maak vervolgens als volgt nog een ander nieuw script,
  /tape144/bin/msdosset: (wijzig ``linux'' dat het de Linux-computernaam
  weergeeft).


       #! /bin/sh

       /bin/sh /etc/rc.d/rc.inet1
       /bin/sh /etc/rc.d/rc.inet2

       mount linux:/mnt /mnt
       /bin/insmod /mnt/ftape.o




  Net als hiervoor, is voor nieuwere kernels de insmod regel niet nodig.

  Maak een leesbaar bestand aan, /tape144/root/notes, met de volgende
  behulpzame informatie voor gebruik bij een volledig herstel:





  Voor een volledig herstel van een verwijderde harddisk,
  boot de Linux-computer met de SAR disks #1 en #2
  en typ dan het volgende:

     /bin/sh /etc/rc.d/rc.inet1-l
     /bin/sh /etc/rc.d/rc.inet2

     /usr/etc/rpc.portmap
     /usr/etc/rpc.mountd
     /usr/etc/rpc.nfsd

  Doe vervolgens SAR disk #3 in de drive en typ:

     mount /dev/fd0 /mnt

  Maak een nieuw mountpoint aan met:

     mkdir /mnt2

  en mount je Linux harddiskpartitie op dit punt.
  Mogelijk moet je eerst de partitie herformatteren, als dit zo is,
  volg dan de aanwijzingen op in de Linux installatie HOWTO.
  De SAR disks bevatten alle benodigde bestanden die nodig zijn voor de
  herformattering.

  Gebruik tenslotte de disks SAR#1 en SAR#2 om de MS-DOS computer op
  te starten en het script /bin/msdosset op die computer uit te voeren.
  Het zal even duren eer het script klaar is, omdat het een NSF-bestand van
  die diskette haalt, dus wees geduldig.
  Herstel nu de tape naar /mnt2 op de Linux-computer.




  Als je de backupscripts gebruikt, moet je 'afio' naar de subdirectory
  /tape144/local/bin kopiëren.  De rest van de backupscript bestanden
  zijn op de recovery-disks niet nodig, een archief kan worden
  teruggezet door slechts gebruik te maken van 'afio' en 'gzip'.

  Het lukte mij niet de backupscripts te gebruiken zoals ze meegeleverd
  werden. Het tape-archief lijkt goed te worden aangemaakt, maar de
  bestanden erin zijn niet terug te zetten. Ik bemerkte dat het
  verwijderen van de blokgrootte en de conversie-opdrachten die erin
  staan dit corrigeerde.  Hier is de patch voor het ``netbackup''
  script.  Pas deze patch toe op de harddiskkopie van 'netbackup' op de
  Linux computer als ook op de kopie op de SAR-disks.




















  *** netbackup.orig      Mon Jan  9 17:22:32 1995
  --- netbackup   Mon Jan  9 17:23:25 1995
  ***************
  *** 35,41 ****
                    "'mknod", devname, "p'");
        exec ("su -", USERNAME, "-c",
                    "'rsh ", REMOTE_HOST,
  !                       "\"dd", "of=" REMOTE_DEVICE, "obs=20k", "conv=sync\"",
                          "<", devname,
                  "'&"
           );
  --- 35,41 ----
                    "'mknod", devname, "p'");
        exec ("su -", USERNAME, "-c",
                    "'rsh ", REMOTE_HOST,
  !                       "\"dd", "of=" REMOTE_DEVICE, "\"",
                          "<", devname,
                  "'&"
           );
  ***************
  *** 50,56 ****
                    "'mknod", devname, "p'");
        exec ("su", USERNAME, "-c",
                    "'rsh ", REMOTE_HOST,
  !                       "\"dd", "if=" REMOTE_DEVICE, "ibs=20k", "conv=sync\"",
                          ">", devname,
                  "'&"
           );
  --- 50,56 ----
                    "'mknod", devname, "p'");
        exec ("su", USERNAME, "-c",
                    "'rsh ", REMOTE_HOST,
  !                       "\"dd", "if=" REMOTE_DEVICE, "\"",
                          ">", devname,
                  "'&"
           );




  Je bent nu klaar met SAR disk #2.  Beveilig het tegen schrijven.

  Mount vervolgens een lege, geformatteerde disk (maak het aan met
  fdformat en mkfs).  Kopieer het bestand ftape.o er naartoe, en label
  het SAR#3.  Om de een of andere reden gaat het niet goed als je deze
  disk tegen schrijven beveiligd, dus doe dit niet.

  Maak op de Linux-computer een nieuwe directory voor NFS file-serving.
  Ik maakte een directory:


       /nfs




  Plaats de ftape.o (ongestript, ongeveerd 500+ kB) in deze
  subdirectory.  Maak een regel in het Linux export bestand
  /etc/exports:


       /nfs    msdos(ro)




  Merk op dat alle bestanden in je NFS directory en de daaronderliggende
  subdirectory's niet veilig zijn. Iemand anders zou de MS-DOS computer
  in Linux kunnen booten met eigen bootdisks en deze directory mounten,
  dus plaats geen gevoelige gegevens in deze NFS-subdirectory.

  Herstart de NFS-daemons, rpc.mountd en rpc.nfsd.  Ze schijnen niet
  goed te reageren op een SIGHUP restart, dus kill ze en roep ze opnieuw
  aan.  Als je deze daemons niet activeert in /etc/rc.d/rc.inet2 wil je
  dat wellicht nu wel doen.

  OK, nu zijn we er klaar voor om een backup te maken en deze terug te
  plaatsen. Boot de MS-DOS computer met SAR#1 om een volledige backup te
  maken vanaf de Linux-computer.  Wanneer gevraagd wordt om de tweede
  disk, laad je SAR#2. Log in als root, en voer het script
  /bin/tapesetup uit.  Log uit op de MS-DOS computer. Als je de
  backupscripts gebruikt, zal de opdracht netbackup nu werken.  Je kunt
  ook ``-f msdos:/dev/ftape'' switch gebruiken op GNU tar, cpio, of mt,
  en op deze wijze je eigen backup maken. Als je een backupprogramma
  hebt, die alleen capabel is in het wegschrijven naar een lokaal
  bestand, doe je het volgende: In de veronderstelling dat het
  backupprogramma ``localbackup'' heet en naar bestand wegschrijft dat
  wordt aangegeven door het opdrachtregelargument:


       mknod /tmp/tapepipe p
       rsh msdos dd of=/dev/ftape < /tmp/tapepipe &
       localbackup /tmp/tapepipe




  verwijder /tmp/tapepipe wanneer het klaar is.

  Gegevens terugzetten op een draaiende Linux-computer: het netbackup
  script, tar, cpio, enzovoort zullen allen werken zonder speciale
  acties aan de kant van de operator. Als je een lokaal recovery
  programma hebt welk vanuit een bestand gegevens terugzet, doe dan het
  volgende:


       mknod /tmp/tapepipe p
       rsh -n msdos dd if=/dev/ftape >> /tmp/tapepipe &
       localrecovery /tmp/tapepipe




  verwijder /tmp/tapepipe wanneer je klaar bent.

  Merk op dat ik gebruik maak van 'rsh' naar de root gebruiker op de MS-
  DOS computer. Dit werkt met een correct ingesteld .rhosts veld.  De
  configuratie op de 'tape144' disk staat rsh naar root mogelijk, maar
  staat geen telnet of rlogin naar root toe, logins zijn beperkt tot de
  console.  Dit is goed voor de beveiliging.

  Als je je zorgen maakt over een root .rhost bestand, kun je een nieuwe
  gebruiker aanmaken op SAR#2, ``tapeuser'', met permissies voor
  bewerkingen op de tape-drive, maar niet op de disks.  (maak een nieuwe
  groep aan en plaats tapeuser in die groep, pas dan een chown en chmod
  toe op de bestanden /dev/rft* en /dev/nrft*).  Je backupprogramma moet
  dan bekend zijn met die gebruikersnaam in plaats van met root.
  Natuurlijk moet er nu een .rhosts bestand in ~tapeuser op SAR#2 zijn.
  Voor eigen gebruik, heb ik voor deze methode gekozen, in plaats van
  een root .rhosts.


  Tenslotte de aanwijzingen voor een volledig herstel van een
  geruïneerde harddisk. Hierbij wordt ervan uitgegaan dat de Linux-
  partitie volledig onherstelbaar is.  Herformatteer zonodig de partitie
  zoals beschreven in de Linux Installatie HOWTO. Boot de Linux computer
  vanaf SAR disk #1.  Wanneer daarom wordt gevraagd doe je de disk #2 in
  de drive.  Volg nu de aanwijzingen op in het bestand /root/notes (dit
  was /tape144/root/notes toen het op je Linux-computer was gemount).
  Zodra beide computers zijn geboot, start je de benodigde
  herstelroutine. Als je de backupscripts gebruikt, kun je het als volgt
  doen:

  1. wijzig de directory naar het mountpoint van de harddiskpartitie
     welke je wilt herstellen.

  2. als zich gemounte volumes op de backup bevinden en je wilt ze
     herstellen, maak de mountpoints dan binnen de harddiskpartitie en
     mount de volumes.

  3. Geef de opdracht:


       rsh -n msdos dd if=/dev/ftape | afio -i -v -Z -c 1024 -





  of


       rsh -n -l tapeuser msdos dd if=/dev/ftape | afio -i -v -Z -c 1024 -





  of


       mknod /tmp/backpipe p
       rsh -n msdos dd if=/dev/ftape >> /tmp/backpipe &
       afio -i -v -Z -c 1024 /tmp/backpipe





  Hiermee wordt de tape op de remote computer ingelezen, het resultaat
  naar stdout geschreven, waar afio het overneemt.  De '-i' switch geeft
  aan de bestanden relatief ten op zichte van de huidige werkdirectory
  terug te zetten (wat de root is van de harddisk partitie). '-v' is
  verbose, de bestanden die worden teruggezet worden opgesomd.  Met '-Z'
  geef je afio mee dat dit een archief is met individueel gecomprimeerde
  bestanden.  Met '-c 1024' geef je aan dat het gebruik moet maken van
  een 5 MB streaming buffer ter voorkoming van veel terugspoelen van de
  tape.

  3.  Opmerkingen

  De opdrachten in het bestand /tape144/root/notes zouden vanuit een
  script kunnen worden uitgevoerd. Toen ik het probeerde, kreeg ik rpc
  setup foutmeldingen. Ik verwacht dat dit kwam doordat de opdrachten te
  snel werden uitgevoerd, en de portmapper zichzelf nog niet goed had
  geïnstalleerd. Ik bemerkte dat het handmatig intikken van de reeks
  prima werkt, de reden dat ik dat heb aanbevolen.

  Ik denk dat deze setup veilig is.  Houd er erg in dat iemand nog
  steeds toegang kan krijgen tot alle bestanden als ze naar de tape-
  drive worden gezonden en de tape eruit halen voordat je weer aanwezig
  bent, en dan de tape zelf uitlezen.  Mesen met veel gevoelige gegevens
  zouden kunnen overwegen de stroom gegevens te versleutelen.  Archiveer
  naar standaarduitvoer en stuur de uitvoer via een pipe door het
  versleutelingsprogramma, en voeg de uitvoer daarvan toe aan de
  benoemde pipe /tmp/tapepipe zoals hiervoor werd beschreven.  Fouten in
  het herstelproces zullen erin resulteren dat alle bestanden na dit
  punt onherstelbaar zullen zijn, aangezien het gehele archief nu uit
  een enkel met DES versleutelde stroom gegevens bestaat.  Het is
  mogelijk opties met afio te gebruiken om ieder bestand in het archief
  eerst via gzip te zenden, dan via een encryptie programma zoals des,
  maar let op dat het eerst comprimeren een tamelijk hoeveelheid bekende
  gewone tekst geeft waar vastbesloten code-krakers mee overweg kunnen,
  dus een betere benadering zou kunnen zijn de gzip stap over te slaan
  en eenvoudigweg versleutelen met des, ten koste van meer ruimte op de
  tape.  Onnodig te zeggen, dat met DES versleutelde bestanden niet
  comprimeren.

  De rc.inet1 aanwijzingen die ik heb opgenomen, staan alleen
  communicatie met het lokale netwerk toe, niet de rest van de wereld
  via een gateway.

  Tijdens een volledige hersteloperatie naar een lege harddisk voorziet
  de SAR disk #3 in ftape.o naar de MS-DOS computer via NFS. Dit omdat
  een aantal oude versies van de ftape module een aantal van de tape-
  drives niet kan besturen wanneer er zich een gemounte disk in het
  diskettestation bevindt.  Met nieuwere kernels kan het gehele NFS
  gedoe achterwege worden gelaten.

  Dit is erg belangrijk.  ***TEST*** de SAR recovery procedure.  Laat
  niets aan het toeval over.  Zorg er voor dat je op z'n minst één
  bestand vanaf je tape naar de Linux-computer terug kunt zetten met
  behulp van slechts de SAR-disks (d.w.z. zonder het mounten van de
  harddisk).  Als je de Linux-computer niet zonder ongemak voor nogal
  wat gebruikers kunt herstarten, wijzig de setup-informatie op de SAR-
  disks dan zo dat de ``linux'' identiteit aan een andere MS-DOS
  computer wordt toegekend en boot dan vervolgens de twee MS-DOS
  computers in Linux om er zeker van te zijn dat alles werkt. Wijzig dan
  de ``linux'' identiteit weer zoals het was zodat je bruikbare SAR-
  disks hebt.

  4.  Copyright

  Copyright 10 jan, 1995 door Christopher Neufeld
  (neufeld@physics.utoronto.ca)

  Gewijzigd 6 feb, 1996.

  Gewijzigd 5 aug 1997.