General :: Create RAID1 Array With Given/fix HD Labels?
Aug 19, 2010
I have two HDs (let's say sda and sdb). Both are the same size and have the same partitions already (sda1/sda2/sda3 and sdb1/sdb2/sdb3). Basically they are ready to make a RAID1 array.
Writing with new udev rules, I could create and give fix HD labels with /sbin/scsi_id.
Example: For sdb1 I have a fix device name created under /dev as hd2_boot1, for sdb2 I have /dev/hd2_boot2 and finally for sdb3 I have created the device /dev/hd2_boot3.
With using the command "mdadm --create /dev/md0 --level=1 ....", I could create a RAID array.
But, when I check the status one of the RAID devices, like with the command "mdadm --detail /dev/md2", it still shows me as part of the RAID array the sdb* devices, not the hd2_boot* devices. Something like this:
I would like to see basically as member or the RAID array always the /dev/hd2_boot3 not the /dev/sdb3 (like above), is this possible?
Bottom line, I would like to keep the order of the RAID arrays depending their scsi ids, not depending their scsi numberings which is given by the kernel, since the scsi numberings (sda, sdb, sdc and etc.) can change depending the physical connection.
I'm not entirely a newbie, but this seems like such a simple question I'm not sure where else to ask it. I checked through the various HOWTOs and searched already and didn't find a clear answer, and I want to know for sure before we start investing in hardware. Is is possible to create a RAID1 (mirroring only) array with 3 live drives, rather than with 2 live plus a spare? Our goal is to have 3 drives in a hot-swap bay, and be able to pull and replace one drive periodically as a full backup. If I do:
I'm looking to recover a RAID1 array hopefully using mdadm. Ive not really used Linux much befor but I'm keen to learn to get my data back. Basically one of the disks in my Maxtor Shared Storage II (2x500GB sata) died and I could do with either rebuilding the array or getting the data off another way.
I have a spare machine I could use for recovery process. It has a spare drive but its only 120Gig, I also have a bigger 320gig disk but thats IDE not SATA. Do I need to purchase another 500GB sata drive or can I use either of my spares? If i do need to buy a new drive could I use a 1TB or 1.5TB or will it have to be 500? Next question is what is that best version of linux to use, I have knoppix 6.2 and Ubuntu (not sure on version) already. I noticed that mdadm isn't installed by default on Ubuntu.
I have just upgraded to Fedora 14 from an older version. I now have problems mounting my RAID1 array, which was operating correctly until now. This is a software RAID which was initially built under Fedora 10.The array is md0, and is made of 2 SATA drives (sdc and sdd) which have only one partition. The underlying filesystem is NTFS. The array is assembled correctly and active, as reported by /proc/mdstat and mdadm -D.When I try to mount the array, I get this:
Code: [root@Goofy ~]# mount /dev/md0 /mnt/raid mount: you must specify the filesystem type
I did a search and couldn't find anything pertaining to this - if I've missed something please direct me in the right direction We have an Ubuntu box set up as a headless office server (latest desktop install of Ubuntu) and we recently set up two 1TB HDDs in a RAID1 array using mdadm - as far as I can tell it worked successfully and created /dev/md0 with an ext3 file system. After sharing the drive I can see it from the other office computers and could transfer data to and from the RAID array just fine.
I didn't figure out how to get it to automatically mount on boot so I restarted it to see if it would do so by default - however, when I restarted I couldn't see the RAID array any longer on the desktop and it came up as a 0.0kb RAID array in Disk Utility, saying it was broken. It wouldn't let me check it until I stopped and restarted the array.
After restarting I hit "check array" and it appears to be repairing the drives. What have I missed? What happened here? How can I fix it? What other info can I provide to assist:
One of my HDD on a 2 drive RAID1 md (linux software raid) is intermittently clicking. When this occurs, I can hear a loud clicking noise at uniform intervals and then it stops. Its like "click..click...click..click...click..click...click..click". You know what I mean
It does it about 4 times per hour. I believe this drive is about to die.
Until I find a replacement drive, can I run into problems with the data on the array? I believe the mdadm utility would tell me if the drive was faulty and once I replace the drive, it would auto rebuild the array (re=copy the data to the new drive)?
I have over 1.2TB of data on this array I really dont want to lose everything...
I created a raid1 disk with Disk Utilities on with Karmic, then upgraded my system to Lucid then Maverick. This Raid disk is just a data store, I'm not booting off of it. when I reboot the raid1 disk does not start. I have to go into Disk Utilities, stop the array and then start it. Then it comes up and I can mount it. I ran dpkg-reconfigure mdadm and it created a valid entry in mdadm.conf. but the array still does not start on boot. I want to have it auto mount with fstab but need to make sure the array starts first.
I'm sorry if this is the wrong section and if there is another thread on the matter. I searched but couldn't find threads with my specific problem. I've just installed Ubuntu 10.10 Server 64 bit which I intend to use as a internal file server.
The hdd setup is: 500gb system disk 1tb storage 2tb storage (2*2tb using built-in motherboard hardware RAID1) When the installation was complete and the computer rebooted I got an error message saying "error: no such disk". After re-installation I got the same message and I then tried disconnecting all the storage devices and it booted perfectly. I then tried connecting up the 1tb drive and again it booted as it should. But when I re-connected the RAID:ed disks the error message re-appeared.
I installed a distro based on CentOS 5.5 (FreePBX distro FYI). It used an automated kickstart script to create an md RAID1 array of all the hard drives connected to the machine. Well, I installed from a thumb drive, which the script in interpreted as a hard drive and thus included in the array. So, I ended up with three md arrays (boot, swap, data) that included the thumb drive. Even better, it used the thumb drive for grub boot so I couldn't start up without it. I was able to mark the USB drive as 'failed' and remove from each array, and even change grub around to boot without the usb drive, but now each of the arrays is marked as degraded:
Like it says in the title, I am thinking it should be this hard to install the RAID1 array in my brand new PC. Here is what is happening. I have two brand new 1TB drives that I am attempting a new, fresh install of 10.10 on (in fact, the entire box is new). I am attempting to use the alternate desktop install so that I can have access to the manual partitioning (which is required to setup RAID 1, correct?).
I tried to use the guide here: [URL]... I followed the steps, but when I got the the very end (after selecting and creating the MDs) I get an error message stating that there is no root file system defined. I went back and checked all the steps and I am sure I followed everything in the guide.
Here are some quirks (not sure if they are bugs or not) In step 5 of the disc partitioning, it says to select the bootable flag and set it to yes (I am assuming). I press enter over that options, the screen flashes really quickly to a progress bar, but then comes back to the options screen and it still says bootable flag is off. No matter how many times I do it is says "off".
Also, and here is the bigger problem I think. - So the guide says to select the free space in each drive and then select Automatically Partition the free space, which I do, and it comes back and looks formatted accordingly - has 975.6 GB ext4 / and 24.6 GB swap swap. No Problem there.
BUT - whenever I do the same thing to the second drive, the partitions on the first seem to disappear. Meaning, it doesn't say free space, and has two partitions listed, but the / and the swap (last items in each row) have moved to the second drive partitions. I am not sure if this is how it is supposed to be since the pictures in the linked guide to not show what it looks like after that. THis is driving me crazy and I have to have it set up in RAID 1 and unsure as to what it is I am missing.
I just experienced a HDD failure and while reorganizing the drives inthis machine I realized the benefits of UUID instead of /dev/sdX nomenclature. I am trying to determine the UUID of 2 disks that are assembled in a RAID1 array. right now they are /dev/sde & /dev/sdf with each only one partition. I tried ls -l /dev/disk/by-uuid but I get only the UUID of other disks, not the ones currently ID'd as sde & sdf. my mdadm.conf assembles several raid arrays all by UUID, but somehow, I cant recall how I got the UUIDs of the other HDDs at first...
I've got a mailserver set up in a raid1 array.I shut down the system to install a CD-ROM drive but forgot to change the master/slave settings (I know, don'tt say anything) and didn't realize it before Centos started booting up, so it booted the hdc drive from the array.I rebuilt the array using mdadm without any apparant issues but on subsequent bootup, I get the following error :
There doesn't seem to be any side effects to this but since that didn't happen prior, I figure there's probably something I didn't do properly since I'm fairly new to the linux world.My raid array was originally set up by the Centos instal software and is set up like this :
hda1 + hdc1 = md0 (boot) Hda3 + hdc3 = md2 (/)
The other partitions are of the same size on each drive and are swap partitions.
PS : The drive is SMART capable and no errors appear during a self-test.
edit : Clonezilla also fails to boot properly although I don't know if its due to a software raid array in the first place or the errors in the filesystem. When only one drive was detected because of the jumpers, it booted properly.
I'm convinced that mdadm is going to be the death of me. I've wasted numerous hours on this so far without luck.
OpenSuse 11.4 on an old Supermicro box, creating a software RAID1 array across 2 x IDE 500GB disks. Creating /dev/md0 as a 250MB partition across /dev/sda1 and /dev/sdd1 for /boot, another 465GB partition across /dev/sda2 and /dev/sdd2 as an LVM partition to hold volumes for the various other OS filesystems. After the initial installation and configuration there were a series of mishaps with faulty IDE cables that had drives failing to show up at boot. Somehow, /dev/sdd2 got configured to array /dev/md1 as a spare drive. And nothing I've done so far gets it to show up as an active drive.
The obvious step of failing the partition, removing it, then adding (or re-adding) will bring it back as a spare. I've tried roughly a dozen different permutations of those same steps. The latest was to 'dd if=/dev/zero of=/dev/sdd2' to clear the partition. Thought this might be the trick - after the zero, mdadm -E /dev/sdd2 reported 'no superblock' and no md1 configuration.
So 'mdadm --add /dev/md1 /dev/sdd2' and it still comes back as a spare. Here is mdadm -D /dev/md1
/dev/md1: Version : 1.0 Creation Time : Sat Jul 9 10:26:01 2011 Raid Level : raid1 Array Size : 488119160 (465.51 GiB 499.83 GB) code....
I can't stop this array, the OS is running from there. I can't easily boot from CD to repair, all IDE ports have disks attached.
Does anyone have an incantation to promote a spare to active?
I have a used but good harddrive which I'd like to use as a replacement for a removed harddrive in existing raid1 array. mdadm --detail /dev/md00 0 0 -1 removed1 8 17 1 active sync /dev/sdb1I thought I needed to mark the removed drive as failed but I cannot get mdadm set it to "failed". I issue mdadm --manage /dev/md0 --fail /dev/sda1But mdadm response is:mdadm: hot remove failed for /dev/sda1: no such device or addressI thought I must mark the failed drive as "failed" to prevent raid1 from trying to mirror in wrong direction when I install my used-but-good disk. I want to reformat the good used drive first right? I believe I must prevent raid array from automatically try to mirror in the wrong direction.
So I didn't notice when I setup my CentOS 5.5 server that I left / as RAID 0 on md1. All the rest are RAID 1. Is there a way I can modify the array to RAID 1 without a risk of data loss? I'm glad I caught this before I setup any other services. I've only setup smb so far...
[root@ftpserver ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/md1 16G 3.0G 13G 20% /
I'm writing a bash script that executes a few perl scripts. One of the perl scripts that I need to execute requires two arguments with it. The arguments are stored in a txt file, each line contains a hostname and its corresponding IP address separated by a ":" (colon), the txt file looks like this below:
[Code]...
I'm not sure if it's the best way to accomplish this but here it goes. In the bash file, let's call it getHosts.sh, I create an array and assign each line of the file to an element in that array. I then think I need to create a new array where I take the hostname (which is before the ":") separate it from its IP address and place the IP address on a new line just below the hostname (this way I can reference to it like $hostNames[$x] would be the hostname, and $hostNames[$x+1] would be its IP address). So the new array would now look like this below:
The motherboard currently installed on my PC has a RAID Utility (Ctrl+I) at the startup that allow creating RAID1. But I already have a system installed with CentOS 5.4. In order to protect my data, I need RAID1. Can I add another Hard Drive now and have the data mirrored and synced onto both hard drives as if it was in RAID1 right from the beginning?
I have a RAID 5 array, md0, with three full-disk (non-partitioned) members, sdb, sdc, and sdd. My computer will hang during the AHCI BIOS if AHCI is enabled instead of IDE, if these drives are plugged in. I believe it may be because I'm using the whole disk, and the AHCI BIOS expects an MBR to be on the drive (I don't know why it would care).
Is there a way to convert the array to use members sdb1, sdc1 and sdd1, partitioned MBR with 0xFD RAID partitions?
I have an array called arrayini which stores numbers. I want to take log to the base 2 of each of the numbers in that array and put it in file called result. I've used the following code to do it.
Code:
size=${#arrayini[@]} for ((i=0;i<size;i++)) do echo "scale = 12; l(${arrayini[$i]})/l(2)" | bc -l done >result
It works fine but its taking pretty long to calculate since I've got about 230,000 items in the array. So I decided to store the result into an array hoping that it'd be faster. I tried the following code. arrayresult is where I try and store the result. The code doesn't work because of the second last line.
Code:
unset arrayresult size=${#arrayini[@]} for ((i=0;i<size;i++)) do arrayresult[$i]="scale = 12; l(${arrayini[$i]})/l(2)" | bc -l done >FILE2
I'm trying to create new RAM image file to get my server load raid1 module upon start, I was following redhat documentation & it suggested to use the following command mkinited --with=raid1 inited-raid1-$(uname -r).img $(uname -r) However after running this command I'm getting this message No Kernel available for 'inited-2.6.18-128.el5"
How do i create a raid0 array of these drives? On each drive i have got a partition whose size is 160GB and formatted to type fd (Raid Autodetect) i have tried the following:
Code: mdadm --create /dev/md0 --level=0 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sda1 mkfs.ext4 /dev/md0 mount /dev/md0 /media/raid but for some reason it doesnt work.
I have a raid 1 array which I did setup on a Centos box. I can configure the array fine the problem is every time is restart my machine I can no longer see the array and have to go create it all over again. I tried doing a few searches on it but have came up with nothing so far.
I have a software RAID array using mdraid that consists of two 1.5TB drives that I use for storage, the array is mounted at /Storage. I am running out of space in the array so I ordered two more 1.5TB drives to create a 4 drive RAID 1+0 array which will be 3TB big. My question is how do I create the new array and not lose any data?
The drives and partitions are sdc1, sdd1, and soon to be sde1, sdf1. I currently have 4 RAID arrays (md0,md1,md2,md3). I think I can create the RAID 1+0 array with the two new drives, copy the data from my current array to the new one, remove the old array, then add the two original drives to the new array. But I wanted to ask on here first to make sure my data doesn't go poof.
I am trying to create an array that will allow me to print a list after selection such as:
1) Location A 2) Location B 3) Location C
Would you like to print selected locations? Print I have no idea how to approach this problem and don't know whether Perl, Bash or shell script would be the most useful in this particular situation.
mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb1and I getmd1: raid array is not clean -- starting background reconstructionWhy is it not clean?Should I be worried?The HD is not new it has been used in before in a raid array but has beenrepartitionated.
I installed 10.04 on a new machine and 'tried' to create a 4 disk RAID6 array on four new 4TB drives.The build seemed to go fine, but a check on the new dev shows the following:
/dev/md0: Version : 00.90 Creation Time : Sun May 30 21:53:11 2010
I haven't programmed in C for a while, so I am trying to remember certain aspects of syntax. I have a program that will fork and exec other programs. Those programs will be specified on the command line as follows:
./main "prog1 arg arg ..." "prog2 arg arg ..."
Here is the main snippet:
int countChar(char* s, char c) { int cnt = 0; int len = strlen(s); for(int i = 0; i < len; i++)
[code]....
The highlighted line is the problem. I get this error:
dualstarter.cpp:58: error: initializer fails to determine size of 'params'.
Right now I am thinking of creating an array with the specified size and simply copying the required string into it, but it just seems like there is an easier way.
I'm looking to shrink my windows partition on a raid0 array and create a mdadm ubuntu partition using raid0. Is this possible? can I just ignore the /dev/mapper device and use the standard /dev/sdx devices?