I have a server with 4 SATA hot-swappable drives and a 3Ware 9650SE-4LPML hardware RAID controller.

The server runs Ubuntu 10.04.3 LTS and I use tw_cli to control the RAID array.

So, a disk died and after a reboot the controller had kicked it out of the array:

# tw_cli /c0 show    

Unit  UnitType  Status         %RCmpl  %V/I/M  Stripe  Size(GB)  Cache  AVrfy
u0    RAID-5    DEGRADED       -       -       64K     5587.9    RiW    ON     

VPort Status         Unit Size      Type  Phy Encl-Slot    Model
p0    OK             u0   1.82 TB   SATA  0   -            ST2000DL003-9VT166  
p1    OK             u0   1.82 TB   SATA  1   -            ST2000DL003-9VT166  
p3    OK             u0   1.82 TB   SATA  3   -            ST2000DL003-9VT166  

A replacement disk is arriving today.

My question is, can the system administrator just replace the drive or do I need to run some commands first to tell the array I'm changing the drive over.

Also, what commands should I run afterwards for it to see the drive needs to be re-added? The man page for tw_cli says the following:

   /cx rescan [noscan]
   This command instructs the controller to rescan all ports and reconstitute all units. The controller will
   update its list of ports (attached disks), and visits every DCB (Disk Configuration Block) in order to re-
   assemble its view and awareness of logical units.  Any newly found unit(s) or drive(s) will be listed.
   noscan is used to not inform the OS of the unit discovery. Default is to inform the OS.

Does that sound like what I should do?

Thanks in advance.


Since the controller has already evicted the drive, it is no longer part of the physical array.

This means you can safely swap it out for a new one.

You should run /c0 rescan after plugging in the new drive, followed by /c0 show; you should see the new drive mentioned as a Spare.

Then you can give the command to rebuild (this will happen automatically with the default configuration settings)

  • Thanks for this. In fact it added the drive and started building automatically. – Darren Greaves Feb 23 '12 at 12:40

You have to use /cx rescan and then controller will see one "free" disk, which you have to add to the u0 array. Controller will not add new disk directly to the array, because this disk have not a DCB. When you add this drive to the array, controller will make for this drive new DCB record and from this time will be disk a part of array.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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