update
This commit is contained in:
parent
4d96d33550
commit
af0a70ffed
|
@ -11,8 +11,8 @@ Network storage operating system managed through web GUI.<br>
|
|||
* [Official site](https://www.truenas.com/truenas-scale/)
|
||||
* [Forums](https://www.truenas.com/community/forums/truenas-scale-discussion/)
|
||||
|
||||
TrueNAS SCALE is based on debian linux. ZFS file system is at the core.
|
||||
Running nginx and using pythong and django for the web interface.
|
||||
Based on debian linux with ZFS file system is at the core.
|
||||
Running nginx and using python and django for the web interface.
|
||||
|
||||
[ZFS for Dummies](https://blog.victormendonca.com/2020/11/03/zfs-for-dummies/)
|
||||
|
||||
|
@ -28,9 +28,9 @@ I hold strong opinion on backups > raid.<br>
|
|||
So I make zero use of zfs raid features and use it just as nice web GUI
|
||||
for samba and nfs sharing.
|
||||
|
||||
Good alterntive I could have go for is [openmediavault](https://www.openmediavault.org/),
|
||||
but truenas seems a bigger player. And if I did not luck out with the HBA card,
|
||||
I would be buying Fujitsu 9211-8i from ebay.
|
||||
Good alterntive is [openmediavault](https://www.openmediavault.org/),
|
||||
but truenas seems a bigger player. And if I would have not lucked out
|
||||
with the HBA card, I would be buying Fujitsu 9211-8i from ebay.
|
||||
|
||||
# Installation
|
||||
|
||||
|
@ -50,6 +50,7 @@ I would be buying Fujitsu 9211-8i from ebay.
|
|||
* SCSI Controller was left at default - vmware paravirtual
|
||||
* switch tab and change boot from bios to uefi
|
||||
* click through the Installation
|
||||
* pick admin user and set password
|
||||
* login, shutdown
|
||||
* ESXi - edit VM, add other device, PCI device, <should be listed HBA card>
|
||||
|
||||
|
@ -57,30 +58,36 @@ I would be buying Fujitsu 9211-8i from ebay.
|
|||
|
||||
### Static IP address
|
||||
|
||||
* Network > Interfaces > uncheck DHCP > add Aliases >
|
||||
fill IP/mask, on save it asks for the gateway IP
|
||||
* set hostname and DNS server in Network > Global Configuration
|
||||
* turn off dhcp and set static ip and mask<br>
|
||||
Network > Interfaces<br>
|
||||
uncheck DHCP; Add Aliases, IP address=10.0.19.11; mask=24<br>
|
||||
on save it asks for the gateway IP
|
||||
* set hostname, DNS server and enable netbios discovery<br>
|
||||
Network > Global Configuration > Settings<br>
|
||||
check `NetBIOS-NS`; set hostname; set dns if it's not
|
||||
|
||||
### Set time
|
||||
|
||||
* Set time zone and date format<br>
|
||||
System Settings > General > Localization > Settings<br>
|
||||
Timezone=Europe/Bratislava; Date Format=2 Jan 2023
|
||||
|
||||
If there are issues with the time... enable ssh service, ssh in to the truenas
|
||||
check few things
|
||||
|
||||
* `timedatectl`
|
||||
* `ntpq -p`
|
||||
* `sudo ntpq -c sysinfo`
|
||||
* `systemctl status ntp.service`
|
||||
* `sudo journalctl -u ntp.service`
|
||||
* `cat /etc/ntp.conf`
|
||||
* `hwclock --systohc --utc`
|
||||
* `sudo hwclock --systohc --utc`
|
||||
|
||||
![timedatectl](https://i.imgur.com/aIMm7WT.png)
|
||||
|
||||
For the issue I faced, I think what did the trick was sync time through dashboard
|
||||
when I had notice of wrong time for like 4th time.
|
||||
Then I used set the UTC time in bios using `hwclock --systohc --utc`
|
||||
Then I set the UTC time in bios using `hwclock --systohc --utc`
|
||||
and then I started `sudo systemctl start ntp` which previously was failing,
|
||||
after that `ntpq -p` worked.
|
||||
|
||||
|
@ -128,24 +135,159 @@ For destruction of pools - Storage > Export/Disconnect button
|
|||
|
||||
### SMB share
|
||||
|
||||
Should be go-to way to share for most cases.
|
||||
Should be go-to for most cases, as all systems(win, linux, mac,
|
||||
android, ios) have mature reliable smb clients.
|
||||
|
||||
To see connected users, SSH in and `sudo smbstatus -b`
|
||||
|
||||
* Windows (SMB) Shares > Add
|
||||
* set path to the dataset to share
|
||||
* set the name under which it will be shared
|
||||
* set Purpose if there is a special case
|
||||
* in advanced settings allow guest access if desired
|
||||
* on save the service will be enabled, if its not already
|
||||
|
||||
This created a share, now to deal with the permissions<br>
|
||||
Now to deal with the permissions<br>
|
||||
There are two type of permissions accessible through icons in the share view
|
||||
|
||||
* Share ACL - set to allow everyone by default
|
||||
* Edit Filesystem ACL - where one actually wants to control permissions
|
||||
|
||||
Create smb user and allow the access to the share
|
||||
|
||||
* Credentials > Local Users > Add
|
||||
* set user name, for example: smb_usr<br>
|
||||
note the default UID for very first account added manually being `3000`
|
||||
* set password
|
||||
* switch to Shares > Edit Filesystem ACL (shield icon)
|
||||
* in Edit ACL > Add Item > smb_usr
|
||||
* set desired permissions
|
||||
|
||||
Trying to access the IP of truenas instance with the now set credentials
|
||||
should allow full access to the share.
|
||||
|
||||
Worth noting that it's the UID number that identifies users,
|
||||
not the username.
|
||||
|
||||
#### SMB share for everyone
|
||||
|
||||
One might think that just allowing group `everyone@` access is enough.
|
||||
But when someone connects to a share, there must be a username used.
|
||||
For this a guest account needs to be enabled,
|
||||
which under the hood is named `nobody`
|
||||
|
||||
* in Shares > Windows (SMB) Shares > edit the share
|
||||
* Advanced Options > Allow Guest Access
|
||||
|
||||
#### Mounting network share at boot
|
||||
|
||||
Using systemd. And the instructions from [arch wiki.](https://wiki.archlinux.org/title/samba#As_systemd_unit)
|
||||
|
||||
`/etc/systemd/system/mnt-bigdisk.mount`
|
||||
```ini
|
||||
[Unit]
|
||||
Description=12TB truenas mount
|
||||
|
||||
[Mount]
|
||||
What=//10.0.19.11/Dataset-01
|
||||
Where=/mnt/bigdisk
|
||||
Options=rw,username=ja,password=qq,file_mode=0644,dir_mode=0755,uid=1000
|
||||
Type=cifs
|
||||
TimeoutSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
`/etc/systemd/system/mnt-bigdisk.automount`
|
||||
```ini
|
||||
[Unit]
|
||||
Description=12TB truenas mount
|
||||
|
||||
[Automount]
|
||||
Where=/mnt/bigdisk
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
|
||||
### NFS share
|
||||
|
||||
Linux to linux file sharing. Simple.
|
||||
|
||||
Before creation of nfs share, a linux permission group should be planned to use.<br>
|
||||
Lets say that a group named `nfs` with gid `1100`
|
||||
|
||||
on linux client machine
|
||||
|
||||
- `sudo groupadd -g 1100 nfs` - create the group
|
||||
- `sudo gpasswd -a bastard nfs` - add the user in to the group
|
||||
- log out, log in, check with `id`
|
||||
|
||||
Now on truenas the new group is created and set for the dataset
|
||||
and NFSv4 share is set.
|
||||
|
||||
* create nfs group with guid 1100<br>
|
||||
Credentials > Local Groups > Add > GID = 1100; Name = nfs
|
||||
* create new Dataset<br>
|
||||
Datasets > Add Dataset > Name it; keep defaults
|
||||
* set `nfs` group for this dataset root
|
||||
Datasets > Permissions (scroll down, bottom right) > Edit<br>
|
||||
Group = nfs; check `Apply Group`; check `Apply permissions recursively`<br>
|
||||
Save
|
||||
* switch NFS to version 4<br>
|
||||
Shares > UNIX (NFS) Shares > three dots > Config Service<br>
|
||||
check `Enable NFSv4`; check `NFSv3 ownership model for NFSv4`<br>
|
||||
Save
|
||||
* Set nfs share<br>
|
||||
Shares > UNIX (NFS) Shares > Add<br>
|
||||
pick path to the dataset<br>
|
||||
Save
|
||||
|
||||
|
||||
Test mounting on client machine, in my case arch linux machine,
|
||||
[here](https://wiki.archlinux.org/title/NFS#Client) is wiki on nfs
|
||||
|
||||
* check you see the share `showmount -e 10.0.19.11`
|
||||
* mount the share `sudo mount 10.0.19.11:/mnt/Pool-02/sun/ ~/temp`
|
||||
* should work can check version using `nfsstat -m` or `rpcinfo -p 10.0.19.11`
|
||||
|
||||
#### Mounting network share at boot
|
||||
|
||||
Using systemd. And the instructions from [arch wiki.](https://wiki.archlinux.org/title/NFS#As_systemd_unit)
|
||||
|
||||
`/etc/systemd/system/mnt-truenas.mount`
|
||||
```ini
|
||||
[Unit]
|
||||
Description=Truenas 6TB in stripe
|
||||
|
||||
[Mount]
|
||||
What=10.0.19.11:/mnt/Pool-02/sun
|
||||
Where=/mnt/truenas
|
||||
Options=vers=4
|
||||
Type=nfs
|
||||
TimeoutSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
`/etc/systemd/system/mnt-truenas.automount`
|
||||
```ini
|
||||
[Unit]
|
||||
Description=Truenas 6TB in stripe
|
||||
|
||||
[Automount]
|
||||
Where=/mnt/truenas
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
handy commands
|
||||
|
||||
* `lsof ~/temp` - find what uses files when trying to unmount
|
||||
|
||||
### iSCSI share
|
||||
|
||||
### Data protection settings
|
||||
|
|
Loading…
Reference in New Issue