Cockpit/Houston ZFS pools using Samba and NFS

Here is the workflow or the steps that I had to perform to get both NFS and SAMBA working. As I am not an avid user of Rocky Linux, this detail might be more than anyone would need. Here is a high level overview

  • set root passwd
  • using the IPMI remote console, I logged in as the 45drives user
  • using the utilities within the xfce environment
  • click on upper left dropdown “Applications - Settings - Advance Network Configuration”
  • within Network Connections, I updated Wired Connection 1 to use “Automatic (DHCP)” within the IPv4 Settings. Saved the setting.
  • HL-15 should have an ip address
  • Open terminal to set the root passwd.

At this point I noticed cockpit was not running and I shifted to a terminal window to do the next commands as root.

I turned off firewalld using

systemctl stop firewalld.

I disabled the firewalld service via

systemctl disable firwalld.

To enable cockpit, I used the command

systemctl enable --now cockpit.socket

At this point I have cockpit/houston running. I used the Web UI .

Using the Houston UI left navigation pane, I clicked on “Networking” to see that virb0 was set to 192...* address. I decided to update the vrbr0 Bridge to use eno1 and eno2. vrbr0 uses DHCP to get the IP Address.

I noticed that dnf update had some issues which forced me to clean/rebuild the cache. I used these commands:

dnf clean all && dnf makecache && dnf update

Dnf clean- this removes all metadata and cache of previous repo data

Dnf makecahce – this recreates the caching of the repos that were previously removed

Dnf update- updates the server. You may be prompted to type Y or N to apply the updates.

For my initial update, I had 26 new Packages to install and 426 packages to update.

After the system was update, I rebooted the system to confirm everything is in working order.

As I had my old Truenas drives exported, I open the HL-15 to allow me to insert the drives into 12 of the 15 slots. As these drives are “new” to the HL-15, I was able to insert them with the HL-15 running.

Using the Houston UI left navigation pane, I click on 45Drives Disk to confirm the 12 hard drives are shown.
Using the left navigation pane, I clicked on ZFS to select the upper right option “Import Storage Pool”. The web UI recognized the existing ZFS pool from the 12 drives. I accepted the defaults options “Mount file systems” and “SELinux Context for Samba”.

NOTE:  I would recommend to not select the option "SELinux Context for Samba" as this was the crux of my issue with getting Samba working.

Using the Houston UI, I click within the Identities section to add 6 more user accounts (and groups) that I used from my TrueNas environment.
Using the terminal prompt as root, I assigned the user/group premissions via chown and used chmod to make sure the Samba directory shares have a minimum directory permissions of 770 via

chown 770

Within the File Sharing - NFS section, I added the values for Path and Share Path. Under the client section, I have the 192.200.200.0/24 with the settings “sec=sys,rw,crossmnt,no_subtree_check,no_root_squash”

NOTE: I used a /24 CIDR rather than using specific IP address for each client that needs to connect. To be more secure you may want to give each ip address.

Once I have the NFS shared defined and saved, I verified connect using my desktop.

To configured the Samba share, I had to go back and make a few modifications within the Configure Cockpit ZFS Manager (upper right button next to “Refresh”. There is an image at the 20th reply on this thread.. I disabled “Mnaage Samba share” and “Display boot storage pool”. Click the blue “configure” button will save the changes.

After these Cockpit changes for the ZFS Manager, you should be able to make samba changes with many issues.

If you had previous attempted to configure Samba with those Cockpit ZFS settings, then you want to edit the /etc/samba/smb.conf to remove the include that was added by the Cockpit ZFS manager.

to confirm your Samba settings, you can use the command

testparms -s

The results of this command will give you the current globals as well as any share you have configured via the UI.

I did add “server min protocol = SMB2” within my global configuration. I will need to test if this is needed.

For me the Samba share allows my printer to save scanned documents to a network folder (and post any faxes I received to a digital format on the same folder).

Hope this helps others. I had a number of issues

There are some good articles on the 45drives knowledge space too:
KB450282 – Managing NFS in Houston UI
KB450281 – Managing SMB in Houston UI

4 Likes