The Linux Cowloop Device Driver



Vergelijkbare documenten
Wat is een unattended install?

Korte uitleg: Mounten van filesystemen door de desktopgebruiker

De Service Console als NFS en iscsi server

We beginnen met een strikvraag: Welk van de volgende zijn bestanden?

Computerarchitectuur en netwerken. Operating System structuur. Files

Korte uitleg: Mounten van filesystemen

4/4 Bestandssystemen

De Linux Boom structuur

Gebruiker afschermen van de hardware

8cm-Multiboot-CDROM met een aangepaste Knoppix Linux

Centrale begrippen hoofdstuk 3. Waarom multiprogramming? Vandaag. processen proces state: running, ready, blocked,... Vragen??

Hoofdstuk 3: Processen: Beschrijving en Besturing. Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces?

Automa'c Storage Management 11 g release 2. OGH DBA DAG 14 september 2010 Rob den Braber

Belangrijkste ideeën/concepten uit OS, incl. proces

Keuzevak Linux - Week 2

Dit zijn latency s die voorkomen bij het selecteren van het juiste geheugenadres in de RAM.

Op dit moment is ons gehele hosting cluster om NFS heen gebouwd waardoor zo maar overstappen geen optie is.

Presentatie. ZFS on Linux. Linux User Group Nijmegen

Operating Systems Linux Blok 7a Partities Erik Seldenthuis

Van dvd naar webserver. Marcel Nijenhof 18 Juli

Virtualisatie. en KVM. Oscar Buse 14 februari 2017 NLUG

Super GRUB2 Disk Super GRUB2 Disk

Hulplink:

Btrfs: het beter fs. maar ook: BoterFS, Butterface, B-treeFS,... Nikolas Garofil. 20 februari 2015

Oefening 1: hardware block devices (zoals harde schijven) herkennen

Tim Mallezie Architectuur van besturingssystemen: Vraag A2.

Geheugen en Adressering. Binding. Binding (2) Logische en Fysieke adresruimten. relocatie register. Dynamic loading

Unix Console Gebruik

Administratieve rollen

Erik Poll Martijn Warnier.

Machinevirtualisatie. Raphael kena Poss Universiteit van Amsterdam. Besturingsystemen

Procedure voor het maken en plaatsen van een image mbv Symantec Ghost

Ictivity Een vreemde eend in de bijt

1 Excercises on /proc

VMware View 4.5 een overview. Eline Klooster Technical Trainer

in Operating System Concepten Doel van een Operating System Interrupts 3-Lagen model spooling (Simultaneous Peripheral Operation On Line)

in Operating System Concepten

Inleiding Practicum Operating Systems

Computerarchitectuur en netwerken Toets 1 4 okt

Knoppix Kookboek 3.7. dual-boot installatie van Knoppix 3.7. en Windows XP op één harde schijf

Hyper-V vs ESX in het datacenter

ICT Infrastructuren: Processen en Threads. 18 november 2013 David N. Jansen

Computerarchitectuur en netwerken 4 Processen en Threads

1. BIOS. In de setup wordt aangegeven waar de bootsector is. Na de BIOS wordt de Bootsector gelezen en uitgevoerd. 2. BOOTSECTOR

VMware vsphere 5. What s New! Bram de Laat, Marek Zdrojewski, Jan van Leuken

Software. Opdrachten - Deel 1. Naam: Klas: 2015 versie:concept-3.4.2

Inleiding Practicum Operating Systems

Geheugenbeheer. ICT Infrastructuren 2 december 2013

een kopie van je paspoort, een kopie van je diploma voortgezet onderwijs (hoogst genoten opleiding), twee pasfoto s, naam op de achterkant

Basis UNIX commando's - overzicht

Linux Mint Cinnamon 18.1 Ervaringen. Bart van Dijk

Netwerkprinter Dell 1320C installeren op Ubuntu LTS - Lucid Lynx

Macrium Reflect V4.2 Handleiding

Productmeeting EqualLogic

Het begrip 'Proces' Proces-toestand

Risico beperkende maatregelen bij Windows XP na 8 april 2014

' Het tentamen is gesloten boek, dus het is niet toegestaan om het tekstboek, slides of eigen gemaakte aantekeningen te gebruiken.

Hoe een USB schijf (stick, harde schijf) leegmaken vanuit de terminal

GIMP. Gratis alternatief voor Photoshop? Een korte introductie

API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8

Wat is Syslog? Syslog is een feature waarmee de router activiteit kan worden bijgehouden.

Knoppix kookboek 3.2. Dualboot Windows XP met Knoppix 3.2 op 1 hardeschijf

Waarden persistent (blijvend) opslaan gaat in bestanden (files). Lege tekst: eof

Data Protectie in een gevirtualiseerde omgeving.

Memory Management. Virtual Memory. Eisen Memory Management. Verdelen geheugen over meerdere processen

Oracle Cloud, slim bekeken!

Encryptie. In een encryptie container en voor de hele hard disk. Syntra Limburg - Campus Genk. Frank Biesmans -

Taakklasse 3 ALAa installeren en onderhouden systemen Corné Tintel G GMB13B Medewerker beheer ICT

We gebruiken de Knoppix cd-rom versie 3.3. van de HCC Unix-gg. Je kunt hem bestellen bij de HCC-unix gg zie:

Bestand: /home/karel/scripts/mkusb Pagina 1 van 6

De Floppy Disk Drive (5)

Schrijven van CDs met Linux

SMARTPHONE APPLICATIE HANDLEIDING

PicoBSD: klein is fijn

File systemen. File attributen

LINUX ZORIN. een alternatief voor MS Windows

Inhoudsopgave: Whisper380-computerhulp

DB architectuur.

IAAS BACKUPS MAKEN MET IASO

IT2BUILD Online Backup. Betrouwbaar, veilig en betaalbaar

Les 11: systeemarchitectuur virtuele machines

Werkplekbeheer en kantoorautomatisering Examennummer: Datum: 24 maart 2012 Tijd: 13:00 uur - 14:30 uur

Transcriptie:

The Linux Cowloop Device Driver Hendrik-Jan Thomassen AT Computing BV Nijmegen

Inleiding Biedt mogelijkheid om block device schrijfbaar te laten lijken, zonder dat block device zelf te beschrijven. Copy on write loop driver Geïmplementeerd als block device driver Auteur: Gerlof Langeveld (AT Computing)

Kernel model applicatie proces system calls user mode kernel mode beneden dit > niveau bestaan geen files meer; alleen nog maar "diskblokken" virtual filesystem switch buffer cache fs type A fs type B fs type C block driver niveau binnen de kernel > logische disk

Demo-blockdriver Ideeën komen niet uit de lucht vallen... Het begon met een "fake disk" driver Lesmateriaal "Linux Device Drivers" cursus Demonstratie van verkeer tussen buffer cache en driver niveau Gebouwd als tweeling driver: block driver voor onder de buffer cache character driver om requests gemakkelijk terug te sluizen naar het user niveau Daemon op user niveau legt de brug tussen character driver en een fake disk oppervlak (in een gewone file)

Fake-disk driver application processes daemon fadid with logger end_ request file system layer buffer cache request character read+write requests from/to buffer cache address ioctl to get command description blocks ioctl to notify "operation done" block driver (slave: fadis) char driver (master: fadim) interrupt routine subroutine call

Knoppix - Live CD Klaus Knopper's Live CD was een grote inspirator Maar: op een CD kun je niet schrijven Stopte je je sessie, dan verdampte al je werk Programma's zoals Firefox en Gimp detecteren een 'first time start', en beginnen aan een lange vragenlijst Een Live CD die schrijfbaar leek te zijn bestond nog niet Wij bouwden een combinatie van Fake disk driver Copy on write principe (a la "snapshot disk" oppervlak) Fake disk oppervlak als file op floppy of USB stick File gebruikt met "sparse file holes" techniek

Cowloop driver application processes file system laag buffer cache cowloop driver met boekhouding van "geschreven" blokken cowfile op USB stick of op hard disk (sparse) "lagere" block driver

Problemen We wilden geen character driver en daemon erbij file creat,read,write rechtstreeks vanuit de kernel is gecompliceerd; we keken de kunst af bij 'core' files Als de filesysteem laag, hoog in de kernel, weet dat het gemounte file system type geen write operatie kent (bijv. ISO9660) dan stuurt hij geen write requests naar beneden. Gekunstelde oplossing voor onze Live CD: maak 'dd' kopie van de LINUX distributie (ext2 fs) in één file compress de 'dd' file maak 'n ISO image dat alleen die compressed 'dd' file bevat. gebruik de cloop driver (Russell) om dat te mounten

Leven na de Live-CD "Schrijfbare" Live CD is nu gemeengoed veel buitenlandse Linux tijdschriften hebben onze ATMission Live CD verspreid (GPL) voor ons geen core bussines nieuwere Live CD's gebruiken speciale filesysteem modules: Unionfs (oorspr. uit Plan 9), Aufs (nu in Knoppix) Cowloop als aparte driver beschikbaar via SourceForge en via http://www.atconsultancy.nl/cowloop driver source (3000 regels), Make en installatiescripts een handvol hulpprogramma's uitgebreide man pages

Voorbeeld modprobe cowloop > laad de cowloop driver (module) in de kernel cowdev -a /dev/fd0 /tmp/flop.cow /dev/cow/3 > nestel de cowloop driver bovenop de /dev/fd0 driver, block device naam /dev/cow/3 wordt de nieuwe "bovenkant", gebruik (zo nodig creëer) als cow file: /tmp/flop.cow mount /dev/cow/3 /mnt/flopmountpoint cp /some/demo/file /mnt/flopmountpoint/ umount /dev/cow/3 cowdev -d /dev/cow/3 > koppel cowloop driver los van onderliggende block driver

Pro & contra Inefficiente I/O: elke read & write gaat via aparte kernel-daemon: scheduling overhead Linux heeft (momenteel) een standaard Device Mapper snapshot in device mapper kan ongeveer hetzelfde ongedocumenteerd kernel-interface dmsetup(1) en Documentation/dm/snapshot.txt Meer ervaring nodig met 'xen'

Device mapper 'dm' Standaard Linux kernel module (vrij nieuw) dmsetup create cowdevnaam 0 size snapshot lowerdevice cowfiledevice p chunksz cowdevnaam wordt nieuwe "bovenste" blockdevice (0 en size bepalen startsectornr. en grootte daarvan) lowerdevice is het read-only onderliggende device cowfiledevice is waar de modificaties naar toe gaan (nadeel: moet blockdevice zijn; regular file kan niet) 'p' staat voor persistent: overleeft reboot; alternatief is 'n' (kost meer I/O en ruimte)