Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

What I am trying to do is initialize two logical drives on a HP P400i embedded controller without a reboot of the system here my current Array config:

array A (SAS, Unused Space: 0 MB)

logicaldrive 1 (17.9 GB, RAID 5, OK)
logicaldrive 2 (17.9 GB, RAID 5, OK)
logicaldrive 3 (75.9 GB, RAID 5, OK)
logicaldrive 4 (25.0 GB, RAID 5, OK)

physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 72 GB, OK)
physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS, 72 GB, OK)
physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SAS, 72 GB, OK)

 array B (SAS, Unused Space: 0 MB) 

logicaldrive 5 (99 MB, RAID 0, OK)
logicaldrive 6 (68.2 GB, RAID 0, OK)

physicaldrive 1I:1:4 (port 1I:box 1:bay 4, SAS, 72 GB, OK)

windows 2003 machine running the HpCISs2.sys driver version 6.20.0.32 . I have the ACU and ACU CLI tools installed version 8.28.13.0, P400i firmware version 2.74 .

Now what I'd like to do is removes the physical drive 1I:1:4 and delete the two logical drives in array B. then insert a new drive in to bay 4 that contains two new logical drives and have them show up in array B again.

So far after I remove the drive and delete the failed logical drives, I insert the new drive and run HPacucli rescan. I get the new drive to show up as unassinged physical drive but I cant figure out now to "for lack of a better word" mount the 2 logical drives on the new unassinged disk.

If I reboot the system the array controller picks up the new fourth drive and creates Array B with the drives without problem but I'd really like to not have to reboot the server.

Any ideas?

share|improve this question
    
And what driver are you using, cciss or HPSA? Have you got LVM on this? –  Andrew Smith Jun 26 '12 at 20:26
    
I'm sorry, forgot to add that this is a windows 2003 machine running the HpCISs2.sys driver. I have the ACU and ACU CLI tools installed version 8.28.13.0 as for a LVM only the built in disk managment. –  John Jun 26 '12 at 20:46
add comment

2 Answers 2

up vote 3 down vote accepted

You are missing a step here. When you remove the old logical drives and the physical disk in slot 4, you have to do the following:

  • possibly remove Array B
  • insert a new disk
  • create a new Array B on the unassigned disk
  • create logical drives of the requisite size on the new Array B

This can all be done hot in Windows (and usually Linux). The new logical drives will appear upon refresh (F5) of the Disk Manager utility.

Now, you can do this via the hpacucli utility, but it makes much more sense to use the web-based GUI tool, cpqacuxe. You'll understand the steps a bit better there.

Also, I think the continued use of a single-drive RAID 0 array is a bad idea. You do have some interesting options like adding the 72GB disk to Array A and carving out more logical drives. That would help performance and resilience...


Edit: What you're looking to do is not possible without a reboot.

You essentially want to move an array from one server to another. This is possible, but there are rules governing the process. From the HP Smart Array Controllers User Guide:

- *The server is powered down*.
- The array does not have failed or missing drives.
- No spare drive in the array is acting as a replacement for a failed drive.
- The controller is not performing capacity expansion, capacity extension, or RAID or stripe size 
migration.
- The controller is using the latest firmware version.

And the steps to actually perform a move are:

  1. Back up all data before removing any drives or changing configuration. This step is required if you are moving data-containing drives from a controller that does not have a cache module.
  2. Power down the system.
  3. Move the drives.
  4. Power up the system.
  5. Observe the POST messages:
    • If a 1785 POST message appears, the drive array did not configure properly. Continue with step 6.
    • If a 1724 or 1727 POST message appears, drive positions were changed successfully and the configuration was updated. Continue with step 7.
  6. If the array did not configure properly, power down the system immediately to prevent data loss. Return the drives to their original locations. Restore the data from backup, if necessary.
  7. Verify the new drive configuration by running ORCA or ACU.

So a poweroff/reboot is an essential step in this process. You can't avoid it for what you're trying to do.

share|improve this answer
    
So you've loaded data onto a single RAID 0 disk in another server and are trying to move it into this server? –  ewwhite Jun 27 '12 at 4:19
    
Thank you, I was hoping there was another answer for windows. I knew Linux could do it with the cciss drivers. I'll just continue to script around until HP release a new HPSA driver for this controller –  John Jun 27 '12 at 4:55
    
There probably won't be an hpsa driver release for the P400 controller. The hpsa driver, as released for Linux, only supports the P410 controllers and above. In addition, this does not work for Linux either. Moving a drive array requires a reboot in all cases. What is your real goal? Why are you moving a disk with multiple logical drives around between systems? –  ewwhite Jun 27 '12 at 5:15
    
The data storage on array B is static, if a drive fails I'd like to just be able to replace it via hotswap. during the day and not have to schedule a reboot for later. just being as lazy as possible. –  John Jun 27 '12 at 14:52
    
Couldn't you just place the drive in Array B in a RAID 1 setup? –  ewwhite Jun 27 '12 at 15:16
show 1 more comment

On Windows, you can re-scan the drives in disk manager, reload the driver in device manager, and rescan the drive array as you say. Cant think about anything else you could do.

On Linux:

This this: http://www.cyberciti.biz/faq/rhel-centos-redhat-debian-rescan-hp-smart-array/ Check which driver are you using.

Rescan HP Smart Array

Type the following command:

echo "rescan" > /proc/driver/cciss/cciss0

To add an individual device with:

echo scsi add-single-device C B T L > /proc/scsi/scsi

Replace C B T L with actual values: Where,

C controller B bus T target L lun

For example to add a device on controller 3, bus 2, target 1, lun 0, enter:

echo "scsi add-single-device 3 2 1 0" > /proc/scsi/scsi
share|improve this answer
    
That's for Linux. The OP is asking for Windows. –  ewwhite Jun 26 '12 at 21:10
    
He commented before I edited the post to state that this was windows. Thank you Andrew you started me down the correct path for a solution. –  John Jun 26 '12 at 21:31
    
OK I added windows –  Andrew Smith Jun 26 '12 at 22:33
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.