I am not very savvy with Solaris but am responsible for a server running Solaris 10 that has a failed hard drive in a mirrored pool. I ordered a new drive and attempted to install but received the error "device too small" when using zpool replace. The drive is the same Seagate model number as the old one and has the same nominal capacity of 300GB. Here's what prtvtoc says about the disks. Note that c1t0d0s2 is the new drive.
From what I read, I understand that a mirrored pool cannot shrink. So since I'm not really familiar with all of this, I ask why cant I just create a new pool? Can this be done without loosing the data on c1t1d0s2?
When it says "drive too small" it almost certainly means just that.
Drive manufacturers have a habit of using the same part number/model number for slightly different size drives to give their product line some resemblance of continuity.
If you can, put both drives on a desk and, hopefully, both disk drives will have a LBA (logical block capacity) on their labels. These are big numbers but compare them. Chances are that the number of LBA's on the new drive is less than the number of LBA's on the old drive. Solaris won't like that since when the old drive was configured Solaris used the full available capacity.
You need a drive with the same or greater number of LBAs which will be the number that Solaris is interested in. The new drive can be the same number of LBAs as the old drive or any number greater but NOT a single LBA smaller.
The OP provided the output from prtvtoc for both the new disk and an existing disk in their initial post. If you carefully examine the new disk geometry you will see that it is totally different from that of the existing disk.
Lesson learned: not all 300gb hard drives are created equal.
And FWIW - this type of mistake is one of the reasons enterprise-level hardware support exists. How much did this "Ooops!" cost the OP's employer? I doubt the "too small" drive came via Oracle, HP, or IBM support.
I wouldn't say totally different. The CHS geometry is essentially irrelevant with modern disks. What really matters are the disk sizes and the difference is about 0,01% (24 MB vs 300 GB).
May be the OS is too old / unpatched. Since a 2010 update, ZFS is able to adjust most of such cases.
iostat -En
c1t0d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
Vendor: SEAGATE Product: ST9300605SS Revision: 0002 Serial No:
Size: 300.00GB <300000000000 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 0 Predictive Failure Analysis: 0
c1t1d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
Vendor: SEAGATE Product: ST930005SSUN300G Revision: 0606 Serial No: 1202Q1BSKD
Size: 300.00GB <300000000000 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 0 Predictive Failure Analysis: 0
c0t0d0 Soft Errors: 1 Hard Errors: 0 Transport Errors: 0
Vendor: TEAC Product: DV-W28SS-V Revision: 1.0B Serial No:
Size: 0.00GB <0 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 1 Predictive Failure Analysis: 0
Yes, it is SPARC.
$183 so far
Solaris 10 implemented around summer of 2012
I have been advised by my Technical Assistance Center to buy a drive that has the same Sun/Oracle part number rather than the actual drive manufacturer's part number, like I thought I had done. The iostat output tells me that they are different though. They claim that despite the manufacturer, Seagate, Haitachi, etc, if the Sun part numner is the same then it will have the same geometry. Does this sound right?
Hmmmm, no LBA value on the disk labels, that is unusual.
However, you can see from your prtvtoc's in post#1 that your new disk is smaller than the old one.
Partition 2 (which on Sun describes the whole disk) sector count says:
old 585912500
new 585865020
Some new filesystems will reserve some space (eg, 100MB) on the drives to manage such a situation but if your filesystem has used the full capacity then there's no alternative but to get one with the same, or more, sectors (LBA's).
The disks have actually the same size, reported as exactly 300000000000 bytes. The s2 partition (or slice) is not really the whole disk but the accessible part of it.
The difference is due to the way the disks firmware defines their geometry.
Two cylinders are reserved by Solaris on each disk and the fact the cylinder size differs make the available space slighty smaller on one of the disks.
If you are adventurous, you might try twiddling with the format command to try setting the disk type of the new disk to the same one as the older one.