FreeBSD Enterprise Storage Sawomir Wojciech Wojtczak - - PowerPoint PPT Presentation

freebsd enterprise storage
SMART_READER_LITE
LIVE PREVIEW

FreeBSD Enterprise Storage Sawomir Wojciech Wojtczak - - PowerPoint PPT Presentation

FreeBSD Enterprise Storage Polish BSD User Group Welcome 2020/02/11 FreeBSD Enterprise Storage Sawomir Wojciech Wojtczak vermaden@interia.pl vermaden.wordpress.com twitter.com/vermaden bsd.network/@vermaden https://is.gd/bsdstg FreeBSD


slide-1
SLIDE 1

FreeBSD Enterprise Storage

Sławomir Wojciech Wojtczak vermaden@interia.pl vermaden.wordpress.com twitter.com/vermaden bsd.network/@vermaden https://is.gd/bsdstg

FreeBSD Enterprise Storage Polish BSD User Group Welcome 2020/02/11

slide-2
SLIDE 2

What is Enterprise Storage?

FreeBSD Enterprise Storage Polish BSD User Group What is Enterprise? 2020/02/11

slide-3
SLIDE 3

What is Enterprise Storage?

The wikipedia.org/wiki/enterprise_storage page tells nothing about enterprise.

FreeBSD Enterprise Storage Polish BSD User Group What is Enterprise? 2020/02/11

slide-4
SLIDE 4

What is Enterprise Storage?

The wikipedia.org/wiki/enterprise_storage page tells nothing about enterprise. Actually just redirects to wikipedia.org/wiki/data_storage page.

FreeBSD Enterprise Storage Polish BSD User Group What is Enterprise? 2020/02/11

slide-5
SLIDE 5

What is Enterprise Storage?

The wikipedia.org/wiki/enterprise_storage page tells nothing about enterprise. Actually just redirects to wikipedia.org/wiki/data_storage page. The other wikipedia.org/wiki/computer_data_storage page also does the same.

FreeBSD Enterprise Storage Polish BSD User Group What is Enterprise? 2020/02/11

slide-6
SLIDE 6

What is Enterprise Storage?

The wikipedia.org/wiki/enterprise_storage page tells nothing about enterprise. Actually just redirects to wikipedia.org/wiki/data_storage page. The other wikipedia.org/wiki/computer_data_storage page also does the same. The wikipedia.org/wiki/enterprise is just meta page with links.

FreeBSD Enterprise Storage Polish BSD User Group What is Enterprise? 2020/02/11

slide-7
SLIDE 7

Common Charasteristics of Enterprise Storage

FreeBSD Enterprise Storage Polish BSD User Group What is Enterprise? 2020/02/11

slide-8
SLIDE 8

Common Charasteristics of Enterprise Storage

  • Category that includes services/products designed for large organizations.

FreeBSD Enterprise Storage Polish BSD User Group What is Enterprise? 2020/02/11

slide-9
SLIDE 9

Common Charasteristics of Enterprise Storage

  • Category that includes services/products designed for large organizations.
  • Can handle large volumes of data and large numbers of simultanous users.

FreeBSD Enterprise Storage Polish BSD User Group What is Enterprise? 2020/02/11

slide-10
SLIDE 10

Common Charasteristics of Enterprise Storage

  • Category that includes services/products designed for large organizations.
  • Can handle large volumes of data and large numbers of simultanous users.
  • Involves centralized storage repositories such as SAN or NAS devices.

FreeBSD Enterprise Storage Polish BSD User Group What is Enterprise? 2020/02/11

slide-11
SLIDE 11

Common Charasteristics of Enterprise Storage

  • Category that includes services/products designed for large organizations.
  • Can handle large volumes of data and large numbers of simultanous users.
  • Involves centralized storage repositories such as SAN or NAS devices.
  • Requires more time and experience/expertise to set up and operate.

FreeBSD Enterprise Storage Polish BSD User Group What is Enterprise? 2020/02/11

slide-12
SLIDE 12

Common Charasteristics of Enterprise Storage

  • Category that includes services/products designed for large organizations.
  • Can handle large volumes of data and large numbers of simultanous users.
  • Involves centralized storage repositories such as SAN or NAS devices.
  • Requires more time and experience/expertise to set up and operate.
  • Generally costs more than consumer or small business storage devices.

FreeBSD Enterprise Storage Polish BSD User Group What is Enterprise? 2020/02/11

slide-13
SLIDE 13

Common Charasteristics of Enterprise Storage

  • Category that includes services/products designed for large organizations.
  • Can handle large volumes of data and large numbers of simultanous users.
  • Involves centralized storage repositories such as SAN or NAS devices.
  • Requires more time and experience/expertise to set up and operate.
  • Generally costs more than consumer or small business storage devices.
  • Generally offers higher reliability/availability/scalability.

FreeBSD Enterprise Storage Polish BSD User Group What is Enterprise? 2020/02/11

slide-14
SLIDE 14

EnterpriCe or EnterpriSe?

FreeBSD Enterprise Storage Polish BSD User Group What is Enterprise? 2020/02/11

slide-15
SLIDE 15

EnterpriCe or EnterpriSe?

DuckDuckGo does not provide search results count :( Google search for enterprice word gives ~ 1 500 000 results. Google search for enterprise word gives ~ 1 000 000 000 results (1000 times more).

FreeBSD Enterprise Storage Polish BSD User Group What is Enterprise? 2020/02/11

slide-16
SLIDE 16

EnterpriCe or EnterpriSe?

DuckDuckGo does not provide search results count :( Google search for enterprice word gives ~ 1 500 000 results. Google search for enterprise word gives ~ 1 000 000 000 results (1000 times more).

  • Most dictionaries for enterprice word sends you to enterprise term.

FreeBSD Enterprise Storage Polish BSD User Group What is Enterprise? 2020/02/11

slide-17
SLIDE 17

EnterpriCe or EnterpriSe?

DuckDuckGo does not provide search results count :( Google search for enterprice word gives ~ 1 500 000 results. Google search for enterprise word gives ~ 1 000 000 000 results (1000 times more).

  • Most dictionaries for enterprice word sends you to enterprise term.
  • Given the PRICE of many enterprise solutions it could be enterPRICE …

FreeBSD Enterprise Storage Polish BSD User Group What is Enterprise? 2020/02/11

slide-18
SLIDE 18

EnterpriCe or EnterpriSe?

DuckDuckGo does not provide search results count :( Google search for enterprice word gives ~ 1 500 000 results. Google search for enterprise word gives ~ 1 000 000 000 results (1000 times more).

  • Most dictionaries for enterprice word sends you to enterprise term.
  • Given the PRICE of many enterprise solutions it could be enterPRICE …
  • … or enterpri$e as well :)

FreeBSD Enterprise Storage Polish BSD User Group What is Enterprise? 2020/02/11

slide-19
SLIDE 19

EnterpriCe or EnterpriSe?

DuckDuckGo does not provide search results count :( Google search for enterprice word gives ~ 1 500 000 results. Google search for enterprise word gives ~ 1 000 000 000 results (1000 times more).

  • Most dictionaries for enterprice word sends you to enterprise term.
  • Given the PRICE of many enterprise solutions it could be enterPRICE …
  • … or enterpri$e as well :)
  • When in doubt just use S version - Enterprise.

FreeBSD Enterprise Storage Polish BSD User Group What is Enterprise? 2020/02/11

slide-20
SLIDE 20

Internal Solutions - Filesystems

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-21
SLIDE 21

Internal Solutions - Filesystems

  • UFS - classic/mature/traditional small memory footprint UNIX filesytem.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-22
SLIDE 22

Internal Solutions - Filesystems

  • UFS - classic/mature/traditional small memory footprint UNIX filesytem.

○ UFS with Soft Updates (SU) allows Snapshots and dump(8)/restore(8) features.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-23
SLIDE 23

Internal Solutions - Filesystems

  • UFS - classic/mature/traditional small memory footprint UNIX filesytem.

○ UFS with Soft Updates (SU) allows Snapshots and dump(8)/restore(8) features. ○ UFS with Journaled Soft Updates (SU+J) with ultra fast fsck(8) process.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-24
SLIDE 24

Internal Solutions - Filesystems

  • UFS - classic/mature/traditional small memory footprint UNIX filesytem.

○ UFS with Soft Updates (SU) allows Snapshots and dump(8)/restore(8) features. ○ UFS with Journaled Soft Updates (SU+J) with ultra fast fsck(8) process.

  • ZFS - modern pooled UNIX storage.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-25
SLIDE 25

Internal Solutions - Filesystems

  • UFS - classic/mature/traditional small memory footprint UNIX filesytem.

○ UFS with Soft Updates (SU) allows Snapshots and dump(8)/restore(8) features. ○ UFS with Journaled Soft Updates (SU+J) with ultra fast fsck(8) process.

  • ZFS - modern pooled UNIX storage.

○ Stable ZFS - based on FreeBSD Base System ZFS implementaiton.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-26
SLIDE 26

Internal Solutions - Filesystems

  • UFS - classic/mature/traditional small memory footprint UNIX filesytem.

○ UFS with Soft Updates (SU) allows Snapshots and dump(8)/restore(8) features. ○ UFS with Journaled Soft Updates (SU+J) with ultra fast fsck(8) process.

  • ZFS - modern pooled UNIX storage.

○ Stable ZFS - based on FreeBSD Base System ZFS implementaiton. ○ Latest ZFS - based on ZoL/ZoF OpenZFS repository (use FreeBSD Ports).

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-27
SLIDE 27

Internal Solutions - Filesystems

  • UFS - classic/mature/traditional small memory footprint UNIX filesytem.

○ UFS with Soft Updates (SU) allows Snapshots and dump(8)/restore(8) features. ○ UFS with Journaled Soft Updates (SU+J) with ultra fast fsck(8) process.

  • ZFS - modern pooled UNIX storage.

○ Stable ZFS - based on FreeBSD Base System ZFS implementaiton. ○ Latest ZFS - based on ZoL/ZoF OpenZFS repository (use FreeBSD Ports). ○ Differences - http://open-zfs.org/wiki/Feature_/lags - detailed information.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-28
SLIDE 28

Internal Solutions - Filesystems

  • UFS - classic/mature/traditional small memory footprint UNIX filesytem.

○ UFS with Soft Updates (SU) allows Snapshots and dump(8)/restore(8) features. ○ UFS with Journaled Soft Updates (SU+J) with ultra fast fsck(8) process.

  • ZFS - modern pooled UNIX storage.

○ Stable ZFS - based on FreeBSD Base System ZFS implementaiton. ○ Latest ZFS - based on ZoL/ZoF OpenZFS repository (use FreeBSD Ports). ○ Differences - http://open-zfs.org/wiki/Feature_/lags - detailed information.

  • FAT/EXT2 - FreeBSD maintains BSD licensed FAT/EXT2 filesystem implementations.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-29
SLIDE 29

Internal Solutions - Frameworks

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-30
SLIDE 30

Internal Solutions - Frameworks

  • GEOM - FreeBSD's Modular Disk Transformation Framework.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-31
SLIDE 31

Internal Solutions - Frameworks

  • GEOM - FreeBSD's Modular Disk Transformation Framework.

○ Access/control of classes through use of providers/devices in /dev directory.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-32
SLIDE 32

Internal Solutions - Frameworks

  • GEOM - FreeBSD's Modular Disk Transformation Framework.

○ Access/control of classes through use of providers/devices in /dev directory. ○ Provides various storage related features and utilites:

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-33
SLIDE 33

Internal Solutions - Frameworks

  • GEOM - FreeBSD's Modular Disk Transformation Framework.

○ Access/control of classes through use of providers/devices in /dev directory. ○ Provides various storage related features and utilites:

  • Software RAID0/RAID1/RAID10/RAID3/RAID5 configurations.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-34
SLIDE 34

Internal Solutions - Frameworks

  • GEOM - FreeBSD's Modular Disk Transformation Framework.

○ Access/control of classes through use of providers/devices in /dev directory. ○ Provides various storage related features and utilites:

  • Software RAID0/RAID1/RAID10/RAID3/RAID5 configurations.
  • Transparent encryption of underlying devices with GE

GELI LI/GD GDBE (like LUKS). FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-35
SLIDE 35

Internal Solutions - Frameworks

  • GEOM - FreeBSD's Modular Disk Transformation Framework.

○ Access/control of classes through use of providers/devices in /dev directory. ○ Provides various storage related features and utilites:

  • Software RAID0/RAID1/RAID10/RAID3/RAID5 configurations.
  • Transparent encryption of underlying devices with GE

GELI LI/GD GDBE (like LUKS).

  • Transparent filesytem journaling for ANY filesystem with GJ

GJOURNAL. FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-36
SLIDE 36

Internal Solutions - Frameworks

  • GEOM - FreeBSD's Modular Disk Transformation Framework.

○ Access/control of classes through use of providers/devices in /dev directory. ○ Provides various storage related features and utilites:

  • Software RAID0/RAID1/RAID10/RAID3/RAID5 configurations.
  • Transparent encryption of underlying devices with GE

GELI LI/GD GDBE (like LUKS).

  • Transparent filesytem journaling for ANY filesystem with GJ

GJOURNAL.

  • Export block device over network with GEO

EOM GATE devices (like NFS for block). FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-37
SLIDE 37

Internal Solutions - Frameworks

  • GEOM - FreeBSD's Modular Disk Transformation Framework.

○ Access/control of classes through use of providers/devices in /dev directory. ○ Provides various storage related features and utilites:

  • Software RAID0/RAID1/RAID10/RAID3/RAID5 configurations.
  • Transparent encryption of underlying devices with GE

GELI LI/GD GDBE (like LUKS).

  • Transparent filesytem journaling for ANY filesystem with GJ

GJOURNAL.

  • Export block device over network with GEO

EOM GATE devices (like NFS for block).

  • FUSE - BSD licensed FUSE filesystem implementation with 7.04 - 7.23 protocol support.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-38
SLIDE 38

Internal Solutions - Frameworks

  • GEOM - FreeBSD's Modular Disk Transformation Framework.

○ Access/control of classes through use of providers/devices in /dev directory. ○ Provides various storage related features and utilites:

  • Software RAID0/RAID1/RAID10/RAID3/RAID5 configurations.
  • Transparent encryption of underlying devices with GE

GELI LI/GD GDBE (like LUKS).

  • Transparent filesytem journaling for ANY filesystem with GJ

GJOURNAL.

  • Export block device over network with GEO

EOM GATE devices (like NFS for block).

  • FUSE - BSD licensed FUSE filesystem implementation with 7.04 - 7.23 protocol support.

○ Details - https://freebsd.org/news/status/report-2019-04-2019-06.html#FUSE

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-39
SLIDE 39

Internal Solutions - Frameworks

  • GEOM - FreeBSD's Modular Disk Transformation Framework.

○ Access/control of classes through use of providers/devices in /dev directory. ○ Provides various storage related features and utilites:

  • Software RAID0/RAID1/RAID10/RAID3/RAID5 configurations.
  • Transparent encryption of underlying devices with GE

GELI LI/GD GDBE (like LUKS).

  • Transparent filesytem journaling for ANY filesystem with GJ

GJOURNAL.

  • Export block device over network with GEO

EOM GATE devices (like NFS for block).

  • FUSE - BSD licensed FUSE filesystem implementation with 7.04 - 7.23 protocol support.

○ Details - https://freebsd.org/news/status/report-2019-04-2019-06.html#FUSE ○ Classic - NTFS3G/exFAT/EXT2/EXT3/EXT4/XFS/HFS/MTP/BTRFS/LinuxLVM/...

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-40
SLIDE 40

Internal Solutions - Frameworks

  • GEOM - FreeBSD's Modular Disk Transformation Framework.

○ Access/control of classes through use of providers/devices in /dev directory. ○ Provides various storage related features and utilites:

  • Software RAID0/RAID1/RAID10/RAID3/RAID5 configurations.
  • Transparent encryption of underlying devices with GE

GELI LI/GD GDBE (like LUKS).

  • Transparent filesytem journaling for ANY filesystem with GJ

GJOURNAL.

  • Export block device over network with GEO

EOM GATE devices (like NFS for block).

  • FUSE - BSD licensed FUSE filesystem implementation with 7.04 - 7.23 protocol support.

○ Details - https://freebsd.org/news/status/report-2019-04-2019-06.html#FUSE ○ Classic - NTFS3G/exFAT/EXT2/EXT3/EXT4/XFS/HFS/MTP/BTRFS/LinuxLVM/... ○ Virtual - s3fs/gphotofs/mp3fs/rar2fs/sqlfs/sshfs/unionfs/wikipediafs/...

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-41
SLIDE 41

Internal Solutions - Availability

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-42
SLIDE 42

Internal Solutions - Availability

  • HAST - Highly Available Storage (like DRBD).

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-43
SLIDE 43

Internal Solutions - Availability

  • HAST - Highly Available Storage (like DRBD).

○ Transparent storage across several machines connected over TCP/IP network.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-44
SLIDE 44

Internal Solutions - Availability

  • HAST - Highly Available Storage (like DRBD).

○ Transparent storage across several machines connected over TCP/IP network. ○ Can be understood as network based RAID1 (mirror).

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-45
SLIDE 45

Internal Solutions - Availability

  • HAST - Highly Available Storage (like DRBD).

○ Transparent storage across several machines connected over TCP/IP network. ○ Can be understood as network based RAID1 (mirror). ○ With FreeBSD's CARP and devd(8) allows highly available storage cluster.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-46
SLIDE 46

Internal Solutions - Availability

  • HAST - Highly Available Storage (like DRBD).

○ Transparent storage across several machines connected over TCP/IP network. ○ Can be understood as network based RAID1 (mirror). ○ With FreeBSD's CARP and devd(8) allows highly available storage cluster.

  • CARP - Common Address Redundancy Protocol.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-47
SLIDE 47

Internal Solutions - Availability

  • HAST - Highly Available Storage (like DRBD).

○ Transparent storage across several machines connected over TCP/IP network. ○ Can be understood as network based RAID1 (mirror). ○ With FreeBSD's CARP and devd(8) allows highly available storage cluster.

  • CARP - Common Address Redundancy Protocol.

○ Allows multiple hosts to share the same IP address and Virtual Host ID (VHID).

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-48
SLIDE 48

Internal Solutions - Availability

  • HAST - Highly Available Storage (like DRBD).

○ Transparent storage across several machines connected over TCP/IP network. ○ Can be understood as network based RAID1 (mirror). ○ With FreeBSD's CARP and devd(8) allows highly available storage cluster.

  • CARP - Common Address Redundancy Protocol.

○ Allows multiple hosts to share the same IP address and Virtual Host ID (VHID). ○ Provides high availability for one or more services.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-49
SLIDE 49

Internal Solutions - Availability

  • HAST - Highly Available Storage (like DRBD).

○ Transparent storage across several machines connected over TCP/IP network. ○ Can be understood as network based RAID1 (mirror). ○ With FreeBSD's CARP and devd(8) allows highly available storage cluster.

  • CARP - Common Address Redundancy Protocol.

○ Allows multiple hosts to share the same IP address and Virtual Host ID (VHID). ○ Provides high availability for one or more services. ○ Provides floating shared highly available IP address.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions 2020/02/11

slide-50
SLIDE 50

UFS with Soft Updates (SU)

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-51
SLIDE 51

UFS with Soft Updates (SU)

  • Mature classic filesystem with very small memory footprint.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-52
SLIDE 52

UFS with Soft Updates (SU)

  • Mature classic filesystem with very small memory footprint.
  • Supports TRIM natively which allows efficient data deletion on SSDs.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-53
SLIDE 53

UFS with Soft Updates (SU)

  • Mature classic filesystem with very small memory footprint.
  • Supports TRIM natively which allows efficient data deletion on SSDs.
  • Supports read only snaphots (not available in SUJ mode).

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-54
SLIDE 54

UFS with Soft Updates (SU)

  • Mature classic filesystem with very small memory footprint.
  • Supports TRIM natively which allows efficient data deletion on SSDs.
  • Supports read only snaphots (not available in SUJ mode).
  • Neither Journaling (SUJ) nor Soft Updates (SU) guarantees no data will be lost.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-55
SLIDE 55

UFS with Soft Updates (SU)

  • Mature classic filesystem with very small memory footprint.
  • Supports TRIM natively which allows efficient data deletion on SSDs.
  • Supports read only snaphots (not available in SUJ mode).
  • Neither Journaling (SUJ) nor Soft Updates (SU) guarantees no data will be lost.
  • They (SUJ/SU) make sure that filesystem metadata will remain consistent.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-56
SLIDE 56

UFS with Soft Updates (SU)

  • Mature classic filesystem with very small memory footprint.
  • Supports TRIM natively which allows efficient data deletion on SSDs.
  • Supports read only snaphots (not available in SUJ mode).
  • Neither Journaling (SUJ) nor Soft Updates (SU) guarantees no data will be lost.
  • They (SUJ/SU) make sure that filesystem metadata will remain consistent.
  • Advantage of SU/SUJ is that filesystem can be mounted immediately after crash.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-57
SLIDE 57

UFS with Soft Updates (SU)

  • Mature classic filesystem with very small memory footprint.
  • Supports TRIM natively which allows efficient data deletion on SSDs.
  • Supports read only snaphots (not available in SUJ mode).
  • Neither Journaling (SUJ) nor Soft Updates (SU) guarantees no data will be lost.
  • They (SUJ/SU) make sure that filesystem metadata will remain consistent.
  • Advantage of SU/SUJ is that filesystem can be mounted immediately after crash.
  • UFS (with SU/SUJ) requires traditional fsck(8) in background to make it clean.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-58
SLIDE 58

UFS with Journaled Soft Updates (SUJ)

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-59
SLIDE 59

UFS with Journaled Soft Updates (SUJ)

  • Primary purpose was to eliminate long filesystem check times with fsck(8).

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-60
SLIDE 60

UFS with Journaled Soft Updates (SUJ)

  • Primary purpose was to eliminate long filesystem check times with fsck(8).
  • SUJ journal (.sujournal) logs only two inconsistencies possible in SU:

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-61
SLIDE 61

UFS with Journaled Soft Updates (SUJ)

  • Primary purpose was to eliminate long filesystem check times with fsck(8).
  • SUJ journal (.sujournal) logs only two inconsistencies possible in SU:

○ Allocated but unreferenced blocks.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-62
SLIDE 62

UFS with Journaled Soft Updates (SUJ)

  • Primary purpose was to eliminate long filesystem check times with fsck(8).
  • SUJ journal (.sujournal) logs only two inconsistencies possible in SU:

○ Allocated but unreferenced blocks. ○ Incorrectly high link counts (including unreferenced inodes).

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-63
SLIDE 63

UFS with Journaled Soft Updates (SUJ)

  • Primary purpose was to eliminate long filesystem check times with fsck(8).
  • SUJ journal (.sujournal) logs only two inconsistencies possible in SU:

○ Allocated but unreferenced blocks. ○ Incorrectly high link counts (including unreferenced inodes).

  • 200 GB data on disk takes 1 second with SUJ under fsck(8).

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-64
SLIDE 64

UFS with Journaled Soft Updates (SUJ)

  • Primary purpose was to eliminate long filesystem check times with fsck(8).
  • SUJ journal (.sujournal) logs only two inconsistencies possible in SU:

○ Allocated but unreferenced blocks. ○ Incorrectly high link counts (including unreferenced inodes).

  • 200 GB data on disk takes 1 second with SUJ under fsck(8).

○ Same disk with SU only (w/o Journaling) takes 27 minutes

es (180 800 0 times es mor

  • re).

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-65
SLIDE 65

UFS with Journaled Soft Updates (SUJ)

  • Primary purpose was to eliminate long filesystem check times with fsck(8).
  • SUJ journal (.sujournal) logs only two inconsistencies possible in SU:

○ Allocated but unreferenced blocks. ○ Incorrectly high link counts (including unreferenced inodes).

  • 200 GB data on disk takes 1 second with SUJ under fsck(8).

○ Same disk with SU only (w/o Journaling) takes 27 minutes

es (180 800 0 times es mor

  • re).
  • 10 TB data on disk takes 1 minute with SUJ under fsck(8).

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-66
SLIDE 66

UFS with Journaled Soft Updates (SUJ)

  • Primary purpose was to eliminate long filesystem check times with fsck(8).
  • SUJ journal (.sujournal) logs only two inconsistencies possible in SU:

○ Allocated but unreferenced blocks. ○ Incorrectly high link counts (including unreferenced inodes).

  • 200 GB data on disk takes 1 second with SUJ under fsck(8).

○ Same disk with SU only (w/o Journaling) takes 27 minutes

es (180 800 0 times es mor

  • re).
  • 10 TB data on disk takes 1 minute with SUJ under fsck(8).

○ Same disk with SU only (w/o Journaling) took approximately 10 hours.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-67
SLIDE 67

Why UFS in 2020?

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-68
SLIDE 68

Why UFS in 2020?

  • UFS has both fragments and blocks:

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-69
SLIDE 69

Why UFS in 2020?

  • UFS has both fragments and blocks:

○ Files smaller than blocksize can be stored in individual fragments.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-70
SLIDE 70

Why UFS in 2020?

  • UFS has both fragments and blocks:

○ Files smaller than blocksize can be stored in individual fragments. ○ Can create filesystem optimized for small files (1 KB) with (8 KB) blocksize.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-71
SLIDE 71

Why UFS in 2020?

  • UFS has both fragments and blocks:

○ Files smaller than blocksize can be stored in individual fragments. ○ Can create filesystem optimized for small files (1 KB) with (8 KB) blocksize.

  • UFS can be grown online with growfs(8) at boot time or anytime at system work.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-72
SLIDE 72

Why UFS in 2020?

  • UFS has both fragments and blocks:

○ Files smaller than blocksize can be stored in individual fragments. ○ Can create filesystem optimized for small files (1 KB) with (8 KB) blocksize.

  • UFS can be grown online with growfs(8) at boot time or anytime at system work.
  • Soft Updates is great for apps/databases with their own log (like PostgreSQL):

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-73
SLIDE 73

Why UFS in 2020?

  • UFS has both fragments and blocks:

○ Files smaller than blocksize can be stored in individual fragments. ○ Can create filesystem optimized for small files (1 KB) with (8 KB) blocksize.

  • UFS can be grown online with growfs(8) at boot time or anytime at system work.
  • Soft Updates is great for apps/databases with their own log (like PostgreSQL):

○ Using Journaling would log everything twice - SU passes data throu

  • ugh.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-74
SLIDE 74

Why UFS in 2020?

  • UFS has both fragments and blocks:

○ Files smaller than blocksize can be stored in individual fragments. ○ Can create filesystem optimized for small files (1 KB) with (8 KB) blocksize.

  • UFS can be grown online with growfs(8) at boot time or anytime at system work.
  • Soft Updates is great for apps/databases with their own log (like PostgreSQL):

○ Using Journaling would log everything twice - SU passes data throu

  • ugh.
  • Soft Updates has interesting property regarding short lived (temporary) files:

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-75
SLIDE 75

Why UFS in 2020?

  • UFS has both fragments and blocks:

○ Files smaller than blocksize can be stored in individual fragments. ○ Can create filesystem optimized for small files (1 KB) with (8 KB) blocksize.

  • UFS can be grown online with growfs(8) at boot time or anytime at system work.
  • Soft Updates is great for apps/databases with their own log (like PostgreSQL):

○ Using Journaling would log everything twice - SU passes data throu

  • ugh.
  • Soft Updates has interesting property regarding short lived (temporary) files:

○ Create file + write data to it + delete it (in short time span).

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-76
SLIDE 76

Why UFS in 2020?

  • UFS has both fragments and blocks:

○ Files smaller than blocksize can be stored in individual fragments. ○ Can create filesystem optimized for small files (1 KB) with (8 KB) blocksize.

  • UFS can be grown online with growfs(8) at boot time or anytime at system work.
  • Soft Updates is great for apps/databases with their own log (like PostgreSQL):

○ Using Journaling would log everything twice - SU passes data throu

  • ugh.
  • Soft Updates has interesting property regarding short lived (temporary) files:

○ Create file + write data to it + delete it (in short time span). ○ Neither data nor metadata from this file will ever touch filesystem.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-77
SLIDE 77

Why UFS in 2020?

  • UFS has both fragments and blocks:

○ Files smaller than blocksize can be stored in individual fragments. ○ Can create filesystem optimized for small files (1 KB) with (8 KB) blocksize.

  • UFS can be grown online with growfs(8) at boot time or anytime at system work.
  • Soft Updates is great for apps/databases with their own log (like PostgreSQL):

○ Using Journaling would log everything twice - SU passes data throu

  • ugh.
  • Soft Updates has interesting property regarding short lived (temporary) files:

○ Create file + write data to it + delete it (in short time span). ○ Neither data nor metadata from this file will ever touch filesystem.

  • Netflix uses UFS in 2020 for their content storage on FreeBSD.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - UFS 2020/02/11

slide-78
SLIDE 78

ZFS - Zettabyte File System

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-79
SLIDE 79

ZFS - Zettabyte File System

  • Modern pooled storage.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-80
SLIDE 80

ZFS - Zettabyte File System

  • Modern pooled storage.
  • Always consistent on-disk state - no fsck(8) needed.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-81
SLIDE 81

ZFS - Zettabyte File System

  • Modern pooled storage.
  • Always consistent on-disk state - no fsck(8) needed.
  • Snapshots (read only) and clones (read write).

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-82
SLIDE 82

ZFS - Zettabyte File System

  • Modern pooled storage.
  • Always consistent on-disk state - no fsck(8) needed.
  • Snapshots (read only) and clones (read write).
  • Provides end-to-end data integrity with checksums.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-83
SLIDE 83

ZFS - Zettabyte File System

  • Modern pooled storage.
  • Always consistent on-disk state - no fsck(8) needed.
  • Snapshots (read only) and clones (read write).
  • Provides end-to-end data integrity with checksums.
  • Have self-healing features.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-84
SLIDE 84

ZFS - Zettabyte File System

  • Modern pooled storage.
  • Always consistent on-disk state - no fsck(8) needed.
  • Snapshots (read only) and clones (read write).
  • Provides end-to-end data integrity with checksums.
  • Have self-healing features.
  • Have built-in redundancy.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-85
SLIDE 85

ZFS - Zettabyte File System

  • Modern pooled storage.
  • Always consistent on-disk state - no fsck(8) needed.
  • Snapshots (read only) and clones (read write).
  • Provides end-to-end data integrity with checksums.
  • Have self-healing features.
  • Have built-in redundancy.
  • Scalable design and dynamic striping.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-86
SLIDE 86

ZFS - Zettabyte File System

  • Modern pooled storage.
  • Always consistent on-disk state - no fsck(8) needed.
  • Snapshots (read only) and clones (read write).
  • Provides end-to-end data integrity with checksums.
  • Have self-healing features.
  • Have built-in redundancy.
  • Scalable design and dynamic striping.
  • Variable blocksize.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-87
SLIDE 87

ZFS - Zettabyte File System

  • Modern pooled storage.
  • Always consistent on-disk state - no fsck(8) needed.
  • Snapshots (read only) and clones (read write).
  • Provides end-to-end data integrity with checksums.
  • Have self-healing features.
  • Have built-in redundancy.
  • Scalable design and dynamic striping.
  • Variable blocksize.
  • Builtin replication/compression/encryption/deduplication.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-88
SLIDE 88

ZFS - Zettabyte File System

  • Modern pooled storage.
  • Always consistent on-disk state - no fsck(8) needed.
  • Snapshots (read only) and clones (read write).
  • Provides end-to-end data integrity with checksums.
  • Have self-healing features.
  • Have built-in redundancy.
  • Scalable design and dynamic striping.
  • Variable blocksize.
  • Builtin replication/compression/encryption/deduplication.
  • Possible to add read cache as L2ARC (2nd Level of Adaptive Replacement Cache).

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-89
SLIDE 89

ZFS - Zettabyte File System

  • Modern pooled storage.
  • Always consistent on-disk state - no fsck(8) needed.
  • Snapshots (read only) and clones (read write).
  • Provides end-to-end data integrity with checksums.
  • Have self-healing features.
  • Have built-in redundancy.
  • Scalable design and dynamic striping.
  • Variable blocksize.
  • Builtin replication/compression/encryption/deduplication.
  • Possible to add read cache as L2ARC (2nd Level of Adaptive Replacement Cache).
  • Possible to add write cache as ZIL (ZFS Intent Log).

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-90
SLIDE 90

ZFS - Zettabyte File System

  • Modern pooled storage.
  • Always consistent on-disk state - no fsck(8) needed.
  • Snapshots (read only) and clones (read write).
  • Provides end-to-end data integrity with checksums.
  • Have self-healing features.
  • Have built-in redundancy.
  • Scalable design and dynamic striping.
  • Variable blocksize.
  • Builtin replication/compression/encryption/deduplication.
  • Possible to add read cache as L2ARC (2nd Level of Adaptive Replacement Cache).
  • Possible to add write cache as ZIL (ZFS Intent Log).
  • Simple administration - two simple zfs(8) and zpool(8) commands.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-91
SLIDE 91

ZFS - Common Myths

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-92
SLIDE 92

ZFS - Common Myths

  • Myth #1 - lots of RAM is needed.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-93
SLIDE 93

ZFS - Common Myths

  • Myth #1 - lots of RAM is needed.

○ RAM is only c

cache for ZFS (called ARC) and its size can be tuned down to even 10MB for example.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-94
SLIDE 94

ZFS - Common Myths

  • Myth #1 - lots of RAM is needed.

○ RAM is only c

cache for ZFS (called ARC) and its size can be tuned down to even 10MB for example.

○ Use vfs.zfs.arc_min and vfs.zfs.arc_max in /boot/loader.conf file.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-95
SLIDE 95

ZFS - Common Myths

  • Myth #1 - lots of RAM is needed.

○ RAM is only c

cache for ZFS (called ARC) and its size can be tuned down to even 10MB for example.

○ Use vfs.zfs.arc_min and vfs.zfs.arc_max in /boot/loader.conf file. ○ Use kern.maxvnodes in /etc/sysctl.conf file if needed to limit for sure.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-96
SLIDE 96

ZFS - Common Myths

  • Myth #1 - lots of RAM is needed.

○ RAM is only c

cache for ZFS (called ARC) and its size can be tuned down to even 10MB for example.

○ Use vfs.zfs.arc_min and vfs.zfs.arc_max in /boot/loader.conf file. ○ Use kern.maxvnodes in /etc/sysctl.conf file if needed to limit for sure. ○ I have used 2TB ZFS mirror with 512RAM and it was rock stable for several years.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-97
SLIDE 97

ZFS - Common Myths

  • Myth #1 - lots of RAM is needed.

○ RAM is only c

cache for ZFS (called ARC) and its size can be tuned down to even 10MB for example.

○ Use vfs.zfs.arc_min and vfs.zfs.arc_max in /boot/loader.conf file. ○ Use kern.maxvnodes in /etc/sysctl.conf file if needed to limit for sure. ○ I have used 2TB ZFS mirror with 512RAM and it was rock stable for several years.

  • Myth #2 - ECC RAM must be used.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-98
SLIDE 98

ZFS - Common Myths

  • Myth #1 - lots of RAM is needed.

○ RAM is only c

cache for ZFS (called ARC) and its size can be tuned down to even 10MB for example.

○ Use vfs.zfs.arc_min and vfs.zfs.arc_max in /boot/loader.conf file. ○ Use kern.maxvnodes in /etc/sysctl.conf file if needed to limit for sure. ○ I have used 2TB ZFS mirror with 512RAM and it was rock stable for several years.

  • Myth #2 - ECC RAM must be used.

○ All filesystems benefit from ECC RAM and ZFS is no different here.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-99
SLIDE 99

ZFS - Common Myths

  • Myth #1 - lots of RAM is needed.

○ RAM is only c

cache for ZFS (called ARC) and its size can be tuned down to even 10MB for example.

○ Use vfs.zfs.arc_min and vfs.zfs.arc_max in /boot/loader.conf file. ○ Use kern.maxvnodes in /etc/sysctl.conf file if needed to limit for sure. ○ I have used 2TB ZFS mirror with 512RAM and it was rock stable for several years.

  • Myth #2 - ECC RAM must be used.

○ All filesystems benefit from ECC RAM and ZFS is no different here. ○ ZFS without ECC RAM is safer then other filesystems with ECC RAM (checksums).

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-100
SLIDE 100

ZFS - Common Myths

  • Myth #1 - lots of RAM is needed.

○ RAM is only c

cache for ZFS (called ARC) and its size can be tuned down to even 10MB for example.

○ Use vfs.zfs.arc_min and vfs.zfs.arc_max in /boot/loader.conf file. ○ Use kern.maxvnodes in /etc/sysctl.conf file if needed to limit for sure. ○ I have used 2TB ZFS mirror with 512RAM and it was rock stable for several years.

  • Myth #2 - ECC RAM must be used.

○ All filesystems benefit from ECC RAM and ZFS is no different here. ○ ZFS without ECC RAM is safer then other filesystems with ECC RAM (checksums).

  • Myth #3 - bad for laptop/desktop.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-101
SLIDE 101

ZFS - Common Myths

  • Myth #1 - lots of RAM is needed.

○ RAM is only c

cache for ZFS (called ARC) and its size can be tuned down to even 10MB for example.

○ Use vfs.zfs.arc_min and vfs.zfs.arc_max in /boot/loader.conf file. ○ Use kern.maxvnodes in /etc/sysctl.conf file if needed to limit for sure. ○ I have used 2TB ZFS mirror with 512RAM and it was rock stable for several years.

  • Myth #2 - ECC RAM must be used.

○ All filesystems benefit from ECC RAM and ZFS is no different here. ○ ZFS without ECC RAM is safer then other filesystems with ECC RAM (checksums).

  • Myth #3 - bad for laptop/desktop.

○ Single disk devices still benetif from snapshots/clones/checksums

ms/compression/deduplication.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-102
SLIDE 102

ZFS - Common Myths

  • Myth #1 - lots of RAM is needed.

○ RAM is only c

cache for ZFS (called ARC) and its size can be tuned down to even 10MB for example.

○ Use vfs.zfs.arc_min and vfs.zfs.arc_max in /boot/loader.conf file. ○ Use kern.maxvnodes in /etc/sysctl.conf file if needed to limit for sure. ○ I have used 2TB ZFS mirror with 512RAM and it was rock stable for several years.

  • Myth #2 - ECC RAM must be used.

○ All filesystems benefit from ECC RAM and ZFS is no different here. ○ ZFS without ECC RAM is safer then other filesystems with ECC RAM (checksums).

  • Myth #3 - bad for laptop/desktop.

○ Single disk devices still benetif from snapshots/clones/checksums

ms/compression/deduplication.

○ ZFS allows bulletproof up

upgrades with ZFS B Boot En Environme ments - ht

https:/ ://is.g .gd/BEC ECTL - more here.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - ZFS 2020/02/11

slide-103
SLIDE 103

GEOM Idea

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - GEOM 2020/02/11

slide-104
SLIDE 104

GEOM Idea

  • GEOM is all about layers.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - GEOM 2020/02/11

slide-105
SLIDE 105

GEOM Idea

  • GEOM is all about layers.
  • Like ogres or onions.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - GEOM 2020/02/11

slide-106
SLIDE 106

GEOM Idea

  • GEOM is all about layers.
  • Like ogres or onions.
  • Examples of GEOM layers below.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - GEOM 2020/02/11

slide-107
SLIDE 107

GEOM Idea

  • GEOM is all about layers.
  • Like ogres or onions.
  • Examples of GEOM layers below.
  • A. ZFS on GELI (encryption) on GPT (p1) partition.

A.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - GEOM 2020/02/11

RAW DEVICE /dev/ada0 GPT PARTITION /dev/ada0p1 ENCRYPTION /dev/ada0p1.eli FILESYSTEM ZFS

slide-108
SLIDE 108

GEOM Idea

  • GEOM is all about layers.
  • Like ogres or onions.
  • Examples of GEOM layers below.
  • A. ZFS on GELI (encryption) on GPT (p1) partition.
  • B. FAT32 on GELI on GJOURNAL (journaling) on MBR (s1) partition/slice.

B. A.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - GEOM 2020/02/11

RAW DEVICE /dev/ada0 GPT PARTITION /dev/ada0p1 ENCRYPTION /dev/ada0p1.eli FILESYSTEM ZFS RAW DEVICE /dev/da0 MBR PARTITION /dev/da0s1 JOURNAL /dev/da0s1.journal ENCRYPTION /dev/da0s1.journal.eli FILESYSTEM FAT32

slide-109
SLIDE 109

GEOM Classes/Providers (1/2)

  • CACHE

/sbin/gcache

Optional read cache for GEOM RAID3 graid3(8) class.

  • CONCAT

/sbin/gconcat

Concat multiple devices into one virtual device.

  • DBE

/sbin/gbde

GEOM based disk encryption (older).

  • ELI

/sbin/geli

Block device disk encryption (modern).

  • GATE

/sbin/ggate*

Export block device over network (like NFS for block).

  • JOURNAL

/sbin/gjournal

Generic block device level journal provider.

  • LABEL

/sbin/glabel

Manual and automatic labelization provider.

  • MIRROR

/sbin/gmirror

Mirror (RAID1) provider.

  • MOUNTVER

/sbin/gmountver

Queues I/O requests and waits for provider.

  • MULTIPATH

/sbin/gmultipath Device multipath configuration provider.

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - GEOM 2020/02/11

slide-110
SLIDE 110

GEOM Classes/Providers (2/2)

  • NOP

/sbin/gnop Provider to example emulate different blocksize.

  • PART

/sbin/gpart Partition (BSD/MBR/GPT/…) GEOM device providers.

  • RAID

/sbin/graid Software RAID management (Intel/JMicron/SiI/Promise/…).

  • RAID3

/sbin/graid3 RAID3 provider.

  • RAID5

sysutils/graid5 RAID5 provider (available from FreeBSD Ports).

  • SCHED

/sbin/gsched Change scheduling policy of requests going to provider.

  • SHSEC

/sbin/gshsec Setup shared secret between given providers.

  • STRIPE

/sbin/gstripe Stripe (RAID0) provider (RAID10 with gmirror(8) provider).

  • VIRSTOR /sbin/gvirstor

Like Virtual Memory allows overcommit for block devices.

  • VINUM

/sbin/gvinum RAID 0/1/10/5 provider (older VxVM style volume manager).

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - GEOM 2020/02/11

slide-111
SLIDE 111

GEOM Examples (1/2)

# geom disk list // 12 TB Toshiba 7200RPM Geom name: da0 Providers:

  • 1. Name: da0

Mediasize: 12000138625024 (11T) Sectorsize: 512 Stripesize: 4096 Stripeoffset: 0 Mode: r1w1e2 descr: ATA TOSHIBA MG07ACA1 lunid: 50000398e8c9d3d5 ident: 98G0A10CF95G rotationrate: 7200 fwsectors: 63 fwheads: 255

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - GEOM 2020/02/11

# geom disk list // 4 TB Samsung SSD Geom name: ada0 Providers:

  • 1. Name: ada0

Mediasize: 4000787030016 (3.6T) Sectorsize: 512 Mode: r1w1e2 descr: Samsung SSD 860 QVO 4TB lunid: 5002538e40f16748 ident: S4CXNF0M404495P rotationrate: 0 fwsectors: 63 fwheads: 16

slide-112
SLIDE 112

GEOM Examples (2/2)

# gpart show da0 => 40 23437770672 da90 GPT (11T) 40 23435673600 1 freebsd-zfs (11T) 23435673640 2097072 - free - (1.0G) # gpart show ada0 => 40 1953525088 ada1 GPT (932G) 40 409600 1 efi (200M) 409640 1024 2 freebsd-boot (512K) 410664 984 - free - (492K) 411648 1953112064 3 freebsd-zfs (931G) 1953523712 1416 - free - (708K)

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - GEOM 2020/02/11

# geli status Name Status Components ada1p3.eli ACTIVE ada1p3 ada0p1.eli ACTIVE ada0p1 da0p1.eli ACTIVE da0p1 # glabel status Name Status Components gpt/efiboot0 N/A ada1p1 gpt/gptboot0 N/A ada1p2

slide-113
SLIDE 113

Internal Solutions - Summary

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - Summary 2020/02/11

slide-114
SLIDE 114

Internal Solutions - Summary

UFS

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - Summary 2020/02/11

slide-115
SLIDE 115

Internal Solutions - Summary

UFS ZFS

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - Summary 2020/02/11

slide-116
SLIDE 116

Internal Solutions - Summary

UFS FreeBSD Ecosystem

GEOM/FUSE/HAST/CARP/UFS/ZFS/...

ZFS

FreeBSD Enterprise Storage Polish BSD User Group Internal Solutions - Summary 2020/02/11

slide-117
SLIDE 117

External Solutions - Distributed Filesystems

FreeBSD Enterprise Storage Polish BSD User Group External Solutions 2020/02/11

slide-118
SLIDE 118

External Solutions - Distributed Filesystems

  • Ceph - distributed storage object/block/filesystem with performance/reliability.

○ https://ceph.io/ - FreeBSD Ports - net/ceph14

FreeBSD Enterprise Storage Polish BSD User Group External Solutions 2020/02/11

slide-119
SLIDE 119

External Solutions - Distributed Filesystems

  • Ceph - distributed storage object/block/filesystem with performance/reliability.

○ https://ceph.io/ - FreeBSD Ports - net/ceph14

  • GlusterFS - distributed filesystem scales to petabytes for thousands of clients.

○ https://gluster.org/ - FreeBSD Ports - net/glusterfs

FreeBSD Enterprise Storage Polish BSD User Group External Solutions 2020/02/11

slide-120
SLIDE 120

External Solutions - Distributed Filesystems

  • Ceph - distributed storage object/block/filesystem with performance/reliability.

○ https://ceph.io/ - FreeBSD Ports - net/ceph14

  • GlusterFS - distributed filesystem scales to petabytes for thousands of clients.

○ https://gluster.org/ - FreeBSD Ports - net/glusterfs

  • LeoFS - highly scalable fault-tolerant distributed filesystem.

○ http://leo-project.net/ - FreeBSD Ports - databases/leofs

FreeBSD Enterprise Storage Polish BSD User Group External Solutions 2020/02/11

slide-121
SLIDE 121

External Solutions - Distributed Filesystems

  • Ceph - distributed storage object/block/filesystem with performance/reliability.

○ https://ceph.io/ - FreeBSD Ports - net/ceph14

  • GlusterFS - distributed filesystem scales to petabytes for thousands of clients.

○ https://gluster.org/ - FreeBSD Ports - net/glusterfs

  • LeoFS - highly scalable fault-tolerant distributed filesystem.

○ http://leo-project.net/ - FreeBSD Ports - databases/leofs

  • LizardFS - highly reliable/scalable/efficient distributed filesystem.

○ https://lizardfs.org/ - FreeBSD Ports - sysutils/lizardfs

FreeBSD Enterprise Storage Polish BSD User Group External Solutions 2020/02/11

slide-122
SLIDE 122

External Solutions - Distributed Filesystems

  • Ceph - distributed storage object/block/filesystem with performance/reliability.

○ https://ceph.io/ - FreeBSD Ports - net/ceph14

  • GlusterFS - distributed filesystem scales to petabytes for thousands of clients.

○ https://gluster.org/ - FreeBSD Ports - net/glusterfs

  • LeoFS - highly scalable fault-tolerant distributed filesystem.

○ http://leo-project.net/ - FreeBSD Ports - databases/leofs

  • LizardFS - highly reliable/scalable/efficient distributed filesystem.

○ https://lizardfs.org/ - FreeBSD Ports - sysutils/lizardfs

  • Minio - Amazon S3 compatible distributed object storage server.

○ https://minio.io/ - FreeBSD Ports - //w/minio

FreeBSD Enterprise Storage Polish BSD User Group External Solutions 2020/02/11

slide-123
SLIDE 123

External Solutions - Software Services

FreeBSD Enterprise Storage Polish BSD User Group External Solutions 2020/02/11

slide-124
SLIDE 124

External Solutions - Software Services

  • Syncthing - encrypted file sync tool to replace cloud services with something open.

○ https://syncthing.net/ - FreeBSD Ports - net/syncthing

FreeBSD Enterprise Storage Polish BSD User Group External Solutions 2020/02/11

slide-125
SLIDE 125

External Solutions - Software Services

  • Syncthing - encrypted file sync tool to replace cloud services with something open.

○ https://syncthing.net/ - FreeBSD Ports - net/syncthing

  • Nextcloud - personal cloud which runs on your own server (also check OwnCloud).

○ https://nextcloud.com/ - FreeBSD Ports - //w/nextcloud

FreeBSD Enterprise Storage Polish BSD User Group External Solutions 2020/02/11

slide-126
SLIDE 126

External Solutions - Software Services

  • Syncthing - encrypted file sync tool to replace cloud services with something open.

○ https://syncthing.net/ - FreeBSD Ports - net/syncthing

  • Nextcloud - personal cloud which runs on your own server (also check OwnCloud).

○ https://nextcloud.com/ - FreeBSD Ports - //w/nextcloud

  • Seafile - file hosting software system.

○ https://seafile.com/ - FreeBSD Ports - //w/seafile-server

FreeBSD Enterprise Storage Polish BSD User Group External Solutions 2020/02/11

slide-127
SLIDE 127

External Solutions - Software Services

  • Syncthing - encrypted file sync tool to replace cloud services with something open.

○ https://syncthing.net/ - FreeBSD Ports - net/syncthing

  • Nextcloud - personal cloud which runs on your own server (also check OwnCloud).

○ https://nextcloud.com/ - FreeBSD Ports - //w/nextcloud

  • Seafile - file hosting software system.

○ https://seafile.com/ - FreeBSD Ports - //w/seafile-server

  • Ganesha - NFS file server that runs in userspace mode.

○ https://nfs-ganesha.github.io/ - FreeBSD Ports - net/nfs-ganesha + net/nfs-ganesha-kmod

FreeBSD Enterprise Storage Polish BSD User Group External Solutions 2020/02/11

slide-128
SLIDE 128

External Solutions - Software Services

  • Syncthing - encrypted file sync tool to replace cloud services with something open.

○ https://syncthing.net/ - FreeBSD Ports - net/syncthing

  • Nextcloud - personal cloud which runs on your own server (also check OwnCloud).

○ https://nextcloud.com/ - FreeBSD Ports - //w/nextcloud

  • Seafile - file hosting software system.

○ https://seafile.com/ - FreeBSD Ports - //w/seafile-server

  • Ganesha - NFS file server that runs in userspace mode.

○ https://nfs-ganesha.github.io/ - FreeBSD Ports - net/nfs-ganesha + net/nfs-ganesha-kmod

  • Samba - free SMB/CIFS and AD/DC server and client.

○ https://samba.org/ - FreeBSD Ports - net/samba410

FreeBSD Enterprise Storage Polish BSD User Group External Solutions 2020/02/11

slide-129
SLIDE 129

External Solutions - Availability

FreeBSD Enterprise Storage Polish BSD User Group External Solutions 2020/02/11

slide-130
SLIDE 130

External Solutions - Availability

  • Corosync - communication system for implementing HA within applications.

○ https://corosync.github.io/corosync/ - FreeBSD Ports - sysutils/corosync

FreeBSD Enterprise Storage Polish BSD User Group External Solutions 2020/02/11

slide-131
SLIDE 131

External Solutions - Availability

  • Corosync - communication system for implementing HA within applications.

○ https://corosync.github.io/corosync/ - FreeBSD Ports - sysutils/corosync

  • Pacemaker - high availability cluster resource manager.

○ https://wiki.clusterlabs.org/wiki/Pacemaker - FreeBSD Ports - sysutils/pacemaker2

FreeBSD Enterprise Storage Polish BSD User Group External Solutions 2020/02/11

slide-132
SLIDE 132

External Solutions - Availability

  • Corosync - communication system for implementing HA within applications.

○ https://corosync.github.io/corosync/ - FreeBSD Ports - sysutils/corosync

  • Pacemaker - high availability cluster resource manager.

○ https://wiki.clusterlabs.org/wiki/Pacemaker - FreeBSD Ports - sysutils/pacemaker2

  • Heartbeat - highly portable subsystem for high availability clustering.

○ http://linux-ha.org/ - FreeBSD Ports - sysutils/heartbeat

FreeBSD Enterprise Storage Polish BSD User Group External Solutions 2020/02/11

slide-133
SLIDE 133

External Solutions - Availability

  • Corosync - communication system for implementing HA within applications.

○ https://corosync.github.io/corosync/ - FreeBSD Ports - sysutils/corosync

  • Pacemaker - high availability cluster resource manager.

○ https://wiki.clusterlabs.org/wiki/Pacemaker - FreeBSD Ports - sysutils/pacemaker2

  • Heartbeat - highly portable subsystem for high availability clustering.

○ http://linux-ha.org/ - FreeBSD Ports - sysutils/heartbeat

  • FreeBSD Services Control - monitoring and automatic restarting for services.

○ https://github.com/bsdtrhodes/freebsd-fscd/ - FreeBSD Ports - sysutils/fsc

FreeBSD Enterprise Storage Polish BSD User Group External Solutions 2020/02/11

slide-134
SLIDE 134

External Solutions - Availability

  • Corosync - communication system for implementing HA within applications.

○ https://corosync.github.io/corosync/ - FreeBSD Ports - sysutils/corosync

  • Pacemaker - high availability cluster resource manager.

○ https://wiki.clusterlabs.org/wiki/Pacemaker - FreeBSD Ports - sysutils/pacemaker2

  • Heartbeat - highly portable subsystem for high availability clustering.

○ http://linux-ha.org/ - FreeBSD Ports - sysutils/heartbeat

  • FreeBSD Services Control - monitoring and automatic restarting for services.

○ https://github.com/bsdtrhodes/freebsd-fscd/ - FreeBSD Ports - sysutils/fsc

  • Daemontools - utilities for controlling and automatic restarting of processes.

○ http://cr.yp.to/daemontools.html - FreeBSD Ports - sysutils/daemontools

FreeBSD Enterprise Storage Polish BSD User Group External Solutions 2020/02/11

slide-135
SLIDE 135

External Solutions - Listing

The sysutils/lsblk port provides similar to Linux block storage list tool on FreeBSD.

# lsblk DEVICE MAJ:MIN SIZE TYPE LABEL MOUNT da0 0:79 3.6T GPT - - da0p1 0:92 3.6T dragon=ly-hammer - - da0p1.eli 2:160 3.6T zfs - - ada1 0:99 932G GPT - - ada1p1 0:101 200M efi gpt/efiboot0 - ada1p2 0:102 512K freebsd-boot gpt/gptboot0 - <FREE> -:- 492K - - - ada1p3 0:103 931G freebsd-zfs gpt/zfs0 <ZFS> ada1p3.eli 0:106 931G zfs - - <FREE> -:- 708K - - -

FreeBSD Enterprise Storage Polish BSD User Group External Solutions 2020/02/11

slide-136
SLIDE 136

Commercial FreeBSD Storage Appliances

  • Spectra Verde Array - https://spectralogic.com/
  • SGI ArcFiniti MAID Disk Arrays - https://sgi.com/
  • QNAP Enterprise Storage (QES) - https://qnap.com/qes/
  • Panasas ActiveStor Solutions - https://panasas.com/
  • Netflix Open Connect Appliance - https://netflix.com/
  • NetApp ONTAP Storage - https://netapp.com/
  • Dell EMC Isilon OneFS Clustered Scale-Out Storage - https://dellemc.com/
  • Dell Compellent Enterprise Storage - https://dellemc.com/
  • Great Lakes SAN - https://glsan.com/homeport/
  • RawDR - https://rawdr.org/
  • iXsystems TrueNAS - https://ixsystems.com/

FreeBSD Enterprise Storage Polish BSD User Group FreeBSD Storage Appliances 2020/02/11

slide-137
SLIDE 137

Free/Open FreeBSD Storage Appliances

  • iXsystems FreeNAS - https://freenas.org/
  • XigmaNAS (NAS4Free) - https://xigmanas.com/
  • ZFSguru - http://zfsguru.com/

FreeBSD Enterprise Storage Polish BSD User Group FreeBSD Storage Appliances 2020/02/11

slide-138
SLIDE 138

All written by Michael W. Lucas accompanied by Allan Jude for ZFS filesystem.

Books on FreeBSD Storage

FreeBSD Enterprise Storage Polish BSD User Group Books on FreeBSD Storage 2020/02/11

slide-139
SLIDE 139

What Linux Has to Offer?

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-140
SLIDE 140

What Linux Has to Offer?

  • EXT3 is/was very limited (even in its times) with only 2 TB file size limit.

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-141
SLIDE 141

What Linux Has to Offer?

  • EXT3 is/was very limited (even in its times) with only 2 TB file size limit.
  • EXT4 has similar (little larger) 16 TB file size limit.

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-142
SLIDE 142

What Linux Has to Offer?

  • EXT3 is/was very limited (even in its times) with only 2 TB file size limit.
  • EXT4 has similar (little larger) 16 TB file size limit.
  • EXT4 almost killed KDE (almost lost their repositories) because of bugs in EXT4.

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-143
SLIDE 143

What Linux Has to Offer?

  • EXT3 is/was very limited (even in its times) with only 2 TB file size limit.
  • EXT4 has similar (little larger) 16 TB file size limit.
  • EXT4 almost killed KDE (almost lost their repositories) because of bugs in EXT4.

○ More Here: KDE Almost Lost All of Their Git Repositories - Phoronix

https:////w.phoronix.com/scan.php?page=news_item&px=MTMzNTc

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-144
SLIDE 144

What Linux Has to Offer?

  • EXT3 is/was very limited (even in its times) with only 2 TB file size limit.
  • EXT4 has similar (little larger) 16 TB file size limit.
  • EXT4 almost killed KDE (almost lost their repositories) because of bugs in EXT4.

○ More Here: KDE Almost Lost All of Their Git Repositories - Phoronix

https:////w.phoronix.com/scan.php?page=news_item&px=MTMzNTc

  • XFS has only metadata checksums but not for data. Reasonable file size limits.

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-145
SLIDE 145

What Linux Has to Offer?

  • EXT3 is/was very limited (even in its times) with only 2 TB file size limit.
  • EXT4 has similar (little larger) 16 TB file size limit.
  • EXT4 almost killed KDE (almost lost their repositories) because of bugs in EXT4.

○ More Here: KDE Almost Lost All of Their Git Repositories - Phoronix

https:////w.phoronix.com/scan.php?page=news_item&px=MTMzNTc

  • XFS has only metadata checksums but not for data. Reasonable file size limits.
  • BTRFS works in RAID0/RAID1 mode but complete system rollcack is not possible.

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-146
SLIDE 146

What Linux Has to Offer?

  • EXT3 is/was very limited (even in its times) with only 2 TB file size limit.
  • EXT4 has similar (little larger) 16 TB file size limit.
  • EXT4 almost killed KDE (almost lost their repositories) because of bugs in EXT4.

○ More Here: KDE Almost Lost All of Their Git Repositories - Phoronix

https:////w.phoronix.com/scan.php?page=news_item&px=MTMzNTc

  • XFS has only metadata checksums but not for data. Reasonable file size limits.
  • BTRFS works in RAID0/RAID1 mode but complete system rollcack is not possible.

○ BTRFS warnings available here: https://wiki.debian.org/Btrfs#Warnings

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-147
SLIDE 147

What Linux Has to Offer?

  • EXT3 is/was very limited (even in its times) with only 2 TB file size limit.
  • EXT4 has similar (little larger) 16 TB file size limit.
  • EXT4 almost killed KDE (almost lost their repositories) because of bugs in EXT4.

○ More Here: KDE Almost Lost All of Their Git Repositories - Phoronix

https:////w.phoronix.com/scan.php?page=news_item&px=MTMzNTc

  • XFS has only metadata checksums but not for data. Reasonable file size limits.
  • BTRFS works in RAID0/RAID1 mode but complete system rollcack is not possible.

○ BTRFS warnings available here: https://wiki.debian.org/Btrfs#Warnings

  • STRATIS uses XFS over LVM and device-mapper to imitate pools like in ZFS.

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-148
SLIDE 148

What Linux Has to Offer?

  • EXT3 is/was very limited (even in its times) with only 2 TB file size limit.
  • EXT4 has similar (little larger) 16 TB file size limit.
  • EXT4 almost killed KDE (almost lost their repositories) because of bugs in EXT4.

○ More Here: KDE Almost Lost All of Their Git Repositories - Phoronix

https:////w.phoronix.com/scan.php?page=news_item&px=MTMzNTc

  • XFS has only metadata checksums but not for data. Reasonable file size limits.
  • BTRFS works in RAID0/RAID1 mode but complete system rollcack is not possible.

○ BTRFS warnings available here: https://wiki.debian.org/Btrfs#Warnings

  • STRATIS uses XFS over LVM and device-mapper to imitate pools like in ZFS.

○ Plan to achieve checksums for data somewhere in the future.

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-149
SLIDE 149

What Linux Has to Offer?

  • EXT3 is/was very limited (even in its times) with only 2 TB file size limit.
  • EXT4 has similar (little larger) 16 TB file size limit.
  • EXT4 almost killed KDE (almost lost their repositories) because of bugs in EXT4.

○ More Here: KDE Almost Lost All of Their Git Repositories - Phoronix

https:////w.phoronix.com/scan.php?page=news_item&px=MTMzNTc

  • XFS has only metadata checksums but not for data. Reasonable file size limits.
  • BTRFS works in RAID0/RAID1 mode but complete system rollcack is not possible.

○ BTRFS warnings available here: https://wiki.debian.org/Btrfs#Warnings

  • STRATIS uses XFS over LVM and device-mapper to imitate pools like in ZFS.

○ Plan to achieve checksums for data somewhere in the future.

  • ZFS almost “first class citizen” in Ubuntu but ZFS Boot Enviroments still not available.

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-150
SLIDE 150

What Linux Has to Offer?

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-151
SLIDE 151

What Linux Has to Offer?

  • STRATIS is created and developed by Red Hat.

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-152
SLIDE 152

What Linux Has to Offer?

  • STRATIS is created and developed by Red Hat.

○ After huge and undisputed success of systemd STRATIS will thrive for sure.

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-153
SLIDE 153

What Linux Has to Offer?

  • STRATIS is created and developed by Red Hat.

○ After huge and undisputed success of systemd STRATIS will thrive for sure. ○ Design and future ideas described in Stratis Software Design document.

https://stratis-storage.github.io/StratisSoftwareDesign.pdf

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-154
SLIDE 154

What Linux Has to Offer?

  • STRATIS is created and developed by Red Hat.

○ After huge and undisputed success of systemd STRATIS will thrive for sure. ○ Design and future ideas described in Stratis Software Design document.

https://stratis-storage.github.io/StratisSoftwareDesign.pdf

  • Red Hat Enterprise Linux is generally considered most business oriented Linux.

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-155
SLIDE 155

What Linux Has to Offer?

  • STRATIS is created and developed by Red Hat.

○ After huge and undisputed success of systemd STRATIS will thrive for sure. ○ Design and future ideas described in Stratis Software Design document.

https://stratis-storage.github.io/StratisSoftwareDesign.pdf

  • Red Hat Enterprise Linux is generally considered most business oriented Linux.

○ Does not have supported filesystem that provides data consistency/checksums.

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-156
SLIDE 156

What Linux Has to Offer?

  • STRATIS is created and developed by Red Hat.

○ After huge and undisputed success of systemd STRATIS will thrive for sure. ○ Design and future ideas described in Stratis Software Design document.

https://stratis-storage.github.io/StratisSoftwareDesign.pdf

  • Red Hat Enterprise Linux is generally considered most business oriented Linux.

○ Does not have supported filesystem that provides data consistency/checksums. ○ With RHEL8 its possible to detect bit rot using dm-integrity kernel code.

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-157
SLIDE 157

What Linux Has to Offer?

  • STRATIS is created and developed by Red Hat.

○ After huge and undisputed success of systemd STRATIS will thrive for sure. ○ Design and future ideas described in Stratis Software Design document.

https://stratis-storage.github.io/StratisSoftwareDesign.pdf

  • Red Hat Enterprise Linux is generally considered most business oriented Linux.

○ Does not have supported filesystem that provides data consistency/checksums. ○ With RHEL8 its possible to detect bit rot using dm-integrity kernel code.

  • More here: What is Bit Rot and How Can I Detect It on RHEL?

https://redhat.com/en/blog/what-bit-rot-and-how-can-i-detect-it-rhel

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-158
SLIDE 158

What Linux Has to Offer?

  • STRATIS is created and developed by Red Hat.

○ After huge and undisputed success of systemd STRATIS will thrive for sure. ○ Design and future ideas described in Stratis Software Design document.

https://stratis-storage.github.io/StratisSoftwareDesign.pdf

  • Red Hat Enterprise Linux is generally considered most business oriented Linux.

○ Does not have supported filesystem that provides data consistency/checksums. ○ With RHEL8 its possible to detect bit rot using dm-integrity kernel code.

  • More here: What is Bit Rot and How Can I Detect It on RHEL?

https://redhat.com/en/blog/what-bit-rot-and-how-can-i-detect-it-rhel

○ Not possible with RHEL7 or RHEL6 versions of Red Hat Enterprise Linux.

FreeBSD Enterprise Storage Polish BSD User Group Linux Alternative 2020/02/11

slide-159
SLIDE 159

Example Implementation of FreeBSD Storage

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-160
SLIDE 160

Example Implementation of FreeBSD Storage

  • Inspitations?

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-161
SLIDE 161

Example Implementation of FreeBSD Storage

  • Inspitations?

○ Sun Storage 7210

  • https://docs.oracle.com/cd/E19360-01/pdf/821-1388.pdf (Page 37)

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-162
SLIDE 162

Example Implementation of FreeBSD Storage

  • Inspitations?

○ Sun Storage 7210

  • https://docs.oracle.com/cd/E19360-01/pdf/821-1388.pdf (Page 37)

○ Sun Fire X4500/X4540

  • https://docs.oracle.com/cd/E19469-01/819-4359-19/CH3-maint.html

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-163
SLIDE 163

Example Implementation of FreeBSD Storage

  • Inspitations?

○ Sun Storage 7210

  • https://docs.oracle.com/cd/E19360-01/pdf/821-1388.pdf (Page 37)

○ Sun Fire X4500/X4540

  • https://docs.oracle.com/cd/E19469-01/819-4359-19/CH3-maint.html

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-164
SLIDE 164

Example Implementation of FreeBSD Storage

  • Inspitations?

○ Backblaze Storage Pod

  • https:////w.backblaze.com/b2/storage-pod.html

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-165
SLIDE 165

Idea Taken to the Extreme

Thunder SX FA100-B7118 (100 Bays) Supermicro 6048R-E1CR90L (90 Bays) Zstor GS41100 (100 Bays) Inspur NF5486M5 (104 Bays)

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-166
SLIDE 166

Idea Taken to the Extreme

Thunder SX FA100-B7118 (100 Bays) Supermicro 6048R-E1CR90L (90 Bays) Zstor GS41100 (100 Bays) Inspur NF5486M5 (104 Bays)

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-167
SLIDE 167

Idea Taken to the Extreme

Thunder SX FA100-B7118 (Management)

  • Provides HTML5 based plugin free Remote Control.

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-168
SLIDE 168

Idea Taken to the Extreme

Thunder SX FA100-B7118 (Hardware)

  • 2 x 10-Core Intel Xeon Silver 4114 CPU @ 2.20GHz (20 Cores Total)
  • 4 x 32 GB RAM DDR4 (128 GB Total)
  • 2 x Intel SSD DC S3500 240 GB (System)
  • 90 x Toshiba HDD MN07ACA12TE 12 TB (Data)
  • 2 x Broadcom SAS3008 Controller
  • 2 x Intel X710 DA-2 10GE Card (4 x 10GE Total)
  • 2 x Power Supply
  • 8 x Free Disks Slots

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-169
SLIDE 169

Idea Taken to the Extreme

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

Thunder SX FA100-B7118 (Disks Split Between Controllers)

M1288F100-BP12-39 (39 Disks) M1289F100-BP12-61 (61 Disks)

slide-170
SLIDE 170

Idea Taken to the Extreme

Thunder SX FA100-B7118 (ZFS Configuration)

  • ZFS Pool - System - RAID1 (ZFS Mirror) - One SSD Disk Per Controller

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-171
SLIDE 171

Idea Taken to the Extreme

Thunder SX FA100-B7118 (ZFS Configuration)

  • ZFS Pool - System - RAID1 (ZFS Mirror) - One SSD Disk Per Controller
  • ZFS Pool - Data - RAID60 (ZFS Striped RAIDZ2) - 36:48 Data Ratio - 2:4 Spare Ratio

DISKS CONTENT 12 raidz2-0 12 raidz2-1 12 raidz2-2 12 raidz2-3 12 raidz2-4 12 raidz2-5 12 raidz2-6 6 spares 90 TOTAL

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-172
SLIDE 172

Idea Taken to the Extreme

Thunder SX FA100-B7118 (ZFS Data Pool Status)

# zpool status pool: nas02 state: ONLINE scan: scrub repaired 0 in 0 days 00:00:05 with 0 errors on Fri May 31 10:26:29 2019 config: NAME STATE READ WRITE CKSUM nas02 ONLINE 0 0 0 raidz2-0 ONLINE 0 0 0 da0p1 ONLINE 0 0 0 da1p1 ONLINE 0 0 0 da2p1 ONLINE 0 0 0 da3p1 ONLINE 0 0 0 da4p1 ONLINE 0 0 0 da5p1 ONLINE 0 0 0 da6p1 ONLINE 0 0 0 da7p1 ONLINE 0 0 0 da8p1 ONLINE 0 0 0 da9p1 ONLINE 0 0 0 da10p1 ONLINE 0 0 0 da12p1 ONLINE 0 0 0 raidz2-1 ONLINE 0 0 0 (==.)

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-173
SLIDE 173

Idea Taken to the Extreme

Thunder SX FA100-B7118 (ZFS Data Pool Status)

(==.) da71p1 ONLINE 0 0 0 da72p1 ONLINE 0 0 0 da73p1 ONLINE 0 0 0 da74p1 ONLINE 0 0 0 spares da36p1 AVAIL da37p1 AVAIL da85p1 AVAIL da86p1 AVAIL da87p1 AVAIL da88p1 AVAIL errors: No known data errors # zpool list nas02 NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT nas02 915T 1.42M 915T - - 0% 0% 1.00x ONLINE - # zfs list nas02 NAME USED AVAIL REFER MOUNTPOINT nas02 88K 675T 201K none

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-174
SLIDE 174

Idea Taken to the Extreme

Thunder SX FA100-B7118 (Storage Performance)

  • FreeBSD’s builtin diskinfo(8) tool.

# diskinfo -ctv /dev/zvol/nas02/iscsi/test (==.) Transfer rates:

  • utside: 102400 kbytes in 0.036938 sec = 2772213 kbytes/sec

middle: 102400 kbytes in 0.043076 sec = 2377194 kbytes/sec inside: 102400 kbytes in 0.034260 sec = 2988908 kbytes/sec

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-175
SLIDE 175

Idea Taken to the Extreme

Thunder SX FA100-B7118 (Storage Performance)

  • FreeBSD’s builtin diskinfo(8) tool.

# diskinfo -ctv /dev/zvol/nas02/iscsi/test (==.) Transfer rates:

  • utside: 102400 kbytes in 0.036938 sec = 2772213 kbytes/sec

middle: 102400 kbytes in 0.043076 sec = 2377194 kbytes/sec inside: 102400 kbytes in 0.034260 sec = 2988908 kbytes/sec

  • Eight concurrent dd(8) processes.

# dd if=/dev/zero of=FILE${X} bs=128m status=progress 174214610944 bytes (174 GB, 162 GiB) transferred 385.042s, 452 MB/s 1302+0 records in 1301+0 records out 174617264128 bytes transferred in 385.379296 secs (453104943 bytes/sec)

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-176
SLIDE 176

Idea Taken to the Extreme

Thunder SX FA100-B7118 (Storage Performance)

  • FreeBSD’s builtin diskinfo(8) tool.

# diskinfo -ctv /dev/zvol/nas02/iscsi/test (==.) Transfer rates:

  • utside: 102400 kbytes in 0.036938 sec = 2772213 kbytes/sec

middle: 102400 kbytes in 0.043076 sec = 2377194 kbytes/sec inside: 102400 kbytes in 0.034260 sec = 2988908 kbytes/sec

  • Eight concurrent dd(8) processes.

# dd if=/dev/zero of=FILE${X} bs=128m status=progress 174214610944 bytes (174 GB, 162 GiB) transferred 385.042s, 452 MB/s 1302+0 records in 1301+0 records out 174617264128 bytes transferred in 385.379296 secs (453104943 bytes/sec)

  • About 3 GB/s of sustained disk subsystem performance.

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-177
SLIDE 177

Idea Taken to the Extreme

Thunder SX FA100-B7118 (FreeBSD Network Configuration)

# head -5 /etc/rc.conf defaultrouter="10.20.30.254" ifconfig_ixl0="up" ifconfig_ixl1="up" cloned_interfaces="lagg0" ifconfig_lagg0="laggproto lacp laggport ixl0 laggport ixl1 10.20.30.2/24 up" # ifconfig lagg0 lagg0: =lags=8843 metric 0 mtu 1500

  • ptions=e507bb

ether a0:42:3f:a0:42:3f inet 10.20.30.2 netmask 0xffffff00 broadcast 10.20.30.255 laggproto lacp lagghash l2,l3,l4 laggport: ixl0 =lags=1c laggport: ixl1 =lags=1c groups: lagg media: Ethernet autoselect status: active nd6 options=29

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-178
SLIDE 178

Idea Taken to the Extreme

Thunder SX FA100-B7118 (Network Performance)

  • Test performed with iperf3(1) from two Windows Server 2016 machines.

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-179
SLIDE 179

Idea Taken to the Extreme

Thunder SX FA100-B7118 (Network Performance)

  • Test performed with iperf3(1) from two Windows Server 2016 machines.

○ Unfortunatelly with 1500 MTU (no Jumbo Frames for more performance).

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-180
SLIDE 180

Idea Taken to the Extreme

Thunder SX FA100-B7118 (Network Performance)

  • Test performed with iperf3(1) from two Windows Server 2016 machines.

○ Unfortunatelly with 1500 MTU (no Jumbo Frames for more performance). ○ The iperf3(1) server started on the FreeBSD machine.

# iperf3 -s

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-181
SLIDE 181

Idea Taken to the Extreme

Thunder SX FA100-B7118 (Network Performance)

  • Test performed with iperf3(1) from two Windows Server 2016 machines.

○ Unfortunatelly with 1500 MTU (no Jumbo Frames for more performance). ○ The iperf3(1) server started on the FreeBSD machine.

# iperf3 -s

○ Two iperf3(1) clients started on the Windows Server 2016 machine.

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-182
SLIDE 182

Idea Taken to the Extreme

Thunder SX FA100-B7118 (Network Performance)

  • Test performed with iperf3(1) from two Windows Server 2016 machines.

○ Unfortunatelly with 1500 MTU (no Jumbo Frames for more performance). ○ The iperf3(1) server started on the FreeBSD machine.

# iperf3 -s

○ Two iperf3(1) clients started on the Windows Server 2016 machine. ○ Output below from one of the Windows Server 2016 machines.

# C:\iperf-3.1.3-win64>iperf3.exe -c nas02 -P 8 (==.) [SUM] 0.00-10.00 sec 10.8 GBytes 9.26 Gbits/sec receiver (==.)

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-183
SLIDE 183

Idea Taken to the Extreme

Thunder SX FA100-B7118 (Network Performance)

  • Test performed with iperf3(1) from two Windows Server 2016 machines.

○ Unfortunatelly with 1500 MTU (no Jumbo Frames for more performance). ○ The iperf3(1) server started on the FreeBSD machine.

# iperf3 -s

○ Two iperf3(1) clients started on the Windows Server 2016 machine. ○ Output below from one of the Windows Server 2016 machines.

# C:\iperf-3.1.3-win64>iperf3.exe -c nas02 -P 8 (==.) [SUM] 0.00-10.00 sec 10.8 GBytes 9.26 Gbits/sec receiver (==.)

  • Each Windows Server 2016 machine had only one 10GE interface.

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-184
SLIDE 184

Idea Taken to the Extreme

Thunder SX FA100-B7118 (Network Performance)

  • Test performed with iperf3(1) from two Windows Server 2016 machines.

○ Unfortunatelly with 1500 MTU (no Jumbo Frames for more performance). ○ The iperf3(1) server started on the FreeBSD machine.

# iperf3 -s

○ Two iperf3(1) clients started on the Windows Server 2016 machine. ○ Output below from one of the Windows Server 2016 machines.

# C:\iperf-3.1.3-win64>iperf3.exe -c nas02 -P 8 (==.) [SUM] 0.00-10.00 sec 10.8 GBytes 9.26 Gbits/sec receiver (==.)

  • Each Windows Server 2016 machine had only one 10GE interface.
  • The FreeBSD machine had two 10GE interfaces configured in LACP mode.

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-185
SLIDE 185

Idea Taken to the Extreme

Thunder SX FA100-B7118 (More Tests and Details)

  • More details on dedicated blog post on https://vermaden.wordpress.com page.

○ FreeBSD Enterprise 1 PB Storage ○ https://vermaden.wordpress.com/2019/06/19/freebsd-enterprise-1-pb-storage/

FreeBSD Enterprise Storage Polish BSD User Group Example Implementation 2020/02/11

slide-186
SLIDE 186

Questions?

Sławomir Wojciech Wojtczak vermaden@interia.pl vermaden.wordpress.com twitter.com/vermaden bsd.network/@vermaden https://is.gd/bsdstg

FreeBSD Enterprise Storage Polish BSD User Group Outro 2020/02/11

slide-187
SLIDE 187

Thank You!

Sławomir Wojciech Wojtczak vermaden@interia.pl vermaden.wordpress.com twitter.com/vermaden bsd.network/@vermaden https://is.gd/bsdstg

FreeBSD Enterprise Storage Polish BSD User Group Outro 2020/02/11