Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Add an option to allow multiple copies on a single host to count towards goals #231
I've run into some interesting use cases for people who need to store massive amounts of data but for whatever reason (can't afford to, don't want to, etc) want to store it on a single machine. It would be very cool if you could enable LizardFS to recognize each disk/brick/volume of data as separate and count them towards the goals.
Enabling single-system usage of LizardFS is a very strange use case, but it makes sense and as a bonus it may help ease people into the use of the system.
As far as I'm aware (and I'm fairly confident) neither MooseFS nor LizardFS
Perhaps the most elegant solution would be a "copy factor" value for each
If you really want to keep 2 copies on a single machine, you can run two chunkservers there. Prepare two configuration files, e.g.:
Now you can run both:
If you want to force LizardFS to store two copies of each chunk on these two chunkserver (located on a single machine) and a third copy somewhere else you can use the 'custom goals' mechanism (http://lizardfs.com/lizardfs-2-5-4-release-announcement/ and
Very interesting. Thank you very much @marcinsulikowski for detailed instructions.
FWIW in Ceph this is fairly easy to do by setting
in OSD configuration. Ceph runs "chunkserver" (i.e. OSD) per HDD and
I reckon placing two replicas to one host may be elegantly possible if/when LizardFS allows volumes to be combined to virtual host or "target" which can have label assigned...
As marcinsulikowski has already pointed out, configuring multiple chunkservers each with their own hdd.conf and unique port it is possible to do this already. As such I do not believe there is a need for any changes to support this request other than perhaps documenting that it is already possible.
You can setup multiple chunkservers on the same machine very easily with docker.
where your first hard drive is mounted at /mnt/HD1, the second at /mnt/HD2, and son on...
This docker image let you set ANY of the mfschunkserver.conf options by using
By mounting the local /mnt/HD1 path in the container path /mnt/HD1 (
You can mount just one path for each chunkservers (as I demonstrated), or you can mount as many paths as you want for a chunkserver, covering booth situations - 1 chunkserver for multiple disks (LizardFS Default setup), or multiple chunkservers for multiple disks!
I've tested running LizardFS as docker against a native build in my Arch Linux, and there's no difference in speed, whatsoever! BUT, If you choose to run docker in OSX or Windows, then it will have a big slowdown, since docker runs in a virtual machine on those OSes.
The image can be used to start any of the servers, include metalogger, shadow, master and cgi. Just set the server in the
running the image like this:
will display a quick help on how to use it!
my 2 cents...