ZFS unter LinuxZFS unter Linux
Lenz Grimmer <Lenz Grimmer <[email protected]>>
http://lenzg.net/
2010-08-22 | FrOSCon 2010 | Sankt Augustin, DE2010-08-22 | FrOSCon 2010 | Sankt Augustin, DE
$ whoami$ whoami
1998 2002
20102008
ZFS Features (1)ZFS Features (1)● 128bit POSIX-Dateisystem128bit POSIX-Dateisystem● Volume ManagementVolume Management● Copy on write (COW) TransaktionenCopy on write (COW) Transaktionen● „„End-to-end“ ChecksummenEnd-to-end“ Checksummen● RAID-Level: 0/1/5 (aka RAIDZ/Z2/Z3)RAID-Level: 0/1/5 (aka RAIDZ/Z2/Z3)● Hot sparesHot spares● Snapshots & ClonesSnapshots & Clones
ZFS Features (2)ZFS Features (2)● Quotas & ReservierungenQuotas & Reservierungen● KompressionKompression● DeduplizierungDeduplizierung● StripingStriping● Dateisysteme wachsen dynamischDateisysteme wachsen dynamisch● Nur zwei Tools: Nur zwei Tools: zpool(1M)zpool(1M), , zfs(1M)zfs(1M)
FUSEFUSE● FFile System in ile System in UseUser Spacer Space● Linux-Kernel-Modul (Linux-Kernel-Modul (fuse.kofuse.ko))● User Space Bibliothek (User Space Bibliothek (libfuse.solibfuse.so))● Zugriff auf Dateisysteme im „User Space“ Zugriff auf Dateisysteme im „User Space“
(z.B. NTFS)(z.B. NTFS)● Zugriff auf andere Resourcen (z.B. WebDAV, Zugriff auf andere Resourcen (z.B. WebDAV,
SSH, Google Mail)SSH, Google Mail)
ZFS-FUSEZFS-FUSE● Mai 2006: GSoC Projekt (Ricardo Correia)Mai 2006: GSoC Projekt (Ricardo Correia)● Nov. 2009:Nov. 2009:
● Neue Website (Neue Website (http://zfs-fuse.net/http://zfs-fuse.net/))● Neue MaintainerNeue Maintainer● Neue Releases/FeaturesNeue Releases/Features
● Umzug von Mercurial nach gitUmzug von Mercurial nach git
zfs-fuse Architekturzfs-fuse Architektur
Quelle: http://en.wikipedia.org/wiki/File:FUSE_structure.svg
zfs-fuse Architekturzfs-fuse Architektur
zfs-fuse
glibc
VFS
XFS blkdev
sda sdb
User Space
Kernel
XFS auf LVM/RAID5XFS auf LVM/RAID5# Create the RAIDmdadm --create --verbose /dev/md0 --level=5 \--raid-devices=3 /dev/sda /dev/sdb /dev/sdc# Create the physical and logical volumespvcreate /dev/md0vgcreate volgroup /dev/md0lvcreate -L 200M -n lvol volgroup# Create file system and mount itmkfs.xfs /dev/volgroup/lvolmkdir /lvolmount -t xfs /dev/volgroup/lvol /lvolvi /etc/fstab
ZFS mit RAIDZZFS mit RAIDZ# Create a pool named „mypool“, using three# disk drives in a RAID-Z configuration# and mount it to /mypool by defaultzpool create mypool raidz /dev/sda /dev/sdb /dev/sdc# (Optional) Create and mount file system# „myfiles“zfs create mypool/myfiles
ZFS Live DemoZFS Live Demo● Zpool anlegenZpool anlegen● ZFS anlegenZFS anlegen● Snapshots erstellenSnapshots erstellen● ZFS send/receiveZFS send/receive● Zpool mirrorZpool mirror
Vielen Dank!Vielen Dank!
Lenz GrimmerLenz Grimmer<[email protected]>
http://lenzg.net/
Fragen / DiskussionFragen / Diskussion