Solaris : Corrupt label; wrong magic number errors

Posted on 2013-01-30
Medium Priority
Last Modified: 2013-02-07
Hi experts,

I have  a sun server with solaris 10 configured with ZFS.

One of the disks has Wrong magic number error.

The server is a production server with critical datas. I saw this procedure on oracle website but I don't know if there is a risk of data loss http://docs.oracle.com/cd/E19455-01/806-1075/msgs-1187/index.html

please help!

Log errors
Jan 18 02:00:03 sd1b scsi: [ID 107833 kern.warning] WARNING:
/pci@0/pci@0/pci@2/scsi@0/sd@6,0 (sd8):
Jan 18 02:00:03 sd1b Corrupt label; wrong magic number
Question by:cismoney
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 79

Expert Comment

ID: 38836012
Is this a replacement non SUN labeled drive or one that went bad??

The situation will dictate.
I.e. use format and partition to print the partition table
LVL 11

Expert Comment

by:Chris Sandrini
ID: 38836087
Is your ZFS pool mirrored?

zpool status
LVL 16

Accepted Solution

Joseph Gan earned 400 total points
ID: 38837662
Follow this link from Oracle website should work:

Because took me while to find following info online:

"Now with ZFS if you don't specify a slice, you're essentially asking  
ZFS to use and autolabel the entire disk which will put an EFI style  
label on since the older sun style VTOC labels have an upper limit of  
1TB per disk (EFI should work up to 2^64 LBAs.)  The older sun VTOC  
labels typically use slice 2 as a backup to show the entire disk and  
will store the label in the first 512B, whereas the EFI labels will  
use 34 sectors at the start of the disk to store the label, and will  
also reserve a portion at the tail end of the disk for a backup label.

With the older sun style VTOC labels, if you ever overwrite the first  
the first 512B on cylinder 0 of the disk (eg: dd if=/dev/zero of=/dev/
rdsk/c1t1d0s2 where s2 is the typical backup label starting at  
cylinder 0) you'll overwrite the label, whereas with the EFI label  
you have to overwrite both protected sections of the disk."
Learn how to optimize MySQL for your business need

With the increasing importance of apps & networks in both business & personal interconnections, perfor. has become one of the key metrics of successful communication. This ebook is a hands-on business-case-driven guide to understanding MySQL query parameter tuning & database perf


Author Comment

ID: 38837678
@un1x86 , yes the ZFS Pool is mirrored but the 2 disks with corrupt label don't appear in the zpool status, i am not sure if there are data in these disk, don't really know how to check.

@Arnold , no its not a replacement drive. It seems that the drive went bad.

If there are data on these disks, do you think relabel the disk can erase data???

bash-3.00# zpool status -v rpool
 pool: rpool
 state: ONLINE
 scrub: scrub completed after 0h31m with 0 errors on Wed Jan 30 20:23:38 2013

        NAME          STATE     READ WRITE CKSUM
        rpool         ONLINE       0     0     0
          mirror-0    ONLINE       0     0     0
            c1t0d0s0  ONLINE       0     0     0
            c1t1d0s0  ONLINE       0     0     0
          c1t3d0s0    AVAIL   
          c1t2d0s0    AVAIL   

errors: No known data errors

Open in new window

bash-3.00# format
bash-3.00# format 
Searching for disks...done

c1t6d0: configured with capacity of 136.71GB
c1t7d0: configured with capacity of 136.71GB

       0. c1t0d0 <SUN146G cyl 14087 alt 2 hd 24 sec 848>
       1. c1t1d0 <SUN146G cyl 14087 alt 2 hd 24 sec 848>
       2. c1t2d0 <SUN146G cyl 14087 alt 2 hd 24 sec 848>
       3. c1t3d0 <SUN146G cyl 14087 alt 2 hd 24 sec 848>
       4. c1t4d0 <SUN146G cyl 14087 alt 2 hd 24 sec 848>
       5. c1t5d0 <SUN146G cyl 14087 alt 2 hd 24 sec 848>
       6. [b]c1t6d0 [/b]<SUN146G cyl 14087 alt 2 hd 24 sec 848>
       7. [b]c1t7d0[/b] <SUN146G cyl 14087 alt 2 hd 24 sec 848>
Specify disk (enter its number): 7
selecting c1t7d0
[disk formatted]
[b]Disk not labeled.  Label it now?[/b] 

Open in new window

bash-3.00# prtvtoc /dev/dsk/c1t7d0s2
Jan 30 20:52:04 sd1b scsi: WARNING: /pci@0/pci@0/pci@2/scsi@0/sd@7,0 (sd0):
prtvtoc: /dev/rdsk/c1t7d0s2: Unable to read Disk geometry errno = 0x16
Jan 30 20:52:04 sd1b   Corrupt label; wrong magic number

bash-3.00# prtvtoc /dev/dsk/c1t6d0s2
Jan 30 20:55:03 sd1b scsi: WARNING: /pci@0/pci@0/pci@2/scsi@0/sd@7,0 (sd0):
prtvtoc: /dev/rdsk/c1t7d0s2: Unable to read Disk geometry errno = 0x16
Jan 30 20:55:03 sd1b   Corrupt label; wrong magic number
LVL 79

Expert Comment

ID: 38837725
You enable/query smart status on the drive.
Do not specify the slice
prtvtoc /dev/dsk/c1t6d0

Do not label or try until you confirm that it is not used anywhere. At this point it is not reflected as mounted.
You may want to explore whether you want to clone it using dd though it is a 146GB in size.

Author Comment

ID: 38838462
@arnold , how do I enable/query smart status on the drive. Do I only need to type prtvtoc /dev/dsk/c1t6d0 or there are additional commands to enable the smart status.

How can I confirm that the disk is not used... I am not familiar with zfs
LVL 79

Expert Comment

ID: 38838547

Assisted Solution

GeertJon earned 1600 total points
ID: 38857174
a corrupt label is not about ZFS, it might be UFS as well : The disks c1t6d0 and  c1t7d0 have never been labeled before using format => so it's not used. that's it. wanna learn something more ? read on.

a starter how can I tell it's not used
look for the disk in ZFS/zpool
zpool status will show details of all zpools created.
zpool status -v rpool
will only show the disks in the rpool.
zpool status |grep c1t6d0
or leave the pipe grep out to see all devices
It might be used by UFS in some kind of mirror...
how to identify ...
metastat -c |grep c1t6d0
or leave the pipe grep out to see all meta devices
BUT it might be used directly in /etc/vfstab
grep C1t6d0 /etc/vfstab
as mentionned before, I'm pretty sure it's not the case.

now we are going to change something to your system !!

use :
format c1t6d0
give it a name, max 8 character, enclosed with " (double quote) , confirm, ...
Exit at the end should do it.
In the action it will label the disk and it will be more than enough in most cases, you shouldn't have the error anymore.

want some details :

hope this helps

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Using libpcap/Jpcap to capture and send packets on Solaris version (10/11) Library used: 1.      Libpcap (http://www.tcpdump.org) Version 1.2 2.      Jpcap(http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/index.html) Version 0.6 Prerequisite: 1.      GCC …
Google Drive is extremely cheap offsite storage, and it's even possible to get extra storage for free for two years.  You can use the free account 15GB, and if you have an Android device..when you install Google Drive for the first time it will give…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial
Suggested Courses
Course of the Month8 days, 18 hours left to enroll

764 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question