# ZFS hang my server



## nisso (May 11, 2010)

Hi, 

The machine has the following specs:

Dell PowerEdge 1950 server 
cpu: Intel core2 1xQuad 1.6Mhz
ram: 4GB
2x250GB HDD on RAID1 via PERC5/i controller

some useful output as follows:

os: FreeBSD 8.0-RELEASE-p2


```
[root@caprica ~]# df
Filesystem       Size    Used   Avail Capacity  Mounted on
/dev/mfid0s1a    496M    117M    339M    26%    /
devfs            1.0K    1.0K      0B   100%    /dev
/dev/mfid0s1g     39G    2.7G     33G     7%    /bkroot
/dev/mfid0s1f    3.9G     14K    3.6G     0%    /tmp
/dev/mfid0s1d     39G    4.4G     31G    12%    /usr
/dev/mfid0s1e     39G    872M     35G     2%    /var
p1/jails         117G    1.8G    115G     2%    /zpool/jails
p1/public        121G    6.2G    115G     5%    /zpool/public
p1/test          115G      0B    115G     0%    /zpool/test
p1/ttt           129G     14G    115G    11%    /zpool/ttt
devfs            1.0K    1.0K      0B   100%    /var/named/dev
```


```
[root@caprica ~]# sysctl vm.vmtotal
vm.vmtotal: 
System wide totals computed every five seconds: (values in kilobytes)
===============================================
Processes:              (RUNQ: 1 Disk Wait: 0 Page Wait: 0 Sleep: 32)
Virtual Memory:         (Total: 4377360K, Active 127384K)
Real Memory:            (Total: 130800K Active 36576K)
Shared Virtual Memory:  (Total: 12432K Active: 6592K)
Shared Real Memory:     (Total: 7012K Active: 5040K)
Free Memory Pages:      3137508K
```


```
[root@caprica ~]# ./zmem.sh 
TEXT=12017732, 11.461 MB
DATA=74790912, 71.3262 MB
TOTAL=86808644, 82.7872 MB
```


```
[root@caprica ~]# cat /boot/loader.conf
kern.maxusers="512"
hint.acpi.0.disabled="1"
accf_http_load="YES"
zfs_load="YES"

vm.kmem_size_max="512M"
vm.kmem_size="512M"

vfs.zfs.arc_max="128M"
#vfs.zfs.vdev.cache.size="10M"
#vfs.zfs.prefetch_disable="1"
```
additional options in my custom kernel are:


```
options KVA_PAGES=512

options IPSTEALTH
options DEVICE_POLLING

options HZ=1000
options MAXDSIZ="(1380*1024*1024)"
options DFLDSIZ="(1380*1024*1024)"
options MAXSSIZ="(1024*1024*1024)"

device pf
device pflog
device pfsync

options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_CDNR
options ALTQ_PRIQ
options ALTQ_NOPCC
```


```
[root@caprica ~]# zpool history
History for 'p1':
2010-04-20.15:39:29 zpool create p1 /dev/mfid0s1h
2010-04-20.15:40:05 zfs set mountpoint=none p1
2010-04-20.16:27:39 zfs create p1/jails
2010-04-20.16:27:55 zfs set mountpoint=/zpool/jails p1/jails
2010-04-20.16:56:46 zfs create p1/ttt
2010-04-20.17:22:59 zfs set mountpoint=/zpool/ttt p1/ttt
2010-04-20.17:24:58 zfs create p1/public
2010-04-20.17:25:16 zfs set mountpoint=/zpool/public p1/public
2010-05-11.11:25:41 zfs create p1/test
2010-05-11.11:26:02 zfs set mountpoint=/zpool/test p1/test
```
So, before implementing zfs the /dev/mfid0s1h partition was created during installing server and was mounted as /backup. Last week i decide to try ZFS and unmount /backup, create zfs pool with appropriate mount points.... but after some file I/O activity - let's say something like: 

[cmd=]du -s /zpool[/cmd]
[cmd=]dump -Luan0 -f - /dev/mfid0s1a | bzip2 | dd of=/zpool/test/dump.bzip2[/cmd]
[cmd=]copy /usr/some2gbfile /zpool/ttt[/cmd]
[cmd=]copy /zpool/public/somebigfile.iso /var[/cmd]

server hangs and i should restart manually from the power button. The last message seen on console is: 


```
panic: vm_fault: fault on nofault entry, addrr: 814af000
cpid: 1
```

If i do not "touch" zpool fs, everything is ok - server is running well (actually there is nothing to load the server - only sshd demon). I've changed every var with different values in loader.conf with no luck. One thing is strange, but maybe is not related to zfs: when compile kernel with options KVA_PAGES=512, restart, and then:


```
[root@caprica ~]# pkgdb -Fu 
Cannot create main thread
[root@caprica ~]# portsdb -u 
Cannot create main thread
[root@caprica ~]#
```
This message appears from ruby db(as I know used by portupgrade). Without KVA_PAGES in kernel, everything is well.

what i'm asking is where and what i miss or have to tweak... or have to read more carefully 

Thanks in advance!


----------



## DutchDaemon (May 11, 2010)

Posting and Editing in the FreeBSD Forums


----------



## danger@ (May 11, 2010)

well you should start at least stable/8 before reporting problems with ZFS as there are plenty of fixes for various bugs which are not part of 8.0-release; head has even more of these fixes, mm@ is currently pushing quiet a lot of changes from opensolaris to our source.


----------



## nisso (May 13, 2010)

@danger@ - well, server already as you demand:

```
[root@caprica /var/log]# uname -rs 
FreeBSD 8.0-STABLE
```

and there is no difference, except that server uptime record now was 15 min without panic.The server crashes while tar is in the process of local archiving from ufs to zfs or when doing a cp.The panic now is something like this, with X and Y being the number of bytes:


```
panic: kmem_malloc(X): kmem_map too small: Y total allocated
```


----------

