the usb key is perfect as a boot device as long as you save your configuration in case of device failure. as i understand it there are minimal writes to it after the initial installation is completed. the computer reads the key at boot time. this should be well within the capabilities of the device. your data will be "safe" using zfs/z1 or zfs/z2. if the usb fails just reinstall freenas to a new device and reload your saved configuration.
I looked at this a little more closely today. There's generally good news; the root filesystem is mounted read-only which effectively prevents some unnecessary writes. I hadn't noticed that /usr/local/etc actually has been redirected onto the md-/etc, which is great news of course.
That means that on your average system, you're only particularly worried about writes happening on /data. Mounting the system filesystems with noatime would still be advantageous, especially /data which is rw and on flash.
I did notice with some concern that the atime on /data/freenas-v1.db is constantly updating. This appears to me to be a real problem:
storage1# date
Wed Jun 1 22:57:22 CDT 2011
storage1# ls -lu /data/freenas-v1.db
-rw-r--r-- 1 www www 162816 Jun 1 22:57 /data/freenas-v1.db
storage1# iostat da4 1
tty da4 cpu
tin tout KB/t tps MB/s us ni sy in id
0 11 5.07 0 0.00 2 0 1 1 96
0 132 0.00 0 0.00 1 0 2 1 96
0 44 0.00 0 0.00 0 0 1 0 99
0 44 4.00 1 0.00 0 0 0 1 99
0 44 0.00 0 0.00 0 0 0 0 100
0 45 0.00 0 0.00 0 0 0 0 100
0 45 0.00 0 0.00 0 0 1 0 99
0 44 0.00 0 0.00 2 0 0 0 98
0 44 0.00 0 0.00 2 0 1 1 96
0 44 0.00 0 0.00 0 0 1 2 98
0 44 4.00 1 0.00 0 0 0 0 100
0 45 0.00 0 0.00 0 0 1 1 98
0 44 0.00 0 0.00 0 0 0 1 99
0 44 0.00 0 0.00 0 0 1 0 99
0 44 0.00 0 0.00 0 0 1 0 99
0 44 0.00 0 0.00 3 0 2 0 95
0 44 0.00 0 0.00 0 0 1 1 98
0 44 0.00 0 0.00 0 0 2 0 98
0 44 0.00 0 0.00 0 0 0 0 100
0 45 4.00 1 0.00 0 0 4 5 91
0 44 0.00 0 0.00 0 0 0 1 99
0 44 0.00 0 0.00 0 0 1 0 99
0 44 0.00 0 0.00 2 0 0 1 98
0 44 0.00 0 0.00 33 0 8 0 59
0 44 0.00 0 0.00 0 0 2 1 98
0 44 0.00 0 0.00 0 0 1 0 99
0 44 4.00 1 0.00 0 0 1 0 99
[many groups of 1tps every five to ten seconds]
0 44 0.00 0 0.00 0 0 1 0 99
0 44 0.00 0 0.00 0 0 0 0 100
0 45 0.00 0 0.00 0 0 0 0 100
0 45 0.00 0 0.00 3 0 1 2 95
0 44 0.00 0 0.00 0 0 2 0 98
0 44 0.00 0 0.00 0 0 0 2 98
0 44 0.00 0 0.00 0 0 0 0 100
0 45 4.00 1 0.00 0 0 1 1 98
^C
storage1# ls -lu /data/freenas-v1.db
-rw-r--r-- 1 www www 162816 Jun 1 22:58 /data/freenas-v1.db
storage1# mount -u -o noatime /data
storage1# iostat da4 1
tty da4 cpu
tin tout KB/t tps MB/s us ni sy in id
0 11 5.07 0 0.00 2 0 1 1 96
0 132 4.00 1 0.00 0 0 3 1 96
0 44 0.00 0 0.00 0 0 7 4 89
0 44 0.00 0 0.00 0 0 1 0 99
0 44 0.00 0 0.00 0 0 2 0 98
0 44 0.00 0 0.00 1 0 1 1 98
[many many rows of 0tps]
0 44 0.00 0 0.00 2 0 2 0 97
0 44 0.00 0 0.00 2 0 1 0 98
0 44 0.00 0 0.00 0 0 0 1 99
0 44 0.00 0 0.00 0 0 0 0 100
^C
storage1# ls -lu /data/freenas-v1.db
-rw-r--r-- 1 www www 162816 Jun 1 22:58 /data/freenas-v1.db
storage1# mount -u -o rw,atime /data; sleep 10
storage1# ls -lu /data/freenas-v1.db
-rw-r--r-- 1 www www 162816 Jun 1 23:04 /data/freenas-v1.db
I would view this as a problem. Does anyone want to verify this?