Rich's response got me to thinking - I had seen a reference back when I was building a similar server. after some creative googling, I found it:

http://www.coraid.com/support/linux/contrib/chernow/gpt.html

        the key note is at the bottom of the page:

"Without this on, strange things happen. For instance, rebooting the machine caused the file system to no longer be mountable or the GPT table got corrupted."

aha! exactly my problem! I rebooted the machine and watched the console carefully, and noted this:

* System.map not found unable to check symbols

        hmmmm. after some more googling, I found this discussion:

http://tinyurl.com/o57hm

so I found the solution to making this message go away to be to copy System.map to /., which is mounted when the message pops up during the boot process, whereas /boot and /usr are not. then we edit the block at the end of /sbin/modules-update to be:

if [ -d "`depdir`" -a -f /proc/modules ]
then
        if [ -f /System.map ]; then
                depmod -a -F /System.map ${KV}
        else
                ewarn "System.map not found - unable to check symbols"
        fi
fi

        and viola, the boot process is happy once more.

as an added bonus, this resolves the issue with the filesystem being usable after a reboot, and mounting at boot time. woohoo!

thanks to all that replied. it always helps to bounce ideas off others to get the juices flowing.

cheers,

- Jared


On Aug 24, 2006, at 12:18 PM, Jared Klett wrote:

hello Gentoo server folks,

I have a 2U server with a 3ware 9500-12MI controller. there are two 80 GB drives in RAID-1 which servers as the boot device, and ten 400 GB drives in RAID-5 which I want to have mounted as a single volume at /data.

if I start fresh and create the filesystem after the system has booted, and mount it, all is well. however, when I reboot the system, the filesystem won't be mounted and I'll get an error.

to start, I used GNU parted to partition the device, which is at / dev/sdb. here's a transcript of the session:

Using /dev/sdb
(parted) mklabel
New disk label type? gpt
(parted) print
Disk geometry for /dev/sdb: 0kB - 3600GB
Disk label type: gpt
Number Start End Size File system Name Flags
(parted) mkpart
Partition type?  [primary]?
File system type?  [ext2]? reiserfs
Start? 0.0
End? 3600G
(parted) print
Disk geometry for /dev/sdb: 0kB - 3600GB
Disk label type: gpt
Number Start End Size File system Name Flags
1       17kB    3600GB  3600GB
(parted) quit

        I then do a plain:

root ~ # mkreiserfs /dev/sdb1
mkreiserfs 3.6.19 (2003 www.namesys.com)
Guessing about desired format.. Kernel 2.6.17-gentoo-r4 is running.
Format 3.6 with standard journal
Count of blocks on the device: 878881520
Number of blocks consumed by mkreiserfs formatting process: 35033
Blocksize: 4096
Hash function used to sort names: "r5"
Journal Size 8193 blocks (first block 18)
Journal Max transaction length 1024
inode generation number: 0
UUID: 80864192-b2b1-4f20-ab16-a1242e5cfa1b
ATTENTION: YOU SHOULD REBOOT AFTER FDISK!
        ALL DATA WILL BE LOST ON '/dev/sdb1'!
Continue (y/n):y
Initializing journal - 0%....20%....40%....60%....80%....100%
Syncing..ok

root ~ # mount /dev/sdb1 /data
root ~ # df -h
[ ... snip ... ]
/dev/sdb1             3.3T   33M  3.3T   1% /data

        and all is well.

however, when I update /etc/fstab and reboot the machine, the kernel loads and mounts the reiserfs filesystems on the boot volume, but then I get:

reiserfs_open: the reiserfs superblock cannot be found /dev/sdb1.
Failed to open the filesystem.

        here's a screenshot of the console:

http://www.project55.net/noloveatboot.png

I hit Control-D and allow the system to finish booting. then I attempted this:

root ~ # mount /dev/sdb1 /data
mount: you must specify the filesystem type
root ~ # mount -t reiserfs /dev/sdb1 /data
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
       missing codepage or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so
root ~ # dmesg | tail
[ ... snip ...]
FAT: bogus number of reserved sectors
VFS: Can't find a valid FAT filesystem on dev sdb1.
ReiserFS: sdb1: warning: sh-2021: reiserfs_fill_super: can not find reiserfs on sdb1

this message makes me a bit suspicious. I've tried creating the reiserfs filesystem from inside parted using mkfs, but I just get this, in spite of having reiserfsprogs emerged before I emerged parted:

No Implementation: Support for creating reiserfs file systems is not implemented yet.

I'm running kernel version 2.6.17-gentoo-r4, with the following enabled:

Block layer  --->
 [*] Support for Large Block Devices
Partition Types  --->
 [*] Advanced partition selection
 ...
 [*] EFI GUID Partition support

just for complete information overload, here is the status of the RAID unit as reported by the 3ware controller:

Status: OK
Capacity: 3.27 TB
Type: RAID 5
Stripe: 256kB

        any insights would be most welcome!

cheers,

- Jared

--
Move 'sig'. For great justice.

--
[email protected] mailing list


--
It is very dark. You are likely to be eaten by a grue.

--
[email protected] mailing list

Reply via email to