Introduction to cStor replica
Oct 5th, 2018
VItta (vitta@mayadata.io)
storage pool
NVMe SSD SAS DisksHostDir SAN/NAS S3NVDIMM SSDs
K8s node
cStor Pool
Volume replica
NVMe SSD SAS DisksHostDir SAN/NAS S3NVDIMM SSDs
K8s node
cStor Pool
cStor volume replicas
cStor pool
consists of
- zrepl binary,
and,
zrepl
consists of uZFS, which can mean,
- micro ZFS
- ZFS in user space,
hmm..
uZFS
is based out of DMU layer of ZFS on
Linux,
and,
is in user space
makes sense?
uZFS
so, in uZFS, there is,
- creation of pool and block
volume (from DMU layer) in
userspace
- storing ZIL records
- and, replaying them
uZFS
This logical entity of
- pool is ‘cStor pool’, and,
- of block volume is ‘cStor
Volume Replica’
uZFS
but, how to configure it?
does ZFS on Linux’s zpool / zfs CLI
binaries works on this DMU layer of
….. ?
uZFS
zfs / zpool CLI binaries of ZFS of
Linux doesn’t work,
then, how?
uZFS
requirement#1
- minimal amount of code change
- easy to maintain
- being in sync with upstream
- configure uZFS
configuring uZFS
REST API server?
and, any other options?
configuring uZFS
will IOCTL redirection help?
but, what is it?
IOCTL redirection
zfs
zrepl
kernel
X X
unix domain
socket
uzfs code uzfs code zpool
configuring zrepl
cStor pool
zfs
zpool
zrepl
cStor pool mgmt
s
e
r
v
e
r
uZFS
but,
how to do read / write into uZFS?
uZFS
requirement#2
- minimal amount of code change
- easy to maintain
- being in sync with upstream
- write into uZFS block volume
IOs on uZFS
block volumes
(some kind of) API server?
and, then,
(PTO)
IOs on uZFS
block volumes
and then,
write into uZFS block volume from
DMU layer
zrepl
(continuation from slide 5)
and, so, it also consists of
- zrepl_prot layer to
communicate with target
cStor pool and target communication
cStor pool
istgt
zrepl
cStor istgt
zrepl_prot
Did you noticed
different colors of
lines in previous slide?
Thanks
&
See You Later

Introduction to cStor replica - Contributors Meet 5th Oct 2018

Editor's Notes

  • #14 IOCTL redirection or overriding IOCTLs in zfs / zpool CLI binaries