ZFS unter Linux

    Lenz Grimmer <lenz@grimmer.com>
                 <
            http://lenzg.net/
2010-08-22 | FrOSCon 2010 | Sankt Augustin, DE
$ whoami




1998          2002



2008          2010
ZFS Features (1)
●   128bit POSIX-Dateisystem
●   Volume Management
●   Copy on write (COW) Transaktionen
●   „End-to-end“ Checksummen
●   RAID-Level: 0/1/5 (aka RAIDZ/Z2/Z3)
●   Hot spares
●   Snapshots & Clones
ZFS Features (2)
●   Quotas & Reservierungen
●   Kompression
●   Deduplizierung
●   Striping
●   Dateisysteme wachsen dynamisch
●   Nur zwei Tools: zpool(1M), zfs(1M)
FUSE
●   File System in User Space
●   Linux-Kernel-Modul (fuse.ko)
●   User Space Bibliothek (libfuse.so)
●   Zugriff auf Dateisysteme im „User Space“
    (z.B. NTFS)
●   Zugriff auf andere Resourcen (z.B. WebDAV,
    SSH, Google Mail)
ZFS-FUSE
●   Mai 2006: GSoC Projekt (Ricardo Correia)
●   Nov. 2009:
     ● Neue Website (http://zfs-fuse.net/)
     ● Neue Maintainer


     ● Neue Releases/Features


●   Umzug von Mercurial nach git
zfs-fuse Architektur




             Quelle: http://en.wikipedia.org/wiki/File:FUSE_structure.svg
zfs-fuse Architektur
                   zfs-fuse



                    glibc

User Space
Kernel
                    VFS


             XFS              blkdev




             sda               sdb
XFS auf LVM/RAID5
# Create the RAID
mdadm --create --verbose /dev/md0 --level=5 
--raid-devices=3 /dev/sda /dev/sdb /dev/sdc
# Create the physical and logical volumes
pvcreate /dev/md0
vgcreate volgroup /dev/md0
lvcreate -L 200M -n lvol volgroup
# Create file system and mount it
mkfs.xfs /dev/volgroup/lvol
mkdir /lvol
mount -t xfs /dev/volgroup/lvol /lvol
vi /etc/fstab
ZFS mit RAIDZ
# Create a pool named „mypool“, using three
# disk drives in a RAID-Z configuration
# and mount it to /mypool by default
zpool create mypool raidz /dev/sda /dev/sdb
/dev/sdc
# (Optional) Create and mount file system
# „myfiles“
zfs create mypool/myfiles
ZFS Live Demo
●   Zpool anlegen
●   ZFS anlegen
●   Snapshots erstellen
●   ZFS send/receive
●   Zpool mirror
Fragen / Diskussion

 Vielen Dank!

    Lenz Grimmer
<lenz@grimmer.com>
  http://lenzg.net/

ZFS unter Linux

  • 1.
    ZFS unter Linux Lenz Grimmer <lenz@grimmer.com> < http://lenzg.net/ 2010-08-22 | FrOSCon 2010 | Sankt Augustin, DE
  • 2.
    $ whoami 1998 2002 2008 2010
  • 3.
    ZFS Features (1) ● 128bit POSIX-Dateisystem ● Volume Management ● Copy on write (COW) Transaktionen ● „End-to-end“ Checksummen ● RAID-Level: 0/1/5 (aka RAIDZ/Z2/Z3) ● Hot spares ● Snapshots & Clones
  • 4.
    ZFS Features (2) ● Quotas & Reservierungen ● Kompression ● Deduplizierung ● Striping ● Dateisysteme wachsen dynamisch ● Nur zwei Tools: zpool(1M), zfs(1M)
  • 5.
    FUSE ● File System in User Space ● Linux-Kernel-Modul (fuse.ko) ● User Space Bibliothek (libfuse.so) ● Zugriff auf Dateisysteme im „User Space“ (z.B. NTFS) ● Zugriff auf andere Resourcen (z.B. WebDAV, SSH, Google Mail)
  • 6.
    ZFS-FUSE ● Mai 2006: GSoC Projekt (Ricardo Correia) ● Nov. 2009: ● Neue Website (http://zfs-fuse.net/) ● Neue Maintainer ● Neue Releases/Features ● Umzug von Mercurial nach git
  • 7.
    zfs-fuse Architektur Quelle: http://en.wikipedia.org/wiki/File:FUSE_structure.svg
  • 8.
    zfs-fuse Architektur zfs-fuse glibc User Space Kernel VFS XFS blkdev sda sdb
  • 9.
    XFS auf LVM/RAID5 #Create the RAID mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc # Create the physical and logical volumes pvcreate /dev/md0 vgcreate volgroup /dev/md0 lvcreate -L 200M -n lvol volgroup # Create file system and mount it mkfs.xfs /dev/volgroup/lvol mkdir /lvol mount -t xfs /dev/volgroup/lvol /lvol vi /etc/fstab
  • 10.
    ZFS mit RAIDZ #Create a pool named „mypool“, using three # disk drives in a RAID-Z configuration # and mount it to /mypool by default zpool create mypool raidz /dev/sda /dev/sdb /dev/sdc # (Optional) Create and mount file system # „myfiles“ zfs create mypool/myfiles
  • 11.
    ZFS Live Demo ● Zpool anlegen ● ZFS anlegen ● Snapshots erstellen ● ZFS send/receive ● Zpool mirror
  • 12.
    Fragen / Diskussion Vielen Dank! Lenz Grimmer <lenz@grimmer.com> http://lenzg.net/