Documents Incorrectly State Cylinder/Head/Sector Configuration for Sun StorEdge 3310 and 3510 Arrays - May Render Filesystems Unrecoverable |
|
| Category : | Data Loss |
| Release Phase : | Resolved |
| Product : | Sun StorageTek 3310 SCSI Array Sun StorageTek 3510 FC Array
|
| Bug Id : | 6176083
|
| Date of Workaround Release : | 17-DEC-2004
|
| Date of Resolved Release : | 20-SEP-2005
|
Impact
Incorrectly changing the setting for cylinder/head/sectors on Sun StorEdge 3310 and 3510 arrays (as described in the Sun StorEdge documentation listed below) with existing filesystems may render those filesystems unrecoverable should fsck(1M) be utilized.
Contributing Factors
This issue is described in the following documents:
- Sun StorEdge 3000 Family Installation, Operation, and Service Manual for the Sun StorEdge 3310 SCSI Array (# 816-7290-15 )
- Sun StorEdge 3000 Family RAID Firmware 3.25 and 3.27 User's Guide, Sun StorEdge 3310 SCSI Array and Sun StorEdge 3510 FC Array (# 817-3711-10)
- Sun StorEdge 3000 Family Installation,Operation, and Service Manual for the Sun StorEdge 3510 FC Array (# 816-7300-15)
The previous releases of the manuals listed above incorrectly state that the cylinder/head/sector reporting of "<variable>/255/<variable>" should be used. These settings contradict the product installation checklist and can have adverse effects.
Examples:
- A configuration is specified with certain cylinder/head/sector variables, and newfs(1M) or mkfs(1M) is successfully run. Following this, changing the c/h/s settings to match those listed incorrectly in the Service Manual as "<variable>/255/<variable>" will cause this issue to occur.
- If a configuration is specified first as "<variable>/255/<variable>" (as listed incorrectly), then this issue will occur and the first attempt at running newfs(1M) or mkfs(1M) on the LUN will fail.
Either of the above examples may render the filesystem unrecoverable in the event an alternate superblock is needed. The manuals should instead state the following as the recommended setting:
cylinders = <65536
heads = 64
sectors = variable
The original (incorrect) document set is available at http://docs.sun.com/source/817-3711-10.
Symptoms
In the event that an alternate superblock needs to be found/used, the filesystem may be rendered unrecoverable (the alternate superblock can only be found if the "newfs -N" routine can work on the LUN). When attempting fsck(1M) or newfs(1M), this unrecoverable filesystem condition will return messages similar to the following :
# fsck /dev/md/oracle-set/rdsk/d104
/dev/md/oracle-set/rdsk/d104
BAD SUPER BLOCK: MAGIC NUMBER WRONG
USE AN ALTERNATE SUPER-BLOCK TO SUPPLY NEEDED INFORMATION;
eg. fsck [-F ufs] -o b=# [special ...]
where # is the alternate super block. SEE fsck_ufs(1M).
# newfs -Nv /dev/md/oracle-set/dsk/d104
mkfs -F ufs -o N /dev/md/oracle-set/rdsk/d104 285570930 127 255 8192
1024 251 1 90 8192 t 0 -1 8 16
Minimum bytes per inode is 11992
With 32385 sectors per cylinder, minimum cylinders per group is 16
This requires the fragment size to be changed from 1024 to 8192
Please re-run mkfs with corrected parameters
Workaround
To work around the described issue, set "cylinders = <65536" on the array for host systems with a 16-bit SCSI cylinder addressing limitation. (Please also see Sun Alert 57679 at http://sunsolve.central.sun.com/search/document.do?assetkey=1-26-57679.)
Resolution
This issue is addressed in the following document releases:
- Sun StorEdge product documentation for Sun StorEdge 3310 and 3510 arrays (for 3.2x and 4.1x Firmware)
This updated document set with correct settings can be found at http://www.sun.com/products-n-solutions/hardware/docs/Network_Storage_Solutions/Workgroup/3310/index.html.
Modification HistoryDate: 20-SEP-2005
20-Sep-2005:
- Update Resolution section, re-release as Resolved.
AttachmentsThis solution has no attachment