home       inleiding       sysadmin       services       links       bash       werk       nothing      

labo schijven 1 MBR (obsolete -- 2014)


MBR was een partitiesysteem dat werkte met maximaal 4 primary partitions en in EEn van die partitions kon je dan nog deelpartitions plaatsen (logical partitions genoemd)
 
Dit is een met printscreens begeleide oefening waarbij je, stap voor stap, linux schijven configureert:

  • schijven toevoegen,
  • evalueren,
  • partitionneren,
  • formateren,
  • mounten,
  • permanent maken in /etc/fstab,
  • en na elke stap testen.
     

    1. Kloon je virtualbox linux client
      • selecteer in virtualbox manager een schone machine (clean 2 clone), vergewis er u van dat de machine uit staat.
      • klik rechts op deze machine en vervolgens 'Clone' in het menu
      • geef de machine een nieuwe naam vb.: LX-mint-DISKS
      • MAC address policies: generate new MAC addresses for all adapters
      • klik dan op next
      • selecteer Full Clone en klik op Clone
      • heb geduld ... en wacht tot er een nieuwe machine in vbox manager verschijnt
         
    2. Extra Harde Schijven toevoegen
      • in vbox manager klik je op de nieuwe machine
      • klik vervolgens in het rechter gedeelte op storage
      • selecteer indien nodig de SATA controller
      • klik nu op het pictogram met een harde schijf en een plusteken
        vbox-clone-storage
      • klik op Create new disk >>> type VDI >>> dynamically allocated
      • wijzig de default size naar 320GB
      • klik op create -- daarna op choose (de net gemaakte disk is al geselecteerd)
      • verifieer even of alles in orde is ...
      • doe nogmaals hetzelfde voor een tweede harddisk
      • geef de tweede harde schijf wel een andere naam (alle andere gegevens zijn hetzelfde)
      • het venster Storage zie er nu als volgt uit:
        storage

         

    3. Evalueer
      We gaan nu kijken of we de pas toegevoegde schijven ook terugvinden in onze nieuwe machine. De meest complete manier is via de utility parted. Tik het volgende commando in:
       
      user@mint18-00 ~ $ sudo parted --list
      user@mint18-00 ~ $ sudo parted --list
      [sudo] password for user: 
      Model: ATA VBOX HARDDISK (scsi)
      Disk /dev/sda: 53,7GB
      Sector size (logical/physical): 512B/512B
      Partition Table: msdos
      Disk Flags: 
       
      Number  Start   End     Size    Type      File system     Flags
      1      1049kB  51,5GB  51,5GB  primary   ext4            boot
      2      51,5GB  53,7GB  2145MB  extended
      5      51,5GB  53,7GB  2145MB  logical   linux-swap(v1)
       
      Error: /dev/sdb: unrecognised disk label
      Model: ATA VBOX HARDDISK (scsi)                                           
      Disk /dev/sdb: 342GB
      Sector size (logical/physical): 512B/512B
      Partition Table: unknown
      Disk Flags: 
       
      Error: /dev/sdc: unrecognised disk label
      Model: ATA VBOX HARDDISK (scsi)                                           
      Disk /dev/sdc: 8590MB
      Sector size (logical/physical): 512B/512B
      Partition Table: unknown
      Disk Flags:

      In bovenstaand voorbeeld zien we dat er een "tik?"-fout gebeurd is tijdens het aanmaken van de tweede HD in vbox. /dev/sdc is te klein !!! Ik corrigeer en test opnieuw ...
       
      we kunnen ook kijken in de directory /dev of we daar onze nieuwe schijven vinden:

      $ ls -l /dev/sd*
      brw-rw---- 1 root disk 8,  0 Apr 20  2017 /dev/sda
      brw-rw---- 1 root disk 8,  1 Apr 20  2017 /dev/sda1
      brw-rw---- 1 root disk 8,  2 Apr 20  2017 /dev/sda2
      brw-rw---- 1 root disk 8,  5 Apr 20  2017 /dev/sda5
      brw-rw---- 1 root disk 8, 16 Apr 20  2017 /dev/sdb
      brw-rw---- 1 root disk 8, 32 Apr 20  2017 /dev/sdc

       

    4. Partitionneren met MBR: fdisk
      In deze praktijkoefening gaan we de harde schijf /dev/sdb van 320 GB verdelen in partities. Hiertoe gebruiken we de bejaarde utility fdisk. fdisk dateert nog uit een tijd toen sommige terminals een papiervoering hadden (matrix-printers met een toetsenbord en groen-wit kettingpapier). Om met fdisk te werken heb je sudo-rechten nodig.
       

      • help en display
         
        $ sudo fdisk /dev/sdb
        Welcome to fdisk (util-linux 2.27.1).
        Changes will remain in memory only, until you decide to write them.
        Be careful before using the write command.
        --
        Device does not contain a recognized partition table.
        Created a new DOS disklabel with disk identifier 0x8f53e27f.
        --
        Command (m for help): m
        --
        Help:
        ** DOS (MBR)
        a   toggle a bootable flag
        b   edit nested BSD disklabel
        c   toggle the dos compatibility flag
        ** Generic
        d   delete a partition
        F   list free unpartitioned space
        l   list known partition types
        n   add a new partition
        p   print the partition table
        t   change a partition type
        v   verify the partition table
        i   print information about a partition
        ** Misc
        m   print this menu
        u   change display/entry units
        x   extra functionality (experts only)
        ** Script
        I   load disk layout from sfdisk script file
        O   dump disk layout to sfdisk script file
        ** Save & Exit
        w   write table to disk and exit
        q   quit without saving changes
        ** Create a new label
        g   create a new empty GPT partition table
        G   create a new empty SGI (IRIX) partition table
        o   create a new empty DOS partition table
        s   create a new empty Sun partition table

        Van de vele mogelijkheden gebruiken we er in normale omstandigheden slechts zeven:
         
        m .. print this menu
        n .. add a new partition
        p .. print the partition table
        t .. change a partition type
        d .. delete a partition
        w .. write table to disk and exit
        q .. quit without saving changes
         
        Laat ons nu even de huidige partitietabel bekijken:

        fdisk-new-01

         

      • een nieuwe partitietabel creëren
         
        We willen we een nieuwe partitietabel opbouwen als volgt:
        • een primary partitie van 30G voor een linux systeem
        • nog een primary partitie van 30G voor een latere linux versie,
        • een extended partition op de rest van de harde schijf
           

      In de extended partition:

      • een logical partition van 4GB voor swap,
      • een logical partition van 50GB voor een database
      • een logical partition van de rest van schijf voor /home
         
        • we beginnen met een primary partitie van 30G
          fdisk-new-02

          Ik tik eerst n om een nieuwe partitie te maken,
          dan kies ik p voor een primary partition,
          het is de eerste primary partition dus die geef ik nummer 1
          De eerste cylinder van een partitie (default) wordt altijd goed gekozen door fdisk zelf, dus ik druk enter
          Tenslotte geef ik de grootte mee met +30G i.p.v. een cylinder. Dat is veel makkelijker.
          (Pas op: als je geen + tikt gaat het fout)
           
          Ik kijk nog even of alles goed gegaan is:

          fdisk-new-03

           

        • nog een primary partitie van 30G
          fdisk-new-04

           

        • een extended partition van de rest van harde schijf
          fdisk-new-05

          We drukken hier weer de letter n voor een nieuwe partitie, daarna de e van extended. We geven een extended ook een primary nummer, dat wordt hier dus 3. De extended is bezet de rest van de harde schijf. fdisk stelt telkens de twee uiterste waarden voor, en dat is exact wat we willen, we drukken twee keer enter. We visualiseren weer met p.
           

        • een logical partition van 4GB voor swap
          fdisk-new-06

          Een logical partition is even eenvoudig aan te maken als een primary partition, tenminste als we er aan gedacht hadden eerst een extended te maken. We drukken weer n voor een nieuwe partitie, daarna l voor logical, enter voor een default begin en +4G voor een grootte van 4GB.
          Merk op dat deze logical partition in de extended zit: de start cylinder is dezelfde als die van de extended partition.
           
          Eén ding is nog niet correct: het partition id staat nog niet op 82 voor swap. Dat doen we als volgt:

          fdisk-new-07

          Met t van type vragen we fdisk een partition id te willen aanpassen. We tikken het partition nummer 5 in (van /dev/sdb5), en daarna 82
           
          We kunnen alle mogelijke partition id's op scherm brengen door l in te tikken. Dan krijgen we volgend scherm:

          fdisk-new-08

           

        • een logical partition van 50GB voor een database
          fdisk-new-09

           

        • een logical partition van de rest van schijf voor /home
          fdisk-new-10

           

        • partitietabel opslaan
          Onze partitietabel is nu compleet en correct. We mogen niet vergeten hem op te slaan.
          fdisk-new-11

          wegschrijven met w
          (als je denkt dat je alles hebt verpest kun je ook fdisk zonder "save" verlaten met q)
           

        • herstarten
          Vooraleer we kunnen formatteren moeten we nog herstarten. De huidige live-cd of linux distributie maakt waarschijnlijk nog gebruik van de oude partitietabel. We controlleren eerst nog even met
          fdisk-new-12

          en herstarten daarna de linux virtual.
           

    5. Formatteren
       
      De meeste gebruikte formaten voor linux partities zijn ext4 en xfs.
      In deze oefening formatteren  we /dev/sdb1 en /dev/sdb2 als ext4
      /dev/sdb6 en /dev/sdb7 als xfs.
       
      We tikken achtereenvolgens de volgende commando's in:
      $ sudo mkfs.ext4 /dev/sdb1
      mke2fs 1.42.13 (17-May-2015)
      Creating filesystem with 7864320 4k blocks and 1966080 inodes
      Filesystem UUID: 4695fd97-9b2e-4481-bd6b-b6959913cbea
      Superblock backups stored on blocks: 
      32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
      4096000
      Allocating group tables: done                            
      Writing inode tables: done                            
      Creating journal (32768 blocks): done
      Writing superblocks and filesystem accounting information: done   

      $ sudo mkfs.ext4 /dev/sdb2

      mke2fs 1.42.13 (17-May-2015)
      Creating filesystem with 7864320 4k blocks and 1966080 inodes
      Filesystem UUID: 01aa2494-5139-4830-b455-0260cc69a728
      Superblock backups stored on blocks: 
      32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
      4096000
      Allocating group tables: done                            
      Writing inode tables: done                            
      Creating journal (32768 blocks): done
      Writing superblocks and filesystem accounting information: done   

      $ sudo mkfs.xfs /dev/sdb6

      meta-data=/dev/sdb6              isize=512    agcount=4, agsize=3276800 blks
       =                       sectsz=512   attr=2, projid32bit=1
       =                       crc=1        finobt=1, sparse=0
      data     =                       bsize=4096   blocks=13107200, imaxpct=25
       =                       sunit=0      swidth=0 blks
      naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
      log      =internal log           bsize=4096   blocks=6400, version=2
       =                       sectsz=512   sunit=0 blks, lazy-count=1
      realtime =none                   extsz=4096   blocks=0, rtextents=0

      $ sudo mkfs.xfs /dev/sdb7

      meta-data=/dev/sdb7              isize=512    agcount=4, agsize=13500160 blks
       =                       sectsz=512   attr=2, projid32bit=1
       =                       crc=1        finobt=1, sparse=0
      data     =                       bsize=4096   blocks=54000640, imaxpct=25
       =                       sunit=0      swidth=0 blks
      naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
      log      =internal log           bsize=4096   blocks=26367, version=2
       =                       sectsz=512   sunit=0 blks, lazy-count=1
      realtime =none                   extsz=4096   blocks=0, rtextents=0

       
      Een swap partitie wordt niet geformatteerd maar geinitializeerd met mkswap:
       
      $ sudo mkswap /dev/sdb5

      Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
      no label, UUID=c5e46f6c-ba39-472d-93b2-ed25d3e73204

       

    6. Mounten
       
      Mountpoints maak je met mkdir als root.
      Mounten doe je met het commando mount
      Een mount verwijderen doe je met het commando umount
      Een swap activeren doe je met swapon
      Een swap desactiveren doe je met swapoff
      Alle mounts op scherm brengen doe je met mount of df
      De swap op scherm brengen doe je met swapon -s
       
      We mounten nu /dev/sdb1 op /system-1 en /dev/sdb2 op /system-2
      Vervolgens komt /dev/sdb6 op /sql en /dev/sdb7 op /nexthome
      Tenslotte activeren we de swap
        
      $ sudo mkdir /system-1 /system-2 /sql /nexthome -v
      mkdir: created directory '/system-1'
      mkdir: created directory '/system-2'
      mkdir: created directory '/sql'
      mkdir: created directory '/nexthome'
       
      $ sudo mount /dev/sdb1 /system-1 -v
      mount: /dev/sdb1 mounted on /system-1.
       
      $ sudo mount /dev/sdb2 /system-2 -v
      mount: /dev/sdb2 mounted on /system-2.
       
      $ sudo mount /dev/sdb6 /sql -v
      mount: /dev/sdb6 mounted on /sql.
       
      $ sudo mount /dev/sdb7 /nexthome -v
      mount: /dev/sdb7 mounted on /nexthome.
       
      $ sudo swapon /dev/sdb5 -v
      swapon /dev/sdb5
      swapon: /dev/sdb5: found swap signature: version 1d, page-size 4, same byte order
      swapon: /dev/sdb5: pagesize=4096, swapsize=4294967296, devsize=4294967296

      We kunnen nu onze mounts op scherm brengen met het commando mount of met df.
      We kunnen de swap zien met swapon -s.
       

    7. /etc/fstab
       
      Als je manueel een schijf toevoegt aan je systeem, en je herstart, zijn al je zonet gemounte partities verdwenen. We maken de mounts permanent door ze toe te voegen aan het configuratie-bestand /etc/fstab. Dat kan met nano.
       
      Maak eerst een veiligheidskopie:
      $ sudo cp /etc/fstab /etc/fstab.good
       
      Editeer dan de /etc/fstab:
        
      $ sudo nano /etc/fstab
      # /etc/fstab: static file system information.
      #
      # Use 'blkid' to print the universally unique identifier for a
      # device; this may be used with UUID= as a more robust way to name devices
      # that works even if disks are added and removed. See fstab(5).
      #
      # <file system> <mount point>   <type>  <options>       <dump>  <pass>
      # / was on /dev/sda1 during installation
      UUID=4ab7fc11-8638-4753-ad2d-b7c4d24aa8cf /       ext4    errors=remount-ro 0     1
      # swap was on /dev/sda5 during installation
      UUID=0e4a6794-8db6-4702-8a8c-8aabd46b07d5 none         swap    sw           0    0
      ## de partities van /dev/sdb die we in de oefening hebben toegevoegd:
      /dev/sdb1       /system-1       ext4    defaults        0       0
      /dev/sdb2       /system-2       ext4    defaults        0       0
      /dev/sdb6       /sql            xfs     defaults        0       0
      /dev/sdb7       /nexthome       xfs     defaults        0       0

      Als we alles correct hebben ingevuld, un-mounten we eerst weer alle partities, om daarna fstab te testen we met
       
      $ sudo mount -av
       

      $ sudo umount /system-1
      $ sudo umount /system-2
      $ sudo umount /sql
      $ sudo umount /nexthome
       
      $ df
      Filesystem     1K-blocks    Used Available Use% Mounted on
      udev             1002808       0   1002808   0% /dev
      tmpfs             204844    3708    201136   2% /run
      /dev/sda1       49409840 5953544  40923384  13% /
      tmpfs            1024204     168   1024036   1% /dev/shm
      tmpfs               5120       4      5116   1% /run/lock
      tmpfs            1024204       0   1024204   0% /sys/fs/cgroup
      cgmfs                100       0       100   0% /run/cgmanager/fs
      tmpfs             204844      40    204804   1% /run/user/1000
       
      $ sudo mount -av
       
      $ df
      Filesystem     1K-blocks    Used Available Use% Mounted on
      udev             1002808       0   1002808   0% /dev
      tmpfs             204844    3708    201136   2% /run
      /dev/sda1       49409840 5953544  40923384  13% /
      tmpfs            1024204     168   1024036   1% /dev/shm
      tmpfs               5120       4      5116   1% /run/lock
      tmpfs            1024204       0   1024204   0% /sys/fs/cgroup
      cgmfs                100       0       100   0% /run/cgmanager/fs
      tmpfs             204844      40    204804   1% /run/user/1000
      /dev/sdb1       30832636   44992  29198396   1% /system-1
      /dev/sdb2       30832636   44992  29198396   1% /system-2
      /dev/sdb6       52403200   32960  52370240   1% /sql
      /dev/sdb7      215897092   32960 215864132   1% /nexthome

      Tenslotte durven we onze machine te herstarten om nog één keer te kijken of alles gelukt is ...

Deel 2

Verdeel nu de tweede extra schijf, /dev/sdc als volgt met fdisk:
 
/dev/sdc1 -> 80GB -> ext4 -> mountpoint /extra
/dev/sdc2 -> rest van schijf: extended
/dev/sdc5 -> 160GB -> xfs -> mountpoint /extra/linux-virtuals
/dev/sdc6 -> rest van schijf -> xfs -> mountpoint /extra/iso-files
 
voeg ook toe aan je /etc/fstab