Premysl Kouril
2018-11-12 11:42:46 UTC
Hi,
We are planning to build NAS solution which will be primarily used via NFS
and CIFS and workloads ranging from various archival application to more
âreal-time processingâ. The NAS will not be used as a block storage for
virtual machines, so the access really will always be file oriented.
We are considering primarily two designs and Iâd like to kindly ask for any
thoughts, views, insights, experiences.
Both designs utilize âdistributed storage software at some levelâ. Both
designs would be built from commodity servers and should scale as we grow.
Both designs involve virtualization for instantiating "access virtual
machines" which will be serving the NFS and CIFS protocol - so in this
sense the access layer is decoupled from the data layer itself.
First design is based on a distributed filesystem like Gluster or CephFS.
We would deploy this software on those commodity servers and mount the
resultant filesystem on the âaccess virtual machinesâ and they would be
serving the mounted filesystem via NFS/CIFS.
Second design is based on distributed block storage using CEPH. So we would
build distributed block storage on those commodity servers, and then, via
virtualization (like OpenStack Cinder) we would allocate the block storage
into the access VM. Inside the access VM we would deploy ZFS which would
aggregate block storage into a single filesystem. And this filesystem would
be served via NFS/CIFS from the very same VM.
Any advices and insights highly appreciated
Cheers,
Prema
We are planning to build NAS solution which will be primarily used via NFS
and CIFS and workloads ranging from various archival application to more
âreal-time processingâ. The NAS will not be used as a block storage for
virtual machines, so the access really will always be file oriented.
We are considering primarily two designs and Iâd like to kindly ask for any
thoughts, views, insights, experiences.
Both designs utilize âdistributed storage software at some levelâ. Both
designs would be built from commodity servers and should scale as we grow.
Both designs involve virtualization for instantiating "access virtual
machines" which will be serving the NFS and CIFS protocol - so in this
sense the access layer is decoupled from the data layer itself.
First design is based on a distributed filesystem like Gluster or CephFS.
We would deploy this software on those commodity servers and mount the
resultant filesystem on the âaccess virtual machinesâ and they would be
serving the mounted filesystem via NFS/CIFS.
Second design is based on distributed block storage using CEPH. So we would
build distributed block storage on those commodity servers, and then, via
virtualization (like OpenStack Cinder) we would allocate the block storage
into the access VM. Inside the access VM we would deploy ZFS which would
aggregate block storage into a single filesystem. And this filesystem would
be served via NFS/CIFS from the very same VM.
Any advices and insights highly appreciated
Cheers,
Prema