How to restore access to a whole-disk zpool when the partition table was destroyed

(Doc ID 1482393.1)

Last updated on JULY 29, 2016

Applies to:

Solaris Operating System - Version 10 10/08 U6 and later
Oracle Solaris on x86-64 (64-bit)

Goal

This document explains how to recover access to a whole-disk zpool on a x86 based Solaris system when the partition table was destroyed.

A whole-disk (c1t1d0) is listed in the example zstatus output below as a whole disk.  If there are slices listed in the zpool status output like c1t1d0s1, then this is not a whole-disk and the procedure outlined below does not apply.

If the zpool was exported, the zpool import command will not show the zpool any more.  This procedure can still be applied.  The same is true if /etc/zfs/zpool.cache was deleted and system was rebooted.

The procedure consists of creating a fixed disk partition table with one EFI partition. In this EFI partition we have to use EFI instead of SMI/VTOC.  Printing out the values for slice 0 show us the values for the start sector and for the last sector.  This value for the last sector must be used.  The start sector of the s0 slice has to be adjusted to the value which zpool create would have used.

After these steps the zpool can be used again (zpool clear or import).  It is good practice to run zpool scrub on the zpool to check the content now.

 

 

 

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms