kern/150501: ZFS vdev failure vdev.bad_label on amd64
William FRANCK
william.franck at oceasys.net
Sun Sep 12 13:10:02 UTC 2010
>Number: 150501
>Category: kern
>Synopsis: ZFS vdev failure vdev.bad_label on amd64
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Sep 12 13:10:02 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: William FRANCK
>Release: CURRENT 9.0 cvs 2010-09-12
>Organization:
>Environment:
FreeBSD serveur 9.0-CURRENT FreeBSD 9.0-CURRENT #0: Sun Sep 12 11:34:34 CEST 2010 root at serveur:/usr/obj/usr/src/sys/K9NSLI-AMD64 amd64
>Description:
ZFS unusable just after a zpool scrub command.
Symptoms :
zpool scrub command hangs.
no way to halt the system, still a PID running
no way to kill -9 zpool
Environment : AMD64 MSI K6N SLI motherboard.
# atacontrol list
==========
ATA channel 0:
Master: ad0 <ST340016A/3.10> ATA/ATAPI revision 5
Slave: ad1 <ST3120022A/3.06> ATA/ATAPI revision 6
ATA channel 2:
Master: ad4 <ST3750330AS/SD1A> SATA revision 1.x
ATA channel 4:
Master: ad8 <ST3750330AS/SD1A> SATA revision 1.x
# cat /boot/loader.conf
===========
zfs_load="YES" # ZFS
zpool_cache_type="/boot/zfs/zpool.cache"
vfs.zfs.zil_disable="1" # !! avoid conflict between ZFS and NFS risk of data consistency ??
vfs.zfs.prefetch_disable="1" #Prefetch is disabled by default if less than 4GB of RAM is present;
### specific amd64 with 2MB of RAM ###
vm.kmem_size="1024M"
vm.kmem_size_max="1024M"
vfs.zfs.arc_max="100M"
After creating the ZFS Pool :
# zpool status
pool: tank
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
label/sata4 ONLINE 0 0 0
label/sata8 ONLINE 0 0 0
errors: No known data errors
>How-To-Repeat:
with 2 same SATA disks : ad4 , ad8
with or without geom labeling,
with or without AHCI enabled (bios setting)
do the following :
# dd if=/dev/zero of=/dev/ad4 bs=1m count=1
# dd if=/dev/zero of=/dev/ad8 bs=1m count=1
optional :
# glabel label sata4 /dev/ad4
# glabel label sata8 /dev/ad8
# zpool create tank [mirror | raidz]? [ label/sata4 | ad4] [ label/sata8 | ad8]
# zpool status
result is correct.
# zpool scrub tank
No output.
# zpool scrub tank
... hangs ...
Output on console :
ZFS: vdev failure, zpool=tank type=vdev.bad_label
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list