I am experimenting with FreeNAS on a Hyper-V VM with eight 3GB disks in RaidZ3. My pool looks something like this: (ignore the scrub issue -- I intentionally introduced corruption in a previous test)
So I was curious how FreeNAS/ZFS behaved if I tried to fill up a Dataset without a quota on pool. I ran the following command on a folder in the dataset and waited:
The results were not good. Here is what I observed:
* The command never terminated. When the pool was full, the command kept running. What was it actually doing? I do not know.
* After rebooting, there were a ton of errors that prevented the Web GUI from starting up. I double checked that I didn't accidentally run this on the system filesystem, and I did not. Tons of messages in syslog about the pool being full though, which is to be expected.
* After deleting the file, the web GUI would start up again on reboot, and the error messages stopped being logged to syslog.
Can someone explain this behavior to me? Also, if it was a remote client via SMB filling up the pool instead of myself on a shell session, what would they expect to see?
Code:
root@freenas:/ # zpool status -v pool: PrimaryVolume state: ONLINE scan: scrub repaired 72K in 0h0m with 0 errors on Fri Nov 24 22:23:20 2017 config: NAME STATE READ WRITE CKSUM PrimaryVolume ONLINE 0 0 0 raidz3-0 ONLINE 0 0 0 gptid/be639b4e-d1a4-11e7-8e3c-00155d017f10 ONLINE 0 0 0 gptid/bf25c58b-d1a4-11e7-8e3c-00155d017f10 ONLINE 0 0 0 gptid/bff059ab-d1a4-11e7-8e3c-00155d017f10 ONLINE 0 0 0 gptid/c0cbad00-d1a4-11e7-8e3c-00155d017f10 ONLINE 0 0 0 gptid/c1a2e809-d1a4-11e7-8e3c-00155d017f10 ONLINE 0 0 0 gptid/c269673e-d1a4-11e7-8e3c-00155d017f10 ONLINE 0 0 0 gptid/c2eaeb56-d1a4-11e7-8e3c-00155d017f10 ONLINE 0 0 0 gptid/c36c0c72-d1a4-11e7-8e3c-00155d017f10 ONLINE 0 0 0 errors: No known data errors
So I was curious how FreeNAS/ZFS behaved if I tried to fill up a Dataset without a quota on pool. I ran the following command on a folder in the dataset and waited:
Code:
cat /dev/urandom > random_data
The results were not good. Here is what I observed:
* The command never terminated. When the pool was full, the command kept running. What was it actually doing? I do not know.
* After rebooting, there were a ton of errors that prevented the Web GUI from starting up. I double checked that I didn't accidentally run this on the system filesystem, and I did not. Tons of messages in syslog about the pool being full though, which is to be expected.
* After deleting the file, the web GUI would start up again on reboot, and the error messages stopped being logged to syslog.
Can someone explain this behavior to me? Also, if it was a remote client via SMB filling up the pool instead of myself on a shell session, what would they expect to see?