So after all the information from my last thread about storage, I’ve decided to use ZFS on my main file server, and transfer everything over slowly from their existing XFS filesystems to a RAIDZ. I’ve had ZFS and RAIDZ going for awhile now with no issues, so I started to do some benchmarking and stress testing to make sure that I don’t end up with a kernel panic when starting to move a lot of files via smb/nfs/ftp/rsync.
Originally when I had 7.1 on my other box (said box from the other thread, x2 3800+, 4GB RAM and 7.1 amd64), I had it tuned and it worked well, no kernel panics or anything. I'm using this box for testing because I don't want to end up with something unusable after I start slowly putting the 12 drives in my FS in the new box. For 7.1 I had this in /boot/loader.conf
And I had kern.maxvnodes=500000 in sysctl.conf.
Now when I upgraded to 7.2, I just blatantly ignored the addendum on the wiki about 7.2 having autotuning because I figured if it isn't broke, don't fix it. Here's when the trouble came in. I tried running iozone to get a good idea of the performance I'd see, and if I'd get a panic with a lot of disk activity.
I lost the original iozone commands I was using when the box kp'd but it was similar to this:
That will panic the box with the aforementioned settings or letting the box tune itself.
Something more conservative like:
Always completes successfully, as with a simple (took it off some site):
The panic is always something like this, with X being the number of bytes I allocated in loader.conf:
I'm basically wondering if I should bump up the kmem_sizes, or if I'm just missing another 'magical' setting somewhere. Also, I don't use GENERIC.
If it helps, in the end if I can overcome the panics, the file server I'd be installing on is an AMD Opteron 170, 4GB RAM, amd64 7.2, and something on the order of 12x500 GB drives and 4x250.
Originally when I had 7.1 on my other box (said box from the other thread, x2 3800+, 4GB RAM and 7.1 amd64), I had it tuned and it worked well, no kernel panics or anything. I'm using this box for testing because I don't want to end up with something unusable after I start slowly putting the 12 drives in my FS in the new box. For 7.1 I had this in /boot/loader.conf
Code:
vm.kmem_size="1536M"
vm.kmem_size_max="1536M"
vfs.zfs.arc_max="100M"
And I had kern.maxvnodes=500000 in sysctl.conf.
Now when I upgraded to 7.2, I just blatantly ignored the addendum on the wiki about 7.2 having autotuning because I figured if it isn't broke, don't fix it. Here's when the trouble came in. I tried running iozone to get a good idea of the performance I'd see, and if I'd get a panic with a lot of disk activity.
I lost the original iozone commands I was using when the box kp'd but it was similar to this:
Code:
iozone -R -l 5 -u 5 -r 4M -s 256M
That will panic the box with the aforementioned settings or letting the box tune itself.
Something more conservative like:
Code:
iozone -R -l 5 -u 5 -r 4M -s 100M
Always completes successfully, as with a simple (took it off some site):
Code:
iozone -ec -t 1 -r 4M -s 100M -+n -i 0 -i 1
The panic is always something like this, with X being the number of bytes I allocated in loader.conf:
Code:
panic: kmem_malloc(131072): kmem_map too small: X total allocated
I'm basically wondering if I should bump up the kmem_sizes, or if I'm just missing another 'magical' setting somewhere. Also, I don't use GENERIC.
If it helps, in the end if I can overcome the panics, the file server I'd be installing on is an AMD Opteron 170, 4GB RAM, amd64 7.2, and something on the order of 12x500 GB drives and 4x250.