SOLVED ZFS pool check

Vortigern

Dabbler
Joined
Oct 14, 2022
Messages
45
Dear All,
I've created my first pool as raidz2 using TrueNAS CORE 13.0. I'd like to have your opinion on the pool settings considering that I will be using the server as home NAS for maximum 3 clients (NFS share and Plex).

Code:
root@truenas[~]# zpool get all zfs_pool
NAME      PROPERTY                       VALUE                          SOURCE
zfs_pool  size                           14.5T                          -
zfs_pool  capacity                       0%                             -
zfs_pool  altroot                        /mnt                           local
zfs_pool  health                         ONLINE                         -
zfs_pool  guid                           8379088654434821834            -
zfs_pool  version                        -                              default
zfs_pool  bootfs                         -                              default
zfs_pool  delegation                     on                             default
zfs_pool  autoreplace                    off                            default
zfs_pool  cachefile                      /data/zfs/zpool.cache          local
zfs_pool  failmode                       continue                       local
zfs_pool  listsnapshots                  off                            default
zfs_pool  autoexpand                     on                             local
zfs_pool  dedupratio                     1.00x                          -
zfs_pool  free                           14.5T                          -
zfs_pool  allocated                      38.9M                          -
zfs_pool  readonly                       off                            -
zfs_pool  ashift                         12                             local
zfs_pool  comment                        -                              default
zfs_pool  expandsize                     -                              -
zfs_pool  freeing                        0                              -
zfs_pool  fragmentation                  0%                             -
zfs_pool  leaked                         0                              -
zfs_pool  multihost                      off                            default
zfs_pool  checkpoint                     -                              -
zfs_pool  load_guid                      17170737133915915326           -
zfs_pool  autotrim                       off                            default
zfs_pool  compatibility                  off                            default
zfs_pool  feature@async_destroy          enabled                        local
zfs_pool  feature@empty_bpobj            active                         local
zfs_pool  feature@lz4_compress           active                         local
zfs_pool  feature@multi_vdev_crash_dump  enabled                        local
zfs_pool  feature@spacemap_histogram     active                         local
zfs_pool  feature@enabled_txg            active                         local
zfs_pool  feature@hole_birth             active                         local
zfs_pool  feature@extensible_dataset     active                         local
zfs_pool  feature@embedded_data          active                         local
zfs_pool  feature@bookmarks              enabled                        local
zfs_pool  feature@filesystem_limits      enabled                        local
zfs_pool  feature@large_blocks           enabled                        local
zfs_pool  feature@large_dnode            enabled                        local
zfs_pool  feature@sha512                 enabled                        local
zfs_pool  feature@skein                  enabled                        local
zfs_pool  feature@userobj_accounting     active                         local
zfs_pool  feature@encryption             enabled                        local
zfs_pool  feature@project_quota          active                         local
zfs_pool  feature@device_removal         enabled                        local
zfs_pool  feature@obsolete_counts        enabled                        local
zfs_pool  feature@zpool_checkpoint       enabled                        local
zfs_pool  feature@spacemap_v2            active                         local
zfs_pool  feature@allocation_classes     enabled                        local
zfs_pool  feature@resilver_defer         enabled                        local
zfs_pool  feature@bookmark_v2            enabled                        local
zfs_pool  feature@redaction_bookmarks    enabled                        local
zfs_pool  feature@redacted_datasets      enabled                        local


Thanks in advance,
Vortigern
 

NugentS

MVP
Joined
Apr 16, 2020
Messages
2,949
Z2 is fine for Plex and File Share.
Its when you start doing VM's or databases that you have to watch for IOPS requirement
 

Vortigern

Dabbler
Joined
Oct 14, 2022
Messages
45
Dear @NugentS,
thanks for your quick reply. Do you think the rest of the parameters to be appropriate as well?
According to ZFS Raidz Performance, Capacity and Integrity the LZ4 compression is very good (good performance with low computational cost) and ZFS deduplication is something I'm not going to use. I'm not sure though about the other options like
  • Sync
  • ACL Mode: NFS user and group is linked to this point
  • Metadata (Special) Small Block Size
Cheers,
Vortigern
 

Arwen

MVP
Joined
May 17, 2014
Messages
3,611
Please note that their are pool wide attributes, which you list. And then their is ZFS dataset / zVol attributes, shown with this command:
zfs get all -r zfs_pool
Dataset parameters, either can be unique per Dataset or inherit from parent Dataset. These attributes are things like compression, quota, reservation or record size, are changable for different uses.

Depending on use, it is sometimes useful to have different ZFS Datasets for different uses. Like backups and media being separated. You can use different compression algos for each. And perhaps limit media so it does not eat up all your backup space.
 

Vortigern

Dabbler
Joined
Oct 14, 2022
Messages
45
Dear @Arwen,
thanks a lot for your reply. I've tried using zfs, please find below the output, rather then zpool but at the moment I have no dataset created yet so the output should not differ. Morover the "-r" option is not recognised. Is it possible to have "sync" writes as pool wide attribute and "async" writes for a specific dataset? Or is only the opposite true? Moreover is it possible to change the "sync" attribute at a later stage?

Code:
root@truenas[~]# zfs get all -r zfs_pool
cannot open '-r': dataset does not exist
NAME      PROPERTY              VALUE                  SOURCE
zfs_pool  type                  filesystem             -
zfs_pool  creation              Wed Nov 30 20:22 2022  -
zfs_pool  used                  18.1M                  -
zfs_pool  available             6.92T                  -
zfs_pool  referenced            140K                   -
zfs_pool  compressratio         13.87x                 -
zfs_pool  mounted               yes                    -
zfs_pool  quota                 none                   default
zfs_pool  reservation           none                   default
zfs_pool  recordsize            128K                   default
zfs_pool  mountpoint            /mnt/zfs_pool          default
zfs_pool  sharenfs              off                    default
zfs_pool  checksum              on                     default
zfs_pool  compression           lz4                    local
zfs_pool  atime                 off                    local
zfs_pool  devices               on                     default
zfs_pool  exec                  on                     default
zfs_pool  setuid                on                     default
zfs_pool  readonly              off                    default
zfs_pool  jailed                off                    default
zfs_pool  snapdir               hidden                 default
zfs_pool  aclmode               passthrough            local
zfs_pool  aclinherit            passthrough            local
zfs_pool  createtxg             1                      -
zfs_pool  canmount              on                     default
zfs_pool  xattr                 on                     default
zfs_pool  copies                1                      default
zfs_pool  version               5                      -
zfs_pool  utf8only              off                    -
zfs_pool  normalization         none                   -
zfs_pool  casesensitivity       sensitive              -
zfs_pool  vscan                 off                    default
zfs_pool  nbmand                off                    default
zfs_pool  sharesmb              off                    default
zfs_pool  refquota              none                   default
zfs_pool  refreservation        none                   default
zfs_pool  guid                  2289298731169644706    -
zfs_pool  primarycache          all                    default
zfs_pool  secondarycache        all                    default
zfs_pool  usedbysnapshots       0B                     -
zfs_pool  usedbydataset         140K                   -
zfs_pool  usedbychildren        17.9M                  -
zfs_pool  usedbyrefreservation  0B                     -
zfs_pool  logbias               latency                default
zfs_pool  objsetid              54                     -
zfs_pool  dedup                 off                    default
zfs_pool  mlslabel              none                   default
zfs_pool  sync                  standard               default
zfs_pool  dnodesize             legacy                 default
zfs_pool  refcompressratio      1.00x                  -
zfs_pool  written               140K                   -
zfs_pool  logicalused           136M                   -
zfs_pool  logicalreferenced     42.5K                  -
zfs_pool  volmode               default                default
zfs_pool  filesystem_limit      none                   default
zfs_pool  snapshot_limit        none                   default
zfs_pool  filesystem_count      none                   default
zfs_pool  snapshot_count        none                   default
zfs_pool  snapdev               hidden                 default
zfs_pool  acltype               nfsv4                  default
zfs_pool  context               none                   default
zfs_pool  fscontext             none                   default
zfs_pool  defcontext            none                   default
zfs_pool  rootcontext           none                   default
zfs_pool  relatime              off                    default
zfs_pool  redundant_metadata    all                    default
zfs_pool  overlay               on                     default
zfs_pool  encryption            off                    default
zfs_pool  keylocation           none                   default
zfs_pool  keyformat             none                   default
zfs_pool  pbkdf2iters           0                      default
zfs_pool  special_small_blocks  0                      default


Cheers,
Alessio
 

Arwen

MVP
Joined
May 17, 2014
Messages
3,611
Their are different attributes for pools and datasets. Thus they WON'T be the same. But, yes, you only have the base dataset, which carries the same name as the pool. You can use the GUI to create child datasets off this top level / pool dataset, which is generally a good idea.

Don't know why the "-r" did not work. My Linux desktop must have a later version of ZFS than your TrueNAS server.

Yes, you can change the "sync" dataset attribute at any time. And yes, it can be pool wide, inherited by any child dataset. Or the child dataset can be custom, with different configuration than pool wide / parent. That is the reason datasets have separate attributes, so they can be custom per dataset.

Most TrueNAS settings need to be done through the GUI or API's shell, (not the Unix SHELL). However, many ZFS options are inside ZFS, thus, not stored in the NAS appliance software. Plus, simple list and file manipulation in the command line aren't part of the GUI.
 

Vortigern

Dabbler
Joined
Oct 14, 2022
Messages
45
Dear @Arwen,
thanks a lot for your support. I'll try to do most of the things via the Web GUI but I couldn't find a way to get all the pool information from it: I thought the shell IF to be more suitable. I've also tried to change the parameters for the pool and it does work quite nicely!

Cheers,
Vortigern
 
Top