Solaris : Corrupt label; wrong magic number errors

Posted on 2013-01-30
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

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 78

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

ID: 38836087
Is your ZFS pool mirrored?

zpool status
LVL 16

Accepted Solution

Joseph Gan earned 100 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."
Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.


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 78

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 78

Expert Comment

ID: 38838547

Assisted Solution

GeertJon earned 400 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

Containers and Docker for Everyone

Containers are an incredibly powerful technology that can provide you and/or your engineering team with huge productivity gains. Using containers, you can deploy, back up, replicate, and move apps and their dependencies quickly and easily.

Question has a verified solution.

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

If you have a server on collocation with the super-fast CPU, that doesn't mean that you get it running at full power. Here is a preamble. When doing inventory of Linux servers, that I'm administering, I've found that some of them are running on l…
I. Introduction There's an interesting discussion going on now in an Experts Exchange Group — Attachments with no extension ( This reminded me of questions tha…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

728 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