I am running a Postgres database on a Fedora Core 10 machine (spec below). I formatted the Drobo using the ext3 filesystem (using the 2Tb LUN size). Postgres does not reside on the Drobo, but I have created tablespaces on the device. Postgres only reads/writes files from/ to physical storage and checks the header information of such files upon access. I initialized a new database (which is a copy of a database layout I’ve been using flawlessly on an internal drive for about a year – less the data) and started to insert new information to the tables stored on the Drobo. After ~800 Mb of data written, the INSERT statements start to error out with a message:
ERROR: invalid page header in block XXX of relation "YYY"
This means the table headers (stored in flat files) have been overwritten and corrupted! Is this by design of the Drobo, or due to the new firmware issues? I have lost all data on most of the tables stored on the Drobo and must reinitialize the database.
The following shows a snippet of the output of
drobom info run immediately after the corruption was noted (notice the ‘green’ status of the drives themselves):
query slotinfo result: number of slots: 4 [(0, 0, 0, 'gray', '', ''), (1, 2000398934016, 0, 'green', 'WDC WD20EADS-00R6B0', 'WDC WD20EADS-00R'), (2, 2000398934016, 0, 'green', 'WDC WD20EADS-00R6B0', 'WDC WD20EADS-00R'), (3, 2000398934016, 0, 'green', 'WDC WD20EADS-00R6B0', 'WDC WD20EADS-00R')] query firmware result: (1, 252, 21110, 14, 6, 'Aug 31 2009,18:12:03', 'ArmMarvell', '1.3.5', ['NO_AUTO_REBOOT', 'NO_FAT32_FORMAT', 'USED_CAPACITY_FROM_HOST', 'DISKPACKSTATUS', 'ENCRYPT_NOHEADER', 'CMD_STATUS_QUERIABLE', 'VARIABLE_LUN_SIZE_1_16', 'PARTITION_LUN_GPT_MBR', 'FAT32_FORMAT_VOLNAME', 'SUPPORTS_DROBOSHARE', 'SUPPORTS_NEW_LUNINFO2', 'feature x0800', 'feature x2000 ']) drobo says firmware revision: 1 . 252 ( 21110 ) was built: Aug 31 2009,18:12:03 query status result: (, 0)
Linux 18.104.22.168-170.2.78.fc10.x86_64 #1 SMP Fri Jul 31 04:16:20 EDT 2009 x86_64 GNU/Linux