1) Take a machine, may be a virtual machine for purpose of simple, non-stress tests too. Install clean FreeBSD 12.1 RELEASE, patch it to current patch level. 2) Run pkg so it installs/updates itself. 3) Install minimal MooseFS components to make a working test instance: # pkg install moosefs3-master-3.0.111_2 # pkg install moosefs3-chunkserver-3.0.111_2 # pkg install moosefs3-client-3.0.111_2 4) Configure the instance: - load fuse: # kldload fusefs.ko - make it so that the name "mfsmaster" is resolved, simplest way is to put this line in /etc/hosts : [YOUR_MACHINE_IP] mfsmaster Important - do not use the loopback interface IP (127.0.0.1) here, but your network interface IP! - almost all the modules can work on default config settings, but you must design space for the chunk server module to keep its files and prepare a mount point for MooseFS itself. Create two directories: # mkdir /mnt/chunks; chown mfs:mfs /mnt/chunks # mkdir /mnt/mfs Edit /usr/local/etc/mfs/mfshdd.cfg and put this line at the end: /mnt/chunks 2GiB It means that the chunk server is supposed to keep chunks, containing MooseFS filesystem file data, in the directory(mountpoint) /mnt/chunks and that the maximum space that can be occupied is 2GiB. This is just in case, so the test instance doesn't use up too much of your test machine's space. - the master needs to be told it's a fresh installation. You do that by substituting a special "empty" metadata file for its main metadata file: # cp /var/mfs/metadata.mfs.empty /var/mfs/metadata.mfs 5) Run the instance: # /usr/local/etc/rc.d/mfsmaster onestart # /usr/local/etc/rc.d/mfschunkserver onestart (Or, if you prefer, put 'mfsmaster_enable="YES"' and 'mfschunkserver_enable="YES"' in your rc.conf file and use start instead of onestart). You now have a minimal working MooseFS instance. You need to mount the filesystem: # mfsmount /mnt/mfs You can check if it's there: # ls -al /mnt/mfs/ total 5 drwxrwxrwx 2 root wheel 1 Apr 20 11:55 . drwxr-xr-x 4 root wheel 512 Apr 20 11:50 .. Yes, but how do we know it actually worked? The directory is empty! Let's try this: # cat /mnt/mfs/.ophistory If you can actually read this file and the output looks very similar to that: 04.20 12:02:04.181503: uid:0 gid:0 pid:951 cmd:getattr (1): OK (1.0,[drwxrwxrwx:0040777,2,0,0,1587376542,1587376542,1587376542,1]) 04.20 12:05:01.925790: uid:0 gid:0 pid:776 cmd:getattr (1): OK (1.0,[drwxrwxrwx:0040777,2,0,0,1587376542,1587376542,1587376542,1]) 04.20 12:05:02.541881: uid:0 gid:0 pid:958 cmd:access (1,0x4): OK 04.20 12:05:02.541999: uid:0 gid:0 pid:958 cmd:opendir (1): OK [handle:00000001] 04.20 12:05:02.542101: uid:0 gid:0 pid:958 cmd:statfs (1): OK (2147483648,2147483648,2147483648,0,0,1) 04.20 12:05:02.542215: uid:0 gid:0 pid:958 cmd:access (1,0x1): OK 04.20 12:05:02.542381: uid:0 gid:0 pid:958 cmd:readdir (1,4096,85): OK (64) 04.20 12:05:02.542477: uid:0 gid:0 pid:958 cmd:access (1,0x1): OK 04.20 12:05:02.542502: uid:0 gid:0 pid:958 cmd:readdir (1,4096,85): OK (no data) 04.20 12:05:02.542973: uid:0 gid:0 pid:958 cmd:access (1,0x1): OK 04.20 12:05:02.543160: uid:0 gid:0 pid:958 cmd:access (1,0x1): OK 04.20 12:05:33.874833: uid:0 gid:0 pid:776 cmd:access (1,0x4): OK 04.20 12:05:33.874936: uid:0 gid:0 pid:776 cmd:opendir (1): OK [handle:00000002] 04.20 12:05:33.875022: uid:0 gid:0 pid:776 cmd:statfs (1): OK (2147483648,2147483648,2147483648,0,0,1) 04.20 12:05:33.875188: uid:0 gid:0 pid:776 cmd:readdir (1,4096,85): OK (64) 04.20 12:05:33.875215: uid:0 gid:0 pid:776 cmd:readdir (1,4096,85): OK (no data) 04.20 12:05:36.333987: uid:0 gid:0 pid:959 cmd:access (1,0x1): OK 04.20 12:05:36.334016: uid:0 gid:0 pid:959 cmd:lookup (1,.ophistory) (internal node: OPHISTORY): OK (3600.0,2147483634,3600.0,[-r--------:0100400,1,0,0,0,0,0,0]) 04.20 12:05:36.334097: uid:0 gid:0 pid:959 cmd:open (2147483634) (internal node: OPHISTORY): OK (1,0) # Congratulations, you have a working instance of MooseFS! What can aid you in tests: 1) The default setting of the system is to make 2 copies of each file recorded. Since you only have 1 chunk server, to avoid spamming logs with information that the system can't make a second copy, as a first operation change this setting to 1 copy: # mfssetgoal 1 /mnt/mfs/ You might also want to disable the system level trash MooseFS has, so if you delete a file, it is really deleted and does not occupy space on your test machine. To do so, change this setting: # mfssettrashtime 0 /mnt/mfs/ 2) There are some "special" files available as read only, to aid in using/debugging MooseFS. Two should be of interest: /mnt/mfs/.ophistory - displays some operation history (15MiB) and stays open to display new operations as they come along (if nothing happens, empty lines with # sign will appear at regular intervals) /mnt/mfs/.oplog - same as above, except it does not show any history, just starts the operation log from the moment you opened this file So if you simply 'cat' one of those files on one console while you experiment on the other one, you can switch between consoles and peek at what MooseFS is doing. These files are only available for root. 3) To umount MooseFS, simply type: # umount /mnt/mfs 4) MooseFS has various mount options, what might be of interest here: -d or -o debug - turns on FUSE debugging (mfsmount stays in foreground then, so you need another console to do actual manipulation on files) -o mfsdebug - MooseFS specific debugs (also in foreground) There are many more options, all described on mfsmount's manpage.