Koozali.org: home of the SME Server

Added new (larger) HDD - Raid synced but can't boot from the new drive

Offline phil_elvey

  • *
  • 8
  • +0/-0
Hi,

I manage a SME 7.5 server.  It had two 250gb HDDs synced OK with RAID.  One of the drives (sda) failed and so we decided to get 2 new 500gb drives to upgrade with.

I installed the first 500gb drive (as /dev/sda), went into array manager, and added it to the array which then went and sync'd it successfully.

However, when I removed the 250gb drive, the machine wouldn't boot from the 500gb that had just been synced.  It just hangs at the point that the grub menu should kick in.  I have checked the bios is trying to boot the 500gb correctly.

I re-installed the 250gb again, booted up, and verified that the array is showing full health/sync.  The output of cat /proc/mdstat:
Code: [Select]
Personalities : [raid1]
md2 : active raid1 sda2[0] sdb2[1]
      244091520 blocks [2/2] [UU]
     
md1 : active raid1 sda1[0] sdb1[1]
      104320 blocks [2/2] [UU]
     
unused devices: <none>

The output of fdisk -l
Code: [Select]
Disk /dev/sda: 500.1 GB, 500106780160 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104384+  fd  Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sda2              13       60801   488279647   fd  Linux raid autodetect

Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1          13      104391   fd  Linux raid autodetect
/dev/sdb2              14       30401   244091610   fd  Linux raid autodetect

Disk /dev/md1: 106 MB, 106823680 bytes
2 heads, 4 sectors/track, 26080 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md1 doesn't contain a valid partition table

Disk /dev/md2: 249.9 GB, 249949716480 bytes
2 heads, 4 sectors/track, 61022880 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md2 doesn't contain a valid partition table

Disk /dev/dm-0: 247.9 GB, 247900143616 bytes
2 heads, 4 sectors/track, 60522496 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/dm-0 doesn't contain a valid partition table

Disk /dev/dm-1: 2013 MB, 2013265920 bytes
2 heads, 4 sectors/track, 491520 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/dm-1 doesn't contain a valid partition table

I'm particularly concerned about the message near the top that says under sda1: "Partition does not end on cylinder boundary"

Does anyone know what this means?  I suspect it may be the cause

Any help would be appreciated

Thanks





Offline phil_elvey

  • *
  • 8
  • +0/-0
Sorry, missed out extra few things I tried.

Thinking that maybe the MBR didn't get synced, I booted from a live CD and tried copying the MBR from the 250gb HDD to the 500gb one.

What happened after that if I tried to boot from the 500gb one it then "GRUB" was literally printed across the screen - it actually filled up the whole screen with repetitions of "GRUB"

When I then re-booted from the 250gb drive, the array manager thought the 500gb hadn't been sync'd so I synced it again.

Offline CharlieBrady

  • *
  • 6,918
  • +3/-0
I manage a SME 7.5 server.  It had two 250gb HDDs synced OK with RAID.  One of the drives (sda) failed and so we decided to get 2 new 500gb drives to upgrade with.

I installed the first 500gb drive (as /dev/sda), went into array manager, and added it to the array which then went and sync'd it successfully.

However, when I removed the 250gb drive, the machine wouldn't boot from the 500gb that had just been synced.  It just hangs at the point that the grub menu should kick in.

Please follow this fine advice:

Don't report problems here
- Please report bugs and potential bugs in the bug tracker

Offline phil_elvey

  • *
  • 8
  • +0/-0
Ok will do,

Sorry I wasn't sure if it was a bug or something I was doing wrong

Still, if anyone has had any experience of this issue I would be interested to know if/how they resolved it.  Thanks

Offline Stefano

  • *
  • 10,894
  • +3/-0
Ok will do,

please report here the bug reference fot future readers, thank you


Offline phil_elvey

  • *
  • 8
  • +0/-0
Ok I was able to get it going.  Here's the steps I did (not sure which one made the difference):

So I had two 500gb drives - drive 1 I had already attempted to sync, drive 2 was still brand new

I connected the single old 250gb HDD as sda on its own and booted up.
I then shutdown, connected the new drive 2 (still untouched) as sdb and booted
Went in to array manager and started the sync of the drive
The drive sync'd successfully
I then did a full reboot with those 2 drives in place (1 original, 1 new)
I then shutdown again, disconnected the original drive, and connected the new drive I'd just sync'd as sda (in place of original)
I booted again with just the one new drive in place, and it booted OK.
I shutdown, and connected the other 500gb drive (the one I had played with already) as sdb
I booted into a live-boot cd, and erased the MBR from sdb, just to be sure
I then booted into SME OK, and was able to add sdb to the array, and sync successfully.
I then did a reboot with both drives in place, and checked RAID health was OK. 
I then shutdown, and disconnected sda, and tested booting from just from sdb (the last sync'd disk) and it booted OK.
I then finally, reconnected both drives and booted OK.  For some reason sdb2 was removed from the array, but I added it back in and sync'd all OK.

So the only thing that I can see that is significantly different from the first attempt is:

1. In the first attempt I added the 1st new drive as sda, while the original drive was left in sdb.  In the 2nd attempt I did it the other way around
2. In the 2nd attempt, I did a full reboot after each sync, and before adding/changing more drives

Hope that helps someone else

Cheers
Phil