[OpenIndiana-discuss] How does this even work?
Jim Klimov
jimklimov at cos.ru
Mon Feb 20 03:35:27 UTC 2017
20 февраля 2017 г. 2:48:14 CET, Cryptographrix <cryptographrix at gmail.com> пишет:
>root at nas:/etc# uname -a
>
>SunOS nas 5.11 oi_151a8 i86pc i386 i86pc Solaris
>
>
>root at nas:/etc# export OLD_DISK=c16t50014EE258D78C8Bd0
>
>
>root at nas:/etc# export NEW_DISK=c16t5000C500939587DBd0
>
>
>root at nas:/etc# prtvtoc /dev/rdsk/${OLD_DISK}
>
>* /dev/rdsk/c16t50014EE258D78C8Bd0 partition map
>
>*
>
>* Dimensions:
>
>* 512 bytes/sector
>
>* 3907029168 sectors
>
>* 3907029101 accessible sectors
>
>*
>
>* Flags:
>
>* 1: unmountable
>
>* 10: read-only
>
>*
>
>* Unallocated space:
>
>* First Sector Last
>
>* Sector Count Sector
>
>* 34 222 255
>
>*
>
>* First Sector Last
>
>* Partition Tag Flags Sector Count Sector Mount Directory
>
> 0 4 00 256 3907012495 3907012750
>
> 8 11 00 3907012751 16384 3907029134
>
>
>root at nas:/etc# iostat -E ${OLD_DISK}
>
>sd37 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
>
>Vendor: ATA Product: WDC WD2002FYPS-0 Revision: 5G04 Serial No:
>WD-WCAVYNNNNNNN
>
>Size: 2000.40GB <2000398934016 bytes>
>
>Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
>
>Illegal Request: 0 Predictive Failure Analysis: 0
>
>
>root at nas:/etc# echo "p" | parted /dev/rdsk/${OLD_DISK}
>
>GNU Parted 1.8.8
>
>Using /dev/rdsk/c16t50014EE258D78C8Bd0
>
>Welcome to GNU Parted! Type 'help' to view a list of commands.
>
>(parted) p
>
>Model: Generic Ide (ide)
>
>Disk /dev/rdsk/c16t50014EE258D78C8Bd0: 2000GB
>
>Sector size (logical/physical): 512B/512B
>
>Partition Table: gpt
>
>
>Number Start End Size File system Name Flags
>
> 1 131kB 2000GB 2000GB zfs
>
> 9 2000GB 2000GB 8389kB
>
>
>(parted)
>
>root at nas:/etc# prtvtoc /dev/rdsk/${NEW_DISK}
>
>* /dev/rdsk/c16t5000C500939587DBd0 partition map
>
>*
>
>* Dimensions:
>
>* 512 bytes/sector
>
>* 3907029168 sectors
>
>* 3907029101 accessible sectors
>
>*
>
>* Flags:
>
>* 1: unmountable
>
>* 10: read-only
>
>*
>
>* Unallocated space:
>
>* First Sector Last
>
>* Sector Count Sector
>
>* 34 222 255
>
>*
>
>* First Sector Last
>
>* Partition Tag Flags Sector Count Sector Mount Directory
>
> 0 4 00 256 3907012495 3907012750
>
> 8 11 00 3907012751 16384 3907029134
>
>
>root at nas:/etc# iostat -E ${NEW_DISK}
>
>sd52 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
>
>Vendor: ATA Product: ST2000DM006-2DM1 Revision: CC26 Serial No:
>NNNNNNNN
>
>Size: 2000.40GB <2000398934016 bytes>
>
>Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
>
>Illegal Request: 0 Predictive Failure Analysis: 0
>
>
>root at nas:/etc# echo "p" | parted /dev/rdsk/${NEW_DISK}
>
>GNU Parted 1.8.8
>
>Using /dev/rdsk/c16t5000C500939587DBd0
>
>Welcome to GNU Parted! Type 'help' to view a list of commands.
>
>(parted) p
>
>Model: Generic Ide (ide)
>
>Disk /dev/rdsk/c16t5000C500939587DBd0: 2000GB
>
>Sector size (logical/physical): 512B/512B
>
>Partition Table: gpt
>
>
>Number Start End Size File system Name Flags
>
> 1 131kB 2000GB 2000GB zfs
>
> 9 2000GB 2000GB 8389kB
>
>
>(parted)
>
>
>root at nas:/etc# zpool replace --help
>
>invalid option '-'
>
>usage:
>
> replace [-f] <pool> <device> [new-device]
>
>
>
>root at nas:/etc# zpool replace -f rspool ${OLD_DISK} ${NEW_DISK}
>
>cannot replace c16t50014EE258D78C8Bd0 with c16t5000C500939587DBd0:
>devices
>have different sector alignment
>_______________________________________________
>openindiana-discuss mailing list
>openindiana-discuss at openindiana.org
>https://openindiana.org/mailman/listinfo/openindiana-discuss
Googling for your disk models reveals that WD one has 512b native sectors, while the Seagate is 4k native and 512e emulated. Probably the defaults for sd.conf or some lower-level sd (scsi) magic exposes this, so zfs refuses to take it as a replacement. Possibly you can override via sd.conf to make-believe Segate can do 512byte sectors, at expense of RMW done behind curtains and slowing down small random writes.
Jim
--
Typos courtesy of K-9 Mail on my Samsung Android
More information about the openindiana-discuss
mailing list