Z F S B o o t E n v i r o n m e n t s R e l o - - PowerPoint PPT Presentation

z f s b o o t e n v i r o n m e n t s r e l o a d e d
SMART_READER_LITE
LIVE PREVIEW

Z F S B o o t E n v i r o n m e n t s R e l o - - PowerPoint PPT Presentation

N L U U G Z F S B o o t E n v i r o n m e n t s R e l o a d e d Z F S B o o t E n v i r o n m e n t s R e l o a d e d S a w o m i r W o j c i e c h W o j t c z a k


slide-1
SLIDE 1

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

S ł a w

  • m

i r W

  • j

c i e c h W

  • j

t c z a k vermaden@interia.pl vermaden.wordpress.com twitter.com/vermaden https://is.gd/BECTL Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

I n t r

  • 2

1 8 / 1 1 / 1 5

slide-2
SLIDE 2

W h a t i s Z F S B

  • t

E n v i r

  • n

m e n t ?

I t s b

  • t

a b l e c l

  • n

e / s n a p s h

  • t
  • f

t h e w

  • r

k i n g s y s t e m.

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

W h a t i t i s ?

2 1 8 / 1 1 / 1 5

slide-3
SLIDE 3

W h a t i s Z F S B

  • t

E n v i r

  • n

m e n t ?

I t s b

  • t

a b l e c l

  • n

e / s n a p s h

  • t
  • f

t h e w

  • r

k i n g s y s t e m.

  • I

n Z F S t e r mi n

  • l
  • g

y i t s c l

  • n

e

  • f

t h e s n a p s h

  • t

. Z F S d a t a s e t → Z F S d a t a s e t @s n a p s h

  • t

→ Z F S c l

  • n

e (

  • r

i g i n = d a t a s e t @s n a p s h

  • t

) Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

W h a t i t i s ?

2 1 8 / 1 1 / 1 5

slide-4
SLIDE 4

W h a t i s Z F S B

  • t

E n v i r

  • n

m e n t ?

I t s b

  • t

a b l e c l

  • n

e / s n a p s h

  • t
  • f

t h e w

  • r

k i n g s y s t e m.

  • I

n Z F S t e r mi n

  • l
  • g

y i t s c l

  • n

e

  • f

t h e s n a p s h

  • t

. Z F S d a t a s e t → Z F S d a t a s e t @s n a p s h

  • t

→ Z F S c l

  • n

e (

  • r

i g i n = d a t a s e t @s n a p s h

  • t

)

  • I

n Z F S ( a s e v e r y w h e r e ) s n a p s h

  • t

i s r e a d

  • n

l y . Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

W h a t i t i s ?

2 1 8 / 1 1 / 1 5

slide-5
SLIDE 5

W h a t i s Z F S B

  • t

E n v i r

  • n

m e n t ?

I t s b

  • t

a b l e c l

  • n

e / s n a p s h

  • t
  • f

t h e w

  • r

k i n g s y s t e m.

  • I

n Z F S t e r mi n

  • l
  • g

y i t s c l

  • n

e

  • f

t h e s n a p s h

  • t

. Z F S d a t a s e t → Z F S d a t a s e t @s n a p s h

  • t

→ Z F S c l

  • n

e (

  • r

i g i n = d a t a s e t @s n a p s h

  • t

)

  • I

n Z F S ( a s e v e r y w h e r e ) s n a p s h

  • t

i s r e a d

  • n

l y .

  • I

n Z F S c l

  • n

e c a n b e mo u n t e d r e a d w r i t e ( a n d y

  • u

c a n b

  • t

f r

  • m

i t ) . Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

W h a t i t i s ?

2 1 8 / 1 1 / 1 5

slide-6
SLIDE 6

W h a t i s Z F S B

  • t

E n v i r

  • n

m e n t ?

I t s b

  • t

a b l e c l

  • n

e / s n a p s h

  • t
  • f

t h e w

  • r

k i n g s y s t e m.

  • I

n Z F S t e r mi n

  • l
  • g

y i t s c l

  • n

e

  • f

t h e s n a p s h

  • t

. Z F S d a t a s e t → Z F S d a t a s e t @s n a p s h

  • t

→ Z F S c l

  • n

e (

  • r

i g i n = d a t a s e t @s n a p s h

  • t

)

  • I

n Z F S ( a s e v e r y w h e r e ) s n a p s h

  • t

i s r e a d

  • n

l y .

  • I

n Z F S c l

  • n

e c a n b e mo u n t e d r e a d w r i t e ( a n d y

  • u

c a n b

  • t

f r

  • m

i t ) .

  • T

h e B E s a r e p l a c e d i n t h e p

  • l

/ R O O T Z F S d a t a s e t p a t h . s y s / R O O T / d e f a u l t s y s / R O O T / s a f e s y s / R O O T / p r e

  • u

p g r a d e ( . . . ) Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

W h a t i t i s ?

2 1 8 / 1 1 / 1 5

slide-7
SLIDE 7

U s e c a s e s ?

A l l

  • w

s b u l l e t p r

  • f

u p g r a d e s / c h a n g e s t

  • t

h e s y s t e m.

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

U s e c a s e s ?

2 1 8 / 1 1 / 1 5

slide-8
SLIDE 8

U s e c a s e s ?

A l l

  • w

s b u l l e t p r

  • f

u p g r a d e s / c h a n g e s t

  • t

h e s y s t e m.

  • C

r e a t e s a f e f a i l b a c k Z F S B

  • t

E n v i r

  • n

me n t b e f

  • r

e u p g r a d e

  • r

ma j

  • r

c h a n g e s t

  • s

y s t e m. Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

U s e c a s e s ?

2 1 8 / 1 1 / 1 5

slide-9
SLIDE 9

U s e c a s e s ?

A l l

  • w

s b u l l e t p r

  • f

u p g r a d e s / c h a n g e s t

  • t

h e s y s t e m.

  • C

r e a t e s a f e f a i l b a c k Z F S B

  • t

E n v i r

  • n

me n t b e f

  • r

e u p g r a d e

  • r

ma j

  • r

c h a n g e s t

  • s

y s t e m.

  • U

p d a t e s y s t e m i n s i d e n e w Z F S B

  • t

E n v i r

  • n

me n t w i t h

  • u

t t

  • u

c h i n g r u n n i n g s y s t e m. Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

U s e c a s e s ?

2 1 8 / 1 1 / 1 5

slide-10
SLIDE 10

U s e c a s e s ?

A l l

  • w

s b u l l e t p r

  • f

u p g r a d e s / c h a n g e s t

  • t

h e s y s t e m.

  • C

r e a t e s a f e f a i l b a c k Z F S B

  • t

E n v i r

  • n

me n t b e f

  • r

e u p g r a d e

  • r

ma j

  • r

c h a n g e s t

  • s

y s t e m.

  • U

p d a t e s y s t e m i n s i d e n e w Z F S B

  • t

E n v i r

  • n

me n t w i t h

  • u

t t

  • u

c h i n g r u n n i n g s y s t e m.

  • P

e r f

  • r

m u p g r a d e a n d t e s t t h e r e s u l t s i n s i d e F r e e B S D J a i l . Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

U s e c a s e s ?

2 1 8 / 1 1 / 1 5

slide-11
SLIDE 11

U s e c a s e s ?

A l l

  • w

s b u l l e t p r

  • f

u p g r a d e s / c h a n g e s t

  • t

h e s y s t e m.

  • C

r e a t e s a f e f a i l b a c k Z F S B

  • t

E n v i r

  • n

me n t b e f

  • r

e u p g r a d e

  • r

ma j

  • r

c h a n g e s t

  • s

y s t e m.

  • U

p d a t e s y s t e m i n s i d e n e w Z F S B

  • t

E n v i r

  • n

me n t w i t h

  • u

t t

  • u

c h i n g r u n n i n g s y s t e m.

  • P

e r f

  • r

m u p g r a d e a n d t e s t t h e r e s u l t s i n s i d e F r e e B S D J a i l .

  • C
  • p

y / m

  • v

e Z F S B

  • t

E n v i r

  • n

me n t i n t

  • a

n

  • t

h e r ma c h i n e . Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

U s e c a s e s ?

2 1 8 / 1 1 / 1 5

slide-12
SLIDE 12

U s e c a s e s ?

A l l

  • w

s b u l l e t p r

  • f

u p g r a d e s / c h a n g e s t

  • t

h e s y s t e m.

  • C

r e a t e s a f e f a i l b a c k Z F S B

  • t

E n v i r

  • n

me n t b e f

  • r

e u p g r a d e

  • r

ma j

  • r

c h a n g e s t

  • s

y s t e m.

  • U

p d a t e s y s t e m i n s i d e n e w Z F S B

  • t

E n v i r

  • n

me n t w i t h

  • u

t t

  • u

c h i n g r u n n i n g s y s t e m.

  • P

e r f

  • r

m u p g r a d e a n d t e s t t h e r e s u l t s i n s i d e F r e e B S D J a i l .

  • C
  • p

y / m

  • v

e Z F S B

  • t

E n v i r

  • n

me n t i n t

  • a

n

  • t

h e r ma c h i n e .

  • M

a j

  • r

r e c

  • n

fi g u r a t i

  • n

( B a r e

  • s

/ P

  • s

t fi x / … ) . Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

U s e c a s e s ?

2 1 8 / 1 1 / 1 5

slide-13
SLIDE 13

U s e c a s e s ?

A l l

  • w

s b u l l e t p r

  • f

u p g r a d e s / c h a n g e s t

  • t

h e s y s t e m.

  • C

r e a t e s a f e f a i l b a c k Z F S B

  • t

E n v i r

  • n

me n t b e f

  • r

e u p g r a d e

  • r

ma j

  • r

c h a n g e s t

  • s

y s t e m.

  • U

p d a t e s y s t e m i n s i d e n e w Z F S B

  • t

E n v i r

  • n

me n t w i t h

  • u

t t

  • u

c h i n g r u n n i n g s y s t e m.

  • P

e r f

  • r

m u p g r a d e a n d t e s t t h e r e s u l t s i n s i d e F r e e B S D J a i l .

  • C
  • p

y / m

  • v

e Z F S B

  • t

E n v i r

  • n

me n t i n t

  • a

n

  • t

h e r ma c h i n e .

  • M

a j

  • r

r e c

  • n

fi g u r a t i

  • n

( B a r e

  • s

/ P

  • s

t fi x / … ) .

  • M

a s s p

  • p

u l a t e l a r g e a mo u n t

  • f

s e r v e r s w i t h

  • n

e c

  • n

fi g u r e d B E . Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

U s e c a s e s ?

2 1 8 / 1 1 / 1 5

slide-14
SLIDE 14

U s e c a s e s ?

A l l

  • w

s b u l l e t p r

  • f

u p g r a d e s / c h a n g e s t

  • t

h e s y s t e m.

  • C

r e a t e s a f e f a i l b a c k Z F S B

  • t

E n v i r

  • n

me n t b e f

  • r

e u p g r a d e

  • r

ma j

  • r

c h a n g e s t

  • s

y s t e m.

  • U

p d a t e s y s t e m i n s i d e n e w Z F S B

  • t

E n v i r

  • n

me n t w i t h

  • u

t t

  • u

c h i n g r u n n i n g s y s t e m.

  • P

e r f

  • r

m u p g r a d e a n d t e s t t h e r e s u l t s i n s i d e F r e e B S D J a i l .

  • C
  • p

y / m

  • v

e Z F S B

  • t

E n v i r

  • n

me n t i n t

  • a

n

  • t

h e r ma c h i n e .

  • M

a j

  • r

r e c

  • n

fi g u r a t i

  • n

( B a r e

  • s

/ P

  • s

t fi x / … ) .

  • M

a s s p

  • p

u l a t e l a r g e a mo u n t

  • f

s e r v e r s w i t h

  • n

e c

  • n

fi g u r e d B E .

  • B

a r e me t a l b a c k u p s

  • l

u t i

  • n

. Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

U s e c a s e s ?

2 1 8 / 1 1 / 1 5

slide-15
SLIDE 15

C a n I t e s t a n d b r e a k Z F S B E s w i t h

  • u

t c

  • n

s e q u e n c e s ?

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

B u l l e t p r

  • f

2 1 8 / 1 1 / 1 5

slide-16
SLIDE 16

Y e s y

  • u

c a n ! O v e r a n d

  • v

e r a g a i n .

C a n I t e s t a n d b r e a k Z F S B E s w i t h

  • u

t c

  • n

s e q u e n c e s ?

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

B u l l e t p r

  • f

2 1 8 / 1 1 / 1 5

slide-17
SLIDE 17

Y e s y

  • u

c a n ! O v e r a n d

  • v

e r a g a i n .

C a n I t e s t a n d b r e a k Z F S B E s w i t h

  • u

t c

  • n

s e q u e n c e s ?

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

G r

  • u

n d h

  • g

D a y ( 1 9 9 3 )

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

B u l l e t p r

  • f

2 1 8 / 1 1 / 1 5

slide-18
SLIDE 18

H

  • w

t h e W

  • r

l d w a s b e f

  • r

e B E s ?

V e n d

  • r

s u s e d s p l i t mi r r

  • r
  • r

c

  • p

y i n g fi l e s t

  • t

h e

  • t

h e r / s e c

  • n

d d i s k .

I B M A I X alt_disk_copy alt_disk_install nimadm unmirrorvg (...) H P

  • U

X lvsplit lvmerge vgchange vgcfgrestore (...) S U N S

  • l

a r i s L i v e U p g r a d e lucreate luactivate luupgrade ludelete (...) G N U / L i n u x mdadm mirrorlv lvconvert (...) Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

D a r k a g e s

2 1 8 / 1 1 / 1 5

slide-19
SLIDE 19

M i s t y p e d c

  • m

m a n d ?

F e l l i n g l u c k y ?

R a i d e r s

  • f

t h e L

  • s

t A r k ( 1 9 8 1 )

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

O n e m i s t a k e a n d y

  • u

h a v e a d i s a s t e r . . . r e c

  • v

e r y

2 1 8 / 1 1 / 1 5

slide-20
SLIDE 20

T h e beadm c

  • m

m a n d

O n e s i mp l e c

  • mma

n d

  • beadm
  • t
  • c

r e a t e / a c t i v a t e / d e s t r

  • y

Z F S B

  • t

E n v i r

  • n

me n t s .

# beadm usage: beadm activate <beName> beadm create [-e nonActiveBe | -e beName@snapshot] <beName> beadm create <beName@snapshot> beadm destroy [-F] <beName | beName@snapshot> beadm list [-a] [-s] [-D] [-H] beadm rename <origBeName> <newBeName> beadm mount <beName> [mountpoint] beadm { umount | unmount } [-f] <beName> beadm version

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

P

  • l

i s h B S D U s e r G r

  • u

p

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

beadm beadm c

  • m

m a n d

slide-21
SLIDE 21

T h e beadm i s w r i t t e n i n P O S I X /bin/sh

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

beadm beadm c

  • d

e

2 1 8 / 1 1 / 1 5

slide-22
SLIDE 22

L i s t c u r r e n t B E s a n d c r e a t e n e w

  • n

e n a me d n e w b e .

# beadm list BE Active Mountpoint Space Created 11.2-RELEASE NR / 6.3G 2018-11-15 16:01 # beadm create newbe Created successfully # beadm list BE Active Mountpoint Space Created 11.2-RELEASE NR / 6.3G 2018-11-15 16:01 newbe - - 296.0K 2018-11-15 17:04

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

E x a m p l e beadm u s a g e (1/5)

E x a mp l e 1 / 5

slide-23
SLIDE 23

V e r i f y w h i c h s n a p s h

  • t

i s u s e d f

  • r

t h i s c l

  • n

e u s e d a s n e w b e B E .

# beadm list -s BE/Dataset/Snapshot Active Mountpoint Space Created 11.2-RELEASE sys/ROOT/11.2-RELEASE NR / 6.3G 2018-11-15 16:01 sys/ROOT/11.2-RELEASE@2018-11-15-17:04:22 - - 288.0K 2018-11-15 10:04 newbe sys/ROOT/newbe - - 8.0K 2018-11-15 10:04 11.2-RELEASE@2018-11-15-17:04:22 - - 288.0K 2018-11-15 10:04 # zfs get origin sys/ROOT/newbe NAME PROPERTY VALUE SOURCE sys/ROOT/newbe origin sys/ROOT/11.2-RELEASE@2018-11-15-17:04:22 -

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

E x a m p l e beadm u s a g e (2/5)

E x a mp l e 2 / 5

slide-24
SLIDE 24

R e n a me s n a p s h

  • t

u s e d f

  • r

t h i s c l

  • n

e .

# zfs rename sys/ROOT/11.2-RELEASE@2018-11-15-17:04:22 sys/ROOT/11.2-RELEASE@newbe # zfs get origin sys/ROOT/newbe NAME PROPERTY VALUE SOURCE sys/ROOT/newbe origin sys/ROOT/11.2-RELEASE@newbe - # beadm list -s BE/Dataset/Snapshot Active Mountpoint Space Created 11.2-RELEASE sys/ROOT/11.2-RELEASE NR / 6.3G 2018-11-15 16:01 sys/ROOT/11.2-RELEASE@newbe - - 516.0K 2018-11-15 17:04 newbe sys/ROOT/newbe - - 8.0K 2018-11-15 17:04 11.2-RELEASE@newbe - - 516.0K 2018-11-15 17:04

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

P

  • l

i s h B S D U s e r G r

  • u

p

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

E x a m p l e beadm u s a g e (3/5)

E x a mp l e 3 / 5

slide-25
SLIDE 25

A c t i v a t e t h e n e w b e B E t

  • b

e b

  • t

e d a f t e r t h e r e s t a r t .

# beadm list BE Active Mountpoint Space Created 11.2-RELEASE NR / 6.4G 2018-11-15 16:01 newbe - - 68.8M 2018-11-15 17:04 # beadm activate newbe Activated successfully # beadm list BE Active Mountpoint Space Created 11.2-RELEASE N / 187.5M 2018-11-15 16:01 newbe R - 6.3G 2018-11-15 17:04

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

E x a m p l e beadm u s a g e (4/5)

E x a m p l e 4 / 5

slide-26
SLIDE 26

E x a m p l e beadm u s a g e (5/5)

R e mo v e n e w b e . I t w i l l a s k f

  • r

a d d i t i

  • n

a l c

  • n

fi r ma t i

  • n

a s w e r e n a me d s n a p s h

  • t

.

# beadm list BE Active Mountpoint Space Created 11.2-RELEASE NR / 6.4G 2018-11-15 16:01 newbe - - 68.8M 2018-11-15 17:04 # beadm destroy newbe Are you sure you want to destroy 'newbe'? This action cannot be undone (y/[n]): y Boot environment 'newbe' was created from existing snapshot Destroy '11.2-RELEASE@newbe' snapshot? (y/[n]): y Destroyed successfully # beadm list BE Active Mountpoint Space Created 11.2-RELEASE NR / 6.4G 2018-11-15 16:01

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

E x a m p l e 5 / 5

2 1 8 / 1 1 / 1 5

slide-27
SLIDE 27

S e l e c t i

  • n
  • f

B E a t b

  • t

i s i n t e g r a t e d i n t

  • t

h e F r e e B S D loader.

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

F r e e B S D loader loader i n t e g r a t i

  • n

1 / 2

F r e e B S D loader i n t e g r a t i

  • n
slide-28
SLIDE 28

F r e e B S D loader i n t e g r a t i

  • n

T h e test B E i s s e l e c t e d t

  • b
  • t

i n s t e a d

  • f

t h e default

  • n

e .

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

F r e e B S D loader loader i n t e g r a t i

  • n

2 / 2

2 1 8 / 1 1 / 1 5

slide-29
SLIDE 29

N

  • t

j u s t F r e e B S D loader . . .

I t s i n t e g r a t e d i n t

  • t

h e r

  • p

e r a t i n g s y s t e m s a s w e l l .

  • B

S D s

  • F

r e e B S D

  • H

a r d e n e d B S D ( r

  • l

l i n g F r e e B S D f

  • r

k )

  • I

l l u m

  • s
  • O

p e n I n d i a n a

  • O

mn i O S Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

N

  • t

j u s t F r e e B S D loader loader . . .

2 1 8 / 1 1 / 1 5

slide-30
SLIDE 30

N

  • t

j u s t F r e e B S D loader . . .

I t s i n t e g r a t e d i d e a i mp l e me n t e d i n t

  • t

h e r

  • p

e r a t i n g s y s t e m s a s w e l l .

  • B

S D s

  • F

r e e B S D

  • H

a r d e n e d B S D ( r

  • l

l i n g F r e e B S D f

  • r

k )

  • D

r a g

  • n

F l y B S D //>

  • I

l l u m

  • s
  • O

p e n I n d i a n a

  • O

mn i O S Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

N

  • t

j u s t F r e e B S D loader loader . . .

2 1 8 / 1 1 / 1 5

E u r

  • B

S D c

  • n

2 1 8 | B u i l d i n g B

  • t

E n v i r

  • n

me n t M a n a g e r f

  • r

D r a g

  • n

F l y B S D

A s ma n y u s e r s ma y b e a w a r e , D r a g

  • n

F l y B S D ’ s r e c e n t l y d e c l a r e d t h e H A M M E R 2 fi l e s y s t e m t

  • b

e s t a b l e a n d s u i t a b l e f

  • r

u s e . S i n c e t h i s i s a C

  • W

fi l e s y s t e m, a n d a l l

  • w

s mo u n t i n g

  • f

a r b i t r a r y s n a p s h

  • t

s

  • f

a n y P F S ( a n a l a g

  • u

s t

  • Z

F S d a t a s e t s ) , w e c a n d e fi n e a c u s t

  • m

s c h e me

  • f

c r e a t i n g a n d ma n a g i n g s n a p s h

  • t

s

  • f

a n y mo u n t e d H A M M E R 2 P F S e s a n d u p d a t i n g t h e f s t a b a c c

  • r

d i n g l y . T u r n s

  • u

t b e a d m ( 1 ) i s a s h e l l s c r i p t . W h i l e i n v e s t i g a t i n g h

  • w

b e a d m a c t u a l l y g e t s Z F S d a t a s e t i n f

  • r

ma t i

  • n

, I d i s c

  • v

e r e d i t ’ s a c t u a l l y a v e r y c l e v e r mi x

  • f

s h a n d a w k , w h i c h i s n

  • t

w h a t I e x p e c t e d . S i n c e I ’ m u s i n g C , t h i n g s a r e a b i t mo r e c

  • mp

l e x . S

  • I

’ v e h a d t

  • g

e t i n t

  • t

h e V F S l a y e r

  • f

D r a g

  • n

F l y B S D t

  • q

u e r y w h i c h fi l e s y s t e ms a r e mo u n t e d , a n d t h e n g e t a n d ma n i p u l a t e t h e i r n a me s i n t e r n a l l y , w h i c h h a s q u i c k l y t u r n e d i n t

  • a

mu c h mo r e c

  • mp

l e x t a s k t h a n i n i t i a l l y e x p e c t e d .

slide-31
SLIDE 31

O r i g i n a l n

  • t

s

  • r

i g i n a l . . .

S U N S

  • l

a r i s a n d O r a c l e S

  • l

a r i s u s e G N U G R U B f

  • r

t h e B E s e l e c t i

  • n

a t b

  • t

.

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

O r i g i n a l . . .

2 1 8 / 1 1 / 1 5

slide-32
SLIDE 32

W h a t a b

  • u

t L i n u x ?

I n s t r u c t i

  • n

s a r e f r a g me n t e d a n d c

  • mp

l i c a t e d .

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

I K E A L i n u x

2 1 8 / 1 1 / 1 5

slide-33
SLIDE 33

W h a t a b

  • u

t L i n u x ?

I n s t r u c t i

  • n

s a r e f r a g me n t e d a n d c

  • mp

l i c a t e d .

  • O

n l y O N E L i n u x d i s t r i b u t i

  • n

a l l

  • w

s r

  • t
  • n

Z F S i n s t a l l . A n t e r g

  • s

h a s Z F S

  • p

t i

  • n

i n i n s t a l l e r . U b u n t u c

  • me

s w i t h Z F S s u p p

  • r

t b u t n

  • t

f

  • r

r

  • t

. Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

I K E A L i n u x

2 1 8 / 1 1 / 1 5

slide-34
SLIDE 34

W h a t a b

  • u

t L i n u x ?

I n s t r u c t i

  • n

s a r e f r a g me n t e d a n d c

  • mp

l i c a t e d .

  • O

n l y O N E L i n u x d i s t r i b u t i

  • n

a l l

  • w

s r

  • t
  • n

Z F S i n s t a l l . A n t e r g

  • s

h a s Z F S

  • p

t i

  • n

i n i n s t a l l e r . U b u n t u c

  • me

s w i t h Z F S s u p p

  • r

t b u t n

  • t

f

  • r

r

  • t

.

  • H
  • w

t

  • s

d

  • n
  • t

u s e beadm c

  • mma

n d i n t e g r a t i

  • n

. Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

I K E A L i n u x

2 1 8 / 1 1 / 1 5

slide-35
SLIDE 35

W h a t a b

  • u

t L i n u x ?

I n s t r u c t i

  • n

s a r e f r a g me n t e d a n d c

  • mp

l i c a t e d .

  • O

n l y O N E L i n u x d i s t r i b u t i

  • n

a l l

  • w

s r

  • t
  • n

Z F S i n s t a l l . A n t e r g

  • s

h a s Z F S

  • p

t i

  • n

i n i n s t a l l e r . U b u n t u c

  • me

s w i t h Z F S s u p p

  • r

t b u t n

  • t

f

  • r

r

  • t

.

  • H
  • w

t

  • s

d

  • n
  • t

u s e beadm c

  • mma

n d i n t e g r a t i

  • n

.

  • H
  • w

t

  • s

a r e c

  • mp

l i c a t e d a n d V E R Y l

  • n

g . Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

I K E A L i n u x

2 1 8 / 1 1 / 1 5

slide-36
SLIDE 36

W h a t a b

  • u

t L i n u x ?

I n s t r u c t i

  • n

s a r e f r a g me n t e d a n d c

  • mp

l i c a t e d .

  • O

n l y O N E L i n u x d i s t r i b u t i

  • n

a l l

  • w

s r

  • t
  • n

Z F S i n s t a l l . A n t e r g

  • s

h a s Z F S

  • p

t i

  • n

i n i n s t a l l e r . U b u n t u c

  • me

s w i t h Z F S s u p p

  • r

t b u t n

  • t

f

  • r

r

  • t

.

  • H
  • w

t

  • s

d

  • n
  • t

u s e beadm c

  • mma

n d i n t e g r a t i

  • n

.

  • H
  • w

t

  • s

a r e c

  • mp

l i c a t e d a n d V E R Y l

  • n

g .

  • B

T R F S a l t e r n a t i v e w i t h snapper

  • n
  • p

e n S U S E / S U S E . R e d H a t d e p r a c a t e d B T R F S r e c e n t l y . R e d H a t d

  • e

s n

  • t

h a v e B T R F S d e v e l

  • p

e r s . R e d H a t h a s l

  • t

s

  • f

X F S d e v e l

  • p

e r s . F e d

  • r

a a n d C e n t O S w i l l f

  • l

l

  • w

R e d H a t . Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

I K E A L i n u x

2 1 8 / 1 1 / 1 5

slide-37
SLIDE 37

W h a t a b

  • u

t L i n u x ?

I n s t r u c t i

  • n

s a r e f r a g me n t e d a n d c

  • mp

l i c a t e d .

  • O

n l y O N E L i n u x d i s t r i b u t i

  • n

a l l

  • w

s r

  • t
  • n

Z F S i n s t a l l . A n t e r g

  • s

h a s Z F S

  • p

t i

  • n

i n i n s t a l l e r . U b u n t u c

  • me

s w i t h Z F S s u p p

  • r

t b u t n

  • t

f

  • r

r

  • t

.

  • H
  • w

t

  • s

d

  • n
  • t

u s e beadm c

  • mma

n d i n t e g r a t i

  • n

.

  • H
  • w

t

  • s

a r e c

  • mp

l i c a t e d a n d V E R Y l

  • n

g .

  • B

T R F S a l t e r n a t i v e w i t h snapper

  • n
  • p

e n S U S E / S U S E . R e d H a t d e p r a c a t e d B T R F S r e c e n t l y . R e d H a t d

  • e

s n

  • t

h a v e B T R F S d e v e l

  • p

e r s . R e d H a t h a s l

  • t

s

  • f

X F S d e v e l

  • p

e r s . F e d

  • r

a a n d C e n t O S w i l l f

  • l

l

  • w

R e d H a t . Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

I K E A L i n u x

2 1 8 / 1 1 / 1 5

slide-38
SLIDE 38

W h a t a b

  • u

t B T R F S ?

C a n B T R F S S n a p s h

  • t

s p r

  • v

i d e s a me f u n c t i

  • n

a l i t y a s Z F S B

  • t

E n v i r

  • n

me n t s ?

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

B T R F S S n a p s h

  • t

s

2 1 8 / 1 1 / 1 5

slide-39
SLIDE 39

W h a t a b

  • u

t B T R F S ?

C a n B T R F S S n a p s h

  • t

s p r

  • v

i d e s a me f u n c t i

  • n

a l i t y a s Z F S B

  • t

E n v i r

  • n

me n t s ? N

  • p

e .

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

B T R F S S n a p s h

  • t

s

2 1 8 / 1 1 / 1 5

slide-40
SLIDE 40

W h a t a b

  • u

t B T R F S ?

C a n B T R F S S n a p s h

  • t

s p r

  • v

i d e s a me f u n c t i

  • n

a l i t y a s Z F S B

  • t

E n v i r

  • n

me n t s ? N

  • p

e .

C i t e f r

  • m

S y s t e m R e c

  • v

e r y a n d S n a p s h

  • t

M a n a g e me n t w i t h S n a p p e r f

  • r

O p e n S U S E L e a p 1 5 L i n u x .

  • L

i mi t a t i

  • n

s A c

  • m

p l e t e s y s t e m r

  • l

l b a c k , r e s t

  • r

i n g t h e c

  • mp

l e t e s y s t e m t

  • t

h e i d e n t i c a l s t a t e a s i t w a s i n w h e n a s n a p s h

  • t

w a s t a k e n , i s n

  • t

p

  • s

s i b l e . Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

B T R F S S n a p s h

  • t

s

2 1 8 / 1 1 / 1 5

slide-41
SLIDE 41

W h a t a b

  • u

t B T R F S ?

T h e B T R F S S n a p s h

  • t

s l i mi t a t i

  • n

s / e x c l u d e s a r e a s f

  • l

l

  • w

s .

A l s

  • f

r

  • m

S y s t e m R e c

  • v

e r y a n d S n a p s h

  • t

M a n a g e m e n t w i t h S n a p p e r f

  • r

O p e n S U S E L e a p 1 5 L i n u x . /boot/grub2.* /home /opt /var/opt /srv /usr/local /tmp /var/tmp /var/log Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

B T R F S S n a p s h

  • t

s

2 1 8 / 1 1 / 1 5

/var/cache /var/crash /var/lib/libvirt/images /var/lib/mailman /var/spool /var/lib/named /var/lib/mariadb /var/lib/mysql /var/lib/pgqsl

slide-42
SLIDE 42

D e f a u l t F r e e B S D l a y

  • u

t s u p p

  • r

t s Z F S B E s

D e f a u l t A u t

  • (

Z F S ) bsdinstall

  • p

t i

  • n

s u p p

  • r

t s Z F S B E s .

# zfs list NAME USED AVAIL REFER MOUNTPOINT zroot 339M 8.87G 88K /zroot zroot/ROOT 337M 8.87G 88K none zroot/ROOT/default 337M 8.87G 337M / zroot/tmp 88K 8.87G 88K /tmp zroot/usr 352K 8.87G 88K /usr zroot/usr/home 88K 8.87G 88K /usr/home zroot/usr/ports 88K 8.87G 88K /usr/ports zroot/usr/src 88K 8.87G 88K /usr/src zroot/var 596K 8.87G 88K /var zroot/var/audit 88K 8.87G 88K /var/audit zroot/var/crash 88K 8.87G 88K /var/crash zroot/var/log 152K 8.87G 152K /var/log zroot/var/mail 92K 8.87G 92K /var/mail zroot/var/tmp 88K 8.87G 88K /var/tmp

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

D e f a u l t F r e e B S D l a y

  • u

t 1 / 3

slide-43
SLIDE 43

D e f a u l t F r e e B S D l a y

  • u

t s u p p

  • r

t s Z F S B E s

T h e /usr a n d /var fi l e s y s t e ms h a v e canmount p r

  • p

e r t y s e t t

  • ff.

# zfs get -r canmount zroot NAME PROPERTY VALUE SOURCE zroot canmount on default zroot/ROOT canmount on default zroot/ROOT/default canmount noauto local zroot/tmp canmount on default zroot/usr canmount off local zroot/usr/home canmount on default zroot/usr/ports canmount on default zroot/usr/src canmount on default zroot/var canmount off local zroot/var/audit canmount on default zroot/var/crash canmount on default zroot/var/log canmount on default zroot/var/mail canmount on default zroot/var/tmp canmount on default

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

D e f a u l t F r e e B S D l a y

  • u

t 2 / 3

2 1 8 / 1 1 / 1 5

slide-44
SLIDE 44

D e f a u l t F r e e B S D l a y

  • u

t s u p p

  • r

t s Z F S B E s

T h i s w a y /usr a n d /var a r e p l a c e d

  • n

t h e / d a t a s e t t h e zroot/ROOT/default B E .

# df -g Filesystem 1G-blocks Used Avail Capacity Mounted on zroot/ROOT/default 9 0 8 4% / ..= /usr /usr & /v /var devfs 0 0 0 100% /dev zroot/tmp 8 0 8 0% /tmp zroot/usr/home 8 0 8 0% /usr/home zroot/usr/ports 8 0 8 0% /usr/ports zroot/usr/src 8 0 8 0% /usr/src zroot/var/audit 8 0 8 0% /var/audit zroot/var/crash 8 0 8 0% /var/crash zroot/var/log 8 0 8 0% /var/log zroot/var/mail 8 0 8 0% /var/mail zroot/var/tmp 8 0 8 0% /var/tmp zroot 8 0 8 0% /zroot

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

D e f a u l t F r e e B S D l a y

  • u

t 3 / 3

2 1 8 / 1 1 / 1 5

slide-45
SLIDE 45

A d d beadm t

  • F

r e e B S D

J u s t a d d beadm p a c k a g e

  • r

i n s t a l l sysutils/beadm p

  • r

t …

  • r

d

  • w

n l

  • a

d i t .

  • P

a c k a g e .

# pkg install -y beadm

  • P
  • r

t .

# make -C /usr/ports/sysutils/beadm install clean

  • M

a n u a l .

# fetch https://raw.githubusercontent.com/vermaden/beadm/master/beadm # chmod +x beadm # ./beadm list BE Active Mountpoint Space Created 11.2-RELEASE NR / 6.4G 2018-11-15 16:01 newbe - - 80.2M 2018-11-15 17:04

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G A d d beadm t

  • F

r e e B S D 2 1 8 / 1 1 / 1 5

slide-46
SLIDE 46

T h e s e t

  • l

s

  • n

F r e e B S D a r e freebsd-update(8) a n d pkg(8).

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

U s i n g u p d a t e / u p g r a d e t

  • l

s w i t h B E s

U p d a t e T

  • l

s w i t h B E s 1 / 3

2 1 8 / 1 1 / 1 5

slide-47
SLIDE 47

T h e s e t

  • l

s

  • n

F r e e B S D a r e freebsd-update(8) a n d pkg(8).

  • O

n F r e e B S D b y d e f a u l t t h e s e t

  • l

s

  • p

e r a t e

  • n

r u n n i n g s y s t e m.

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

U s i n g u p d a t e / u p g r a d e t

  • l

s w i t h B E s

U p d a t e T

  • l

s w i t h B E s 1 / 3

2 1 8 / 1 1 / 1 5

slide-48
SLIDE 48

U s i n g u p d a t e / u p g r a d e t

  • l

s w i t h B E s

T h e s e t

  • l

s

  • n

F r e e B S D a r e freebsd-update(8) a n d pkg(8).

  • O

n F r e e B S D b y d e f a u l t t h e s e t

  • l

s

  • p

e r a t e

  • n

r u n n i n g s y s t e m.

  • B

y c

  • n

t r a s t

  • n

S

  • l

a r i s / I l l u m

  • s

b y d e f a u l t t h e y

  • p

e r a t e

  • n

n e w l y c r e a t e d B E a n d r e q u i r e r e b

  • t

i n t

  • t

h a t B E .

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

U p d a t e T

  • l

s w i t h B E s 1 / 3

2 1 8 / 1 1 / 1 5

slide-49
SLIDE 49

U s i n g u p d a t e / u p g r a d e t

  • l

s w i t h B E s

T h e s e t

  • l

s

  • n

F r e e B S D a r e freebsd-update(8) a n d pkg(8).

  • O

n F r e e B S D b y d e f a u l t t h e s e t

  • l

s

  • p

e r a t e

  • n

r u n n i n g s y s t e m.

  • B

y c

  • n

t r a s t

  • n

S

  • l

a r i s / I l l u m

  • s

b y d e f a u l t t h e y

  • p

e r a t e

  • n

n e w l y c r e a t e d B E a n d r e q u i r e r e b

  • t

i n t

  • t

h a t B E . PKG(8)

  • h

t t p s : / / ma n . f r e e b s d .

  • r

g / p k g

  • c chroot path ,
  • ⟩,!

/-chroot chroot path

  • ⟩,!

pkg will chroot in the chroot path environment.

  • ⟩,!
  • r root directory ,
  • ⟩,!

/-rootdir root directory

  • ⟩,!

pkg will install all packages within the specified root directory .

  • ⟩,!

FREEBSD-UPDATE(8)

  • h

t t p s : / / ma n . f r e e b s d .

  • r

g / f r e e b s d

  • u

p d a t e

  • b basedir Operate on a system mounted at basedir. (default: /)
  • d workdir Store working files in workdir. (default: /var/db/freebsd-update)

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

U p d a t e T

  • l

s w i t h B E s 1 / 3

2 1 8 / 1 1 / 1 5

slide-50
SLIDE 50

E mu l a t e S

  • l

a r i s / I l l u m

  • s

b e h a v i

  • u

r

  • n

F r e e B S D

E x a mp l e u p g r a d e

  • f

p a c k a g e s i n t h e n e w l y c r e a t e d B E f

  • r

t h a t p u r p

  • s

e .

# beadm create safe Created successfully # beadm mount safe Mounted successfully on '/tmp/BE-safe.ostSai22' # pkg -r /tmp/BE-safe.ostSai22 update -f (…) # pkg -r /tmp/BE-safe.ostSai22 upgrade (…) # pkg -r /tmp/BE-safe.ostSai22 info -s feh feh-2.27.1 438KiB # pkg -r / info -s feh feh-2.27 438KiB # pkg info -s feh feh-2.27 438KiB

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

U p d a t e T

  • l

s w i t h B E s 2 / 3

2 1 8 / 1 1 / 1 5

slide-51
SLIDE 51

E mu l a t e S

  • l

a r i s / I l l u m

  • s

b e h a v i

  • u

r

  • n

F r e e B S D

E x a mp l e f e t c h s e c u r i t y u p d a t e s i n t h e n e w l y c r e a t e d B E f

  • r

t h a t p u r p

  • s

e .

# beadm create safe Created successfully # beadm mount safe /tmp/safe Mounted successfully on '/tmp/safe' # rm -rf /var/db/freebsd-update # freebsd-update -b /tmp/safe fetch freebsd-update: Directory does not exist or is not writable: /var/db/freebsd-update # freebsd-update -b /tmp/safe -d /tmp/safe/var/db/freebsd-update fetch Looking up update.FreeBSD.org mirrors... 3 mirrors found. Fetching metadata signature for 11.2-RELEASE from update4.freebsd.org... done. Fetching metadata index... done. Inspecting system... done. Preparing to download files... done. No updates needed to update system to 11.2-RELEASE-p0.

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

P

  • l

i s h B S D U s e r G r

  • u

p

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

U p d a t e T

  • l

s w i t h B E s 3 / 3

2 1 8 / 1 1 / 1 5

slide-52
SLIDE 52

F i r s t

  • n

e w a s manageBE s c r i p t w h i c h h a d s

  • me

p r

  • b

l e ms a n d c

  • mp

l i c a t e d s y n t a x .

  • C

r e a t e a n e w B E .

# manageBE create -n 9_20120321 -s 9_20120317 -p zroot manageBE: cannot create /zroot/ROOT/9_20120321/boot/loader.conf: No such file or directory manageBE: cannot create /zroot/ROOT/9_20120321/etc/fstab: No such file or directory The new Boot-Environment is ready to be updated and/or activated.

  • L

i s t e x i s t i n g B E s .

# manageBE list Poolname: zroot BE Active Active Mountpoint Space Name Now Reboot - Used

  • --- ------ ------ ---------- -----

9_20120321 no no /ROOT/9_20120321 145M 9_20120317 yes yes / 1.59G Used by BE snapshots: 1.99G

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

H i s t

  • r

y / M

  • d

s / F

  • r

k s / A l t e r n a t i v e s

H i s t

  • r

y / M

  • d

s / F

  • r

k s / A l t e r n a t i v e s

slide-53
SLIDE 53

C u r r e n t u p s t r e a m beadm s

  • u

r c e a n d a l t e r n a t i v e s / f

  • r

k s .

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

H i s t

  • r

y / M

  • d

s / F

  • r

k s / A l t e r n a t i v e s

2 1 8 / 1 1 / 1 5

H i s t

  • r

y / M

  • d

s / F

  • r

k s / A l t e r n a t i v e s

slide-54
SLIDE 54

C u r r e n t u p s t r e a m beadm s

  • u

r c e a n d a l t e r n a t i v e s / f

  • r

k s .

  • T

h e manageBE s

  • u

r c e

  • h

t t p s : / : / /

  • u

t

  • u

t p

  • s

t . h . h 3 q 3 q . c

  • m
  • m/

p a t c h e s / s / ma n a g e B E / ma n a n a g e B E

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

H i s t

  • r

y / M

  • d

s / F

  • r

k s / A l t e r n a t i v e s

2 1 8 / 1 1 / 1 5

H i s t

  • r

y / M

  • d

s / F

  • r

k s / A l t e r n a t i v e s

slide-55
SLIDE 55

C u r r e n t u p s t r e a m beadm s

  • u

r c e a n d a l t e r n a t i v e s / f

  • r

k s .

  • T

h e manageBE s

  • u

r c e

  • h

t t p s : / : / /

  • u

t

  • u

t p

  • s

t . h . h 3 q 3 q . c

  • m
  • m/

p a t c h e s / s / ma n a g e B E / ma n a n a g e B E

  • C

u r r e n t beadm i mp l e me n t a t i

  • n
  • h

t t p s : / / s : / / g i t h u b . c

  • m
  • m/

v / v e r m a d e n / b / b e a d m //> s

  • u

r c e f

  • r

beadm p a c k a g e

  • F
  • r

k w i t h s e p a r a t e b

  • t

p

  • l

s u p p

  • r

t

  • h

t t p s : s : / / b / b i t b u c k e t .

  • r

g / a a a a s

  • f

s

  • f

t / b e a d m //> f

  • r

k

  • f

v e r ma d a d e n / b / b e a d m

  • F
  • r

k w i t h s u p p

  • r

t f

  • r

L i n u x s y s t e m

  • h

t t p s : / / s : / / g i t i t h u b . c

  • m/

b / b 3 3 3 3 3 3 z / b / b e a d m //> f

  • r

k

  • f

v e r ma d e n / b / b e a d m a d m

  • O

r i g i n a l H O W T O : F r e e B S D Z F S M a d n e s s t h r e a d

  • h

t t p s : / / s : / / f

  • r

u m u ms . f r s . f r e e b s d s d .

  • r
  • r

g / t / t h r e a d s / a d s / 3 1 6 3 1 6 6 2 / 2 /

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

H i s t

  • r

y / M

  • d

s / F

  • r

k s / A l t e r n a t i v e s

2 1 8 / 1 1 / 1 5

H i s t

  • r

y / M

  • d

s / F

  • r

k s / A l t e r n a t i v e s

slide-56
SLIDE 56

C u r r e n t u p s t r e a m beadm s

  • u

r c e a n d a l t e r n a t i v e s / f

  • r

k s .

  • T

h e manageBE s

  • u

r c e

  • h

t t p s : / : / /

  • u

t

  • u

t p

  • s

t . h . h 3 q 3 q . c

  • m
  • m/

p a t c h e s / s / ma n a g e B E / ma n a n a g e B E

  • C

u r r e n t beadm i mp l e me n t a t i

  • n
  • h

t t p s : / / s : / / g i t h u b . c

  • m
  • m/

v / v e r m a d e n / b / b e a d m //> s

  • u

r c e f

  • r

beadm p a c k a g e

  • F
  • r

k w i t h s e p a r a t e b

  • t

p

  • l

s u p p

  • r

t

  • h

t t p s : s : / / b / b i t b u c k e t .

  • r

g / a a a a s

  • f

s

  • f

t / b e a d m //> f

  • r

k

  • f

v e r ma d a d e n / b / b e a d m

  • F
  • r

k w i t h s u p p

  • r

t f

  • r

L i n u x s y s t e m

  • h

t t p s : / / s : / / g i t i t h u b . c

  • m/

b / b 3 3 3 3 3 3 z / b / b e a d m //> f

  • r

k

  • f

v e r ma d e n / b / b e a d m a d m

  • O

r i g i n a l H O W T O : F r e e B S D Z F S M a d n e s s t h r e a d

  • h

t t p s : / / s : / / f

  • r

u m u ms . f r s . f r e e b s d s d .

  • r
  • r

g / t / t h r e a d s / a d s / 3 1 6 3 1 6 6 2 / 2 /

  • T

h e zedenv i n P y t h

  • n

3 . 6 w i t h s u p p

  • r

t f

  • r

F r e e B S D a n d L i n u x

  • h

t t p s : / / s : / / g i t i t h u b u b . c

  • m
  • m/

j

  • h

/ j

  • h

n r a m a ms d s d e n / z e d e n v

  • C

u r r e n t l y a t a l p h a s t a g e

  • f

d e v e l

  • p

me n t ( e x p e r i me n t a l )

  • n
  • t

p r

  • d

u c t i

  • n

r e a d y .

  • N

e e d s python36 a n d py36-setuptools p a c k a g e s t

  • w
  • r

k .

  • S

u p p

  • r

t s p l u g i n s b u t c u r r e n t l y c

  • mp

a r a b l e w i t h beadm f e a t u r e s

  • r

i t s f

  • r

k s .

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

H i s t

  • r

y / M

  • d

s / F

  • r

k s / A l t e r n a t i v e s

2 1 8 / 1 1 / 1 5

H i s t

  • r

y / M

  • d

s / F

  • r

k s / A l t e r n a t i v e s

slide-57
SLIDE 57

C u r r e n t u p s t r e a m beadm s

  • u

r c e a n d a l t e r n a t i v e s / f

  • r

k s .

  • T

h e manageBE s

  • u

r c e

  • h

t t p s : / : / /

  • u

t

  • u

t p

  • s

t . h . h 3 q 3 q . c

  • m
  • m/

p a t c h e s / s / ma n a g e B E / ma n a n a g e B E

  • C

u r r e n t beadm i mp l e me n t a t i

  • n
  • h

t t p s : / / s : / / g i t h u b . c

  • m
  • m/

v / v e r m a d e n / b / b e a d m //> s

  • u

r c e f

  • r

beadm p a c k a g e

  • F
  • r

k w i t h s e p a r a t e b

  • t

p

  • l

s u p p

  • r

t

  • h

t t p s : s : / / b / b i t b u c k e t .

  • r

g / a a a a s

  • f

s

  • f

t / b e a d m //> f

  • r

k

  • f

v e r ma d a d e n / b / b e a d m

  • F
  • r

k w i t h s u p p

  • r

t f

  • r

L i n u x s y s t e m

  • h

t t p s : / / s : / / g i t i t h u b . c

  • m/

b / b 3 3 3 3 3 3 z / b / b e a d m //> f

  • r

k

  • f

v e r ma d e n / b / b e a d m a d m

  • O

r i g i n a l H O W T O : F r e e B S D Z F S M a d n e s s t h r e a d

  • h

t t p s : / / s : / / f

  • r

u m u ms . f r s . f r e e b s d s d .

  • r
  • r

g / t / t h r e a d s / a d s / 3 1 6 3 1 6 6 2 / 2 /

  • T

h e zedenv i n P y t h

  • n

3 . 6 w i t h s u p p

  • r

t f

  • r

F r e e B S D a n d L i n u x

  • h

t t p s : / / s : / / g i t i t h u b u b . c

  • m
  • m/

j

  • h

/ j

  • h

n r a m a ms d s d e n / z e d e n v

  • C

u r r e n t l y a t a l p h a s t a g e

  • f

d e v e l

  • p

me n t ( e x p e r i me n t a l )

  • n
  • t

p r

  • d

u c t i

  • n

r e a d y .

  • N

e e d s python36 a n d py36-setuptools p a c k a g e s t

  • w
  • r

k .

  • S

u p p

  • r

t s p l u g i n s b u t c u r r e n t l y c

  • mp

a r a b l e w i t h beadm f e a t u r e s

  • r

i t s f

  • r

k s .

  • A

n s i b l e beadm mo d u l e

  • h

t t p s : / / s : / / d

  • c
  • c

s . a n s . a n s i b s i b l e . c

  • m
  • m/

a n a n s i b s i b l e / l / l a t e s t / mo d u

  • d

u l e s / b s / b e a d m a d m_ m _ mo d u l e . h . h t ml

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

H i s t

  • r

y / M

  • d

s / F

  • r

k s / A l t e r n a t i v e s

2 1 8 / 1 1 / 1 5

H i s t

  • r

y / M

  • d

s / F

  • r

k s / A l t e r n a t i v e s

slide-58
SLIDE 58

C u r r e n t u p s t r e a m beadm s

  • u

r c e a n d a l t e r n a t i v e s / f

  • r

k s .

  • T

h e manageBE s

  • u

r c e

  • h

t t p s : / : / /

  • u

t

  • u

t p

  • s

t . h . h 3 q 3 q . c

  • m
  • m/

p a t c h e s / s / ma n a g e B E / ma n a n a g e B E

  • C

u r r e n t beadm i mp l e me n t a t i

  • n
  • h

t t p s : / / s : / / g i t h u b . c

  • m
  • m/

v / v e r m a d e n / b / b e a d m //> s

  • u

r c e f

  • r

beadm p a c k a g e

  • F
  • r

k w i t h s e p a r a t e b

  • t

p

  • l

s u p p

  • r

t

  • h

t t p s : s : / / b / b i t b u c k e t .

  • r

g / a a a a s

  • f

s

  • f

t / b e a d m //> f

  • r

k

  • f

v e r ma d a d e n / b / b e a d m

  • F
  • r

k w i t h s u p p

  • r

t f

  • r

L i n u x s y s t e m

  • h

t t p s : / / s : / / g i t i t h u b . c

  • m/

b / b 3 3 3 3 3 3 z / b / b e a d m //> f

  • r

k

  • f

v e r ma d e n / b / b e a d m a d m

  • O

r i g i n a l H O W T O : F r e e B S D Z F S M a d n e s s t h r e a d

  • h

t t p s : / / s : / / f

  • r

u m u ms . f r s . f r e e b s d s d .

  • r
  • r

g / t / t h r e a d s / a d s / 3 1 6 3 1 6 6 2 / 2 /

  • T

h e zedenv i n P y t h

  • n

3 . 6 w i t h s u p p

  • r

t f

  • r

F r e e B S D a n d L i n u x

  • h

t t p s : / / s : / / g i t i t h u b u b . c

  • m
  • m/

j

  • h

/ j

  • h

n r a m a ms d s d e n / z e d e n v

  • C

u r r e n t l y a t a l p h a s t a g e

  • f

d e v e l

  • p

me n t ( e x p e r i me n t a l )

  • n
  • t

p r

  • d

u c t i

  • n

r e a d y .

  • N

e e d s python36 a n d py36-setuptools p a c k a g e s t

  • w
  • r

k .

  • S

u p p

  • r

t s p l u g i n s b u t c u r r e n t l y c

  • mp

a r a b l e w i t h beadm f e a t u r e s

  • r

i t s f

  • r

k s .

  • A

n s i b l e beadm mo d u l e

  • h

t t p s : / / s : / / d

  • c
  • c

s . a n s . a n s i b s i b l e . c

  • m
  • m/

a n a n s i b s i b l e / l / l a t e s t / mo d u

  • d

u l e s / b s / b e a d m a d m_ m _ mo d u l e . h . h t ml

  • N

e w bectl F r e e B S D 1 2 . x b a s e s y s t e m u t i l i t y c

  • mp

a t i b l e w i t h beadm c

  • mma

n d . Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

H i s t

  • r

y / M

  • d

s / F

  • r

k s / A l t e r n a t i v e s

2 1 8 / 1 1 / 1 5

H i s t

  • r

y / M

  • d

s / F

  • r

k s / A l t e r n a t i v e s

slide-59
SLIDE 59

T h e bectl c

  • m

m a n d

N e w F r e e B S D 1 2 . x b a s e s y s t e m c

  • mma

n d

  • bectl
  • t
  • ma

n a g e Z F S B

  • t

E n v i r

  • n

me n t s .

# bectl usage: bectl {-h | -? | subcommand [args...]} bectl activate [-t] beName bectl create [-e {nonActiveBe | -e beName@snapshot}] beName bectl create beName@snapshot bectl destroy [-F] {beName | beName@snapshot} bectl export sourceBe bectl import targetBe bectl jail [{-b | -U}] [{-o key=value | -u key}]... bootenv [utility [argument ...]] bectl list [-a] [-D] [-H] [-s] bectl mount beName [mountpoint] bectl rename origBeName newBeName bectl {ujail | unjail} jailID | jailName | bootenv)

  • bectl {umount | unmount} [-f] beName

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

P

  • l

i s h B S D U s e r G r

  • u

p

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

bectl bectl c

  • m

m a n d

slide-60
SLIDE 60

T h e bectl i s w r i t t e n i n C l a n g u a g e

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

bectl bectl c

  • d

e

2 1 8 / 1 1 / 1 5

slide-61
SLIDE 61

A l l c

  • mma

n d s t h a t w

  • r

k w i t h beadm w i l l w

  • r

k w i t h bectl t

  • l

w i t h

  • u

t mo d i fi c a t i

  • n

s .

# beadm create ASD Created successfully # # beadm activate ASD Activated successfully # # beadm list BE Active Mountpoint Space Created 11.2 N / 7.0G 2018-11-15 16:01 ASD R - 6.9M 2018-11-15 17:29 # beadm destroy ASD Are you sure you want to destroy 'ASD'? This action cannot be undone (y/[n]): y Destroyed successfully # # beadm rename ASD NEW Renamed successfully #

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

D i f f e r e n c e b e t w e e n beadm a n d bectl u s a g e

D i f f e r e n c e

s

# bectl create ASD # (silent creation) # bectl activate ASD successfully activated boot environment ASD # # bectl list BE Active Mountpoint Space Created 12.0 N / 471M 2018-11-15 13:15 ASD R - 448K 2018-11-15 14:03 # bectl destroy ASD # (no confirmation for destroy) # bectl rename ASD NEW # (silent rename)

slide-62
SLIDE 62

N e w jail/ unjail c

  • mma

n d t

  • s

t a r t F r e e B S D J a i l w i t h i n Z F S B

  • t

E n v i r

  • n

me n t .

freebsd12 # hostname freebsd12.local freebsd12 # sysctl security.jail.jailed security.jail.jailed: 0 freebsd12 # bectl jail ASD # hostname ASD # sysctl security.jail.jailed security.jail.jailed: 1 # (you are directly in newly created FreeBSD Jail within ‘ASD’ ZFS Boot Environment)

Me

a n w h i l e

  • n

t h e F r e e B S D H

  • s

t . . .

freebsd12 # mount | grep ASD zroot/ROOT/ASD on /tmp/be_mount.WR1F (zfs, local, noatime, nfsv4acls) freebsd12 # jls -a JID IP Address Hostname Path 1 ASD /tmp/be_mount.WR1F

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

N e w f e a t u r e s / c

  • m

m a n d s i n bectl t

  • l

N e w bect ctl F e a t u r e s

slide-63
SLIDE 63

N e w export/ import c

  • mma

n d t h a t s e n d s Z F S B

  • t

E n v i r

  • n

me n t i n t

  • /

f r

  • m

p l a i n fi l e .

# bectl export ASD bectl export: must redirect output # bectl export ASD > ASD.raw # file ASD.raw | tr ',' '\n' ASD.raw: ZFS shapshot (little-endian machine) version 17 type: ZFS destination GUID: D9 72 9E 43 9C CF F9 A2 name: 'zroot/ROOT/NEW@2018-11-15-15:39:25' # bectl import NEW.raw bectl import: input can not be from terminal # bectl import NEW < NEW.raw # bectl list BE Active Mountpoint Space Created 12.0 NR / 905M 2018-11-15 13:24 ASD - - 448K 2018-11-15 15:39 NEW - - 471M 2018-11-15 16:44

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

N e w f e a t u r e s / c

  • m

m a n d s i n bectl t

  • l

N e w bect ctl F e a t u r e s

slide-64
SLIDE 64

N e w L U A b a s e d loader loader t h a t d e p r e c a t e s t h e

  • l

d F

  • r

t h b a s e d loader. loader.

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

N e w L U A b a s e d loader i n F r e e B S D 1 2 . x

N e w L U A load ader

slide-65
SLIDE 65

N e w loader loader me n u i s n

  • t

p e r f e c t

  • l
  • n

g e r ( 5 ! ) B E n a me s

  • v

e l a p

  • n

t h e me n u b

  • r

d e r .

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

N e w L U A b a s e d loader i n F r e e B S D 1 2 . x

N e w L U A load ader

slide-66
SLIDE 66

T h e r e i s n

  • l

i s t

  • f

B E s

  • y
  • u

c a n

  • n

l y s w i t c h b e t w e e n e x i s t i n g B E s i n s e q u e n c e .

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

N e w L U A b a s e d loader i n F r e e B S D 1 2 . x

N e w L U A load ader

slide-67
SLIDE 67

W i t h n e w loader loader y

  • u

d

  • n
  • t

n e e d Z F S b

  • t

p

  • l

t

  • h

a v e G E L I e n c r y p t e d Z F S r

  • t

!

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

N e w L U A b a s e d loader i n F r e e B S D 1 2 . x

N e w L U A load ader

slide-68
SLIDE 68

W i t h n e w loader loader y

  • u

d

  • n
  • t

n e e d Z F S b

  • t

p

  • l

t

  • h

a v e G E L I e n c r y p t e d Z F S r

  • t

!

  • A

v a i l a b l e s t r a i g h t i n bsdinstall bsdinstall w i t h

  • u

t a n y H O W T O s . Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

N e w L U A b a s e d loader i n F r e e B S D 1 2 . x

N e w L U A load ader

slide-69
SLIDE 69

W i t h n e w loader loader y

  • u

d

  • n
  • t

n e e d Z F S b

  • t

p

  • l

t

  • h

a v e G E L I e n c r y p t e d Z F S r

  • t

!

  • A

v a i l a b l e s t r a i g h t i n bsdinstall bsdinstall w i t h

  • u

t a n y H O W T O s .

  • S

e t u p s u p p

  • r

t e d b y b

  • t

h bectl bectl a n d beadm beadm t

  • l

s . Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

N e w L U A b a s e d loader i n F r e e B S D 1 2 . x

N e w L U A load ader

slide-70
SLIDE 70

W i t h n e w loader loader y

  • u

d

  • n
  • t

n e e d Z F S b

  • t

p

  • l

t

  • h

a v e G E L I e n c r y p t e d Z F S r

  • t

!

  • A

v a i l a b l e s t r a i g h t i n bsdinstall bsdinstall w i t h

  • u

t a n y H O W T O s .

  • S

e t u p s u p p

  • r

t e d b y b

  • t

h bectl bectl a n d beadm beadm t

  • l

s .

  • B

y d e f a u l t 2 5 6

  • b

i t A E S

  • X

T S i s u s e d . Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

N e w L U A b a s e d loader i n F r e e B S D 1 2 . x

N e w L U A load ader

slide-71
SLIDE 71

W i t h n e w loader loader y

  • u

d

  • n
  • t

n e e d Z F S b

  • t

p

  • l

t

  • h

a v e G E L I e n c r y p t e d Z F S r

  • t

!

  • A

v a i l a b l e s t r a i g h t i n bsdinstall bsdinstall w i t h

  • u

t a n y H O W T O s .

  • S

e t u p s u p p

  • r

t e d b y b

  • t

h bectl bectl a n d beadm beadm t

  • l

s .

  • B

y d e f a u l t 2 5 6

  • b

i t A E S

  • X

T S i s u s e d .

  • W
  • r

k s b

  • t

h

  • n

U E F I a n d B I O S ( L e g a c y / C S M / . . . ) b

  • t

t y p e . Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

N e w L U A b a s e d loader i n F r e e B S D 1 2 . x

N e w L U A load ader

slide-72
SLIDE 72

W i t h n e w loader loader y

  • u

d

  • n
  • t

n e e d Z F S b

  • t

p

  • l

t

  • h

a v e G E L I e n c r y p t e d Z F S r

  • t

!

  • A

v a i l a b l e s t r a i g h t i n bsdinstall bsdinstall w i t h

  • u

t a n y H O W T O s .

  • S

e t u p s u p p

  • r

t e d b y b

  • t

h bectl bectl a n d beadm beadm t

  • l

s .

  • B

y d e f a u l t 2 5 6

  • b

i t A E S

  • X

T S i s u s e d .

  • W
  • r

k s b

  • t

h

  • n

U E F I a n d B I O S ( L e g a c y / C S M / . . . ) b

  • t

t y p e .

# gpart show .> 40 16777136 ada0 GPT (8.0G) 40 1024 1 freebsd-boot (512K) 1064 984 - free - (492K) 2048 16773120 2 freebsd-zfs (8.0G) 16775168 2008 - free - (1.0M) # geli status Name Status Components ada0p2.eli ACTIVE ada0p2

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

N e w L U A b a s e d loader i n F r e e B S D 1 2 . x

N e w L U A load ader

slide-73
SLIDE 73

W h a t t

  • c

h

  • s

e i n bsdinstall bsdinstall t

  • c

r e a t e s u c h Z F S r

  • t

G E L I e n c r y p t e d s e t u p .

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

N e w L U A b a s e d loader i n F r e e B S D 1 2 . x

N e w L U A load ader

slide-74
SLIDE 74

N

  • w

t y p e i n G E L I p a s s w

  • r

d y

  • u

w a n t t

  • u

s e .

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

N e w L U A b a s e d loader i n F r e e B S D 1 2 . x

N e w L U A load ader

slide-75
SLIDE 75

… a n d w a i t t i l l G E L I fi n i s h e s t h e i n i t i a l i z a t i

  • n

.

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

N e w L U A b a s e d loader i n F r e e B S D 1 2 . x

N e w L U A load ader

slide-76
SLIDE 76

H e r e i s h

  • w

b

  • t
  • f

s u c h G E L I e n c r y p t e d p a s s w

  • r

d p r

  • mp

t l

  • k

s l i k e

  • n

B I O S t y p e .

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

N e w L U A b a s e d loader i n F r e e B S D 1 2 . x

N e w L U A load ader

slide-77
SLIDE 77

H e r e i s h

  • w

b

  • t
  • f

s u c h G E L I e n c r y p t e d p a s s w

  • r

d p r

  • mp

t l

  • k

s l i k e

  • n

B I O S t y p e .

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

N e w L U A b a s e d loader i n F r e e B S D 1 2 . x

N e w L U A load ader

slide-78
SLIDE 78

… a n d a f t e r t h e p a s s w

  • r

d i s b e i n g a c c e p t e d y

  • u

g e t t h e loader F r e e B S D me n u .

Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G 2 1 8 / 1 1 / 1 5

N e w L U A b a s e d loader i n F r e e B S D 1 2 . x

N e w L U A load ader

slide-79
SLIDE 79

Q u e s t i

  • n

s ?

S ł a w

  • m

i r W

  • j

c i e c h W

  • j

t c z a k vermaden@interia.pl vermaden.wordpress.com twitter.com/vermaden https://is.gd/BECTL Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

F A Q

2 1 8 / 1 1 / 1 5

slide-80
SLIDE 80

T h a n k Y

  • u

!

S ł a w

  • m

i r W

  • j

c i e c h W

  • j

t c z a k vermaden@interia.pl vermaden.wordpress.com twitter.com/vermaden https://is.gd/BECTL Z F S B

  • t

E n v i r

  • n

m e n t s R e l

  • a

d e d

N L U U G

F A Q

2 1 8 / 1 1 / 1 5