Edit Ik heb een oorzaak/fix zie einde van mijn post
Ik heb een interessant probleem met zfs on linux.
Ik heb een volle pool (0k vrij) en ik kan er niets meer van verwijderen met bijv een rm.
Dat geeft op zicht niet het is een test omgeving, maar als ik een andere pool op het zelfde systeem net zo vol gooi kan ik gewoon nog bestanden verwijderen. Nu wil ik graag weten wat er mis is, maar ik kan niets vinden dat niet in de haak is. Kunnen jullie helpen met trouble shooten?
Edit ik ben meer geïnteresseerd in wat het probleem is dan in een oplossing. Oplossingen kan ik zelf zo wel verzinnen aangezien het toch test data is.
Scrubben gaat probleemloos geen enkele fout.
De block sum = gelijk aan de space maps
64gb ram
ubuntu 15.10
zfs v0.6.4.2-0ubuntu1.1, ZFS pool version 5000, ZFS filesystem version 5
zpool status
pool: tank0
state: ONLINE
scan: scrub in progress since Mon Jan 11 11:42:15 2016
4.78T scanned out of 21.4T at 691M/s, 7h0m to go
0 repaired, 22.34% done
config:
NAME        STATE     READ WRITE CKSUM
tank0       ONLINE       0     0     0
  raidz1-0  ONLINE       0     0     0
    F0      ONLINE       0     0     0
    F3      ONLINE       0     0     0
    F2      ONLINE       0     0     0
    F1      ONLINE       0     0     0
    F7      ONLINE       0     0     0
    F6      ONLINE       0     0     0
errors: No known data errors
zpool get all
NAME   PROPERTY                    VALUE                       SOURCE
tank0  size                        21.8T                       -
tank0  capacity                    98%                         -
tank0  altroot                     -                           default
tank0  health                      ONLINE                      -
tank0  guid                        9034185262091936598         default
tank0  version                     -                           default
tank0  bootfs                      -                           default
tank0  delegation                  on                          default
tank0  autoreplace                 off                         default
tank0  cachefile                   -                           default
tank0  failmode                    wait                        default
tank0  listsnapshots               off                         default
tank0  autoexpand                  off                         default
tank0  dedupditto                  0                           default
tank0  dedupratio                  1.00x                       -
tank0  free                        348G                        -
tank0  allocated                   21.4T                       -
tank0  readonly                    off                         -
tank0  ashift                      12                          local
tank0  comment                     -                           default
tank0  expandsize                  -                           -
tank0  freeing                     0                           default
tank0  fragmentation               59%                         -
tank0  leaked                      0                           default
tank0  feature@async_destroy       enabled                     local
tank0  feature@empty_bpobj         enabled                     local
tank0  feature@lz4_compress        active                      local
tank0  feature@spacemap_histogram  active                      local
tank0  feature@enabled_txg         active                      local
tank0  feature@hole_birth          active                      local
tank0  feature@extensible_dataset  enabled                     local
tank0  feature@embedded_data       active                      local
tank0  feature@bookmarks           enabled                     local
zfs get all
NAME   PROPERTY              VALUE                  SOURCE
tank0  type                  filesystem             -
tank0  creation              Mon Dec 21  8:58 2015  -
tank0  used                  17.1T                  -
tank0  available             0                      -
tank0  referenced            17.1T                  -
tank0  compressratio         1.00x                  -
tank0  mounted               yes                    -
tank0  quota                 none                   default
tank0  reservation           none                   default
tank0  recordsize            128K                   default
tank0  mountpoint            /tank0                 default
tank0  sharenfs              off                    default
tank0  checksum              on                     default
tank0  compression           off                    default
tank0  atime                 on                     default
tank0  devices               on                     default
tank0  exec                  on                     default
tank0  setuid                on                     default
tank0  readonly              off                    default
tank0  zoned                 off                    default
tank0  snapdir               hidden                 default
tank0  aclinherit            restricted             default
tank0  canmount              on                     default
tank0  xattr                 on                     default
tank0  copies                1                      default
tank0  version               5                      -
tank0  utf8only              off                    -
tank0  normalization         none                   -
tank0  casesensitivity       sensitive              -
tank0  vscan                 off                    default
tank0  nbmand                off                    default
tank0  sharesmb              off                    default
tank0  refquota              none                   default
tank0  refreservation        none                   default
tank0  primarycache          all                    default
tank0  secondarycache        all                    default
tank0  usedbysnapshots       0                      -
tank0  usedbydataset         17.1T                  -
tank0  usedbychildren        15.8M                  -
tank0  usedbyrefreservation  0                      -
tank0  logbias               latency                default
tank0  dedup                 off                    default
tank0  mlslabel              none                   default
tank0  sync                  standard               default
tank0  refcompressratio      1.00x                  -
tank0  written               17.1T                  -
tank0  logicalused           17.1T                  -
tank0  logicalreferenced     17.1T                  -
tank0  snapdev               hidden                 default
tank0  acltype               off                    default
tank0  context               none                   default
tank0  fscontext             none                   default
tank0  defcontext            none                   default
tank0  rootcontext           none                   default
tank0  relatime              off                    default
tank0  redundant_metadata    all                    default
tank0  overlay               off                    default
Ok hoe het helemaal zit ben ik nog niet helemaal achter, maar ik heb wel een fix die goed genoeg is om niet meer met het probleem te zitten.
Zfs houd een reserve aan hoe vol je schijf mag zitten. In zfs on linux 0.64 is dat 1,6%  vanaf 0.65 is het 3,2 procent. Ik zat op 0,64 en dus op 1,6 procent als ik deze omlaag haal naar ,8% kan ik weer schrijven en bestanden verwijderen. Uiteraard heb ik hem hier na op 3,2 % gezet daar is vast een reden voor dat ze dat verhoogd hebben waarschijnlijk de problemen die ik ondervond.
Het is nog steeds niet duidelijk waarom ik in de ene pool niet meer kan verwijderen en in de andere pool wel terwijl ze beiden vol zitten. Mocht ik dit vinden zal ik het ook posten.
Hoe doe je dit?
Je moet de spa_slop_shift parameter aan passen.
Deze staat bij mij in /sys/module/zfs/paramters/spa_slop_shift in 0,64 is het 6 in 0,65 staat ie op 5
Je komt bij het percentage door 100/2^6 dat is dus 100/64=1,56 % en 100/2^5=3.125 Ik heb hem tijdelijk op 7 gezet want hij stond toen ik mijn disks vol zette op 6. 
Je kunt hetm instellen door  /etc/modprobe.d/zfs.conf aan te maken en daar de volgende regel in te zetten.
options zfs spa_slop_shift=Getal
Je kunt rebooten om hem te laten gelden of door de zfs module te verwijderen en weer toe te voegen. 
Vervolgens kun je de waarde checken door  /sys/modules/zfs/paramters/spa_slop_shift uit te lezen.
Ik ga er van uit dat ze spa_slop_shift om hoog hebben gezet om het probleem dat ik heb te voorkomen.
fix is dus zet hem op 5 of installeer ZoL 0,65 waar ie standaard al op 5 staat.
Mocht je trouwens upgraden van 0,64 naar 0,65 check even of je pool minder dan 97% gevuld is anders heb je hommeles die met bovenstaande te fixen.
                                                
[
                        Voor 12% gewijzigd door
                                                     kaaas                                                 op 15-01-2016 13:25
                                            ]