<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.chepkov.com/w/index.php?action=history&amp;feed=atom&amp;title=Convert_to_RAID</id>
	<title>Convert to RAID - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.chepkov.com/w/index.php?action=history&amp;feed=atom&amp;title=Convert_to_RAID"/>
	<link rel="alternate" type="text/html" href="https://www.chepkov.com/w/index.php?title=Convert_to_RAID&amp;action=history"/>
	<updated>2026-04-28T17:22:57Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://www.chepkov.com/w/index.php?title=Convert_to_RAID&amp;diff=295&amp;oldid=prev</id>
		<title>Vvc: /* Install bootloader on second disk */</title>
		<link rel="alternate" type="text/html" href="https://www.chepkov.com/w/index.php?title=Convert_to_RAID&amp;diff=295&amp;oldid=prev"/>
		<updated>2009-07-22T15:39:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Install bootloader on second disk&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== Partition new disk ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@centos ~]# fdisk -l /dev/hda&lt;br /&gt;
&lt;br /&gt;
Disk /dev/hda: 20.0 GB, 20020396032 bytes&lt;br /&gt;
255 heads, 63 sectors/track, 2434 cylinders&lt;br /&gt;
Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
&lt;br /&gt;
   Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;
/dev/hda1   *           1          13      104391   83  Linux&lt;br /&gt;
/dev/hda2              14        2434    19446682+  8e  Linux LVM&lt;br /&gt;
[root@centos ~]# fdisk -l /dev/hdb&lt;br /&gt;
&lt;br /&gt;
Disk /dev/hdb: 40.0 GB, 40000000000 bytes&lt;br /&gt;
255 heads, 63 sectors/track, 4863 cylinders&lt;br /&gt;
Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
&lt;br /&gt;
   Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;
&lt;br /&gt;
[root@centos ~]# cat /etc/fstab &lt;br /&gt;
/dev/vg0/root           /                       ext3    noatime         1 1&lt;br /&gt;
/dev/vg0/tmp            /tmp                    ext2    noatime         1 2&lt;br /&gt;
/dev/vg0/home           /home                   ext3    noatime         1 2&lt;br /&gt;
/dev/vg0/var            /var                    ext3    noatime         1 2&lt;br /&gt;
/dev/vg0/usr            /usr                    ext3    noatime         1 2&lt;br /&gt;
LABEL=/boot             /boot                   ext2    noatime         1 2&lt;br /&gt;
tmpfs                   /dev/shm                tmpfs   defaults        0 0&lt;br /&gt;
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
sysfs                   /sys                    sysfs   defaults        0 0&lt;br /&gt;
proc                    /proc                   proc    defaults        0 0&lt;br /&gt;
/dev/vg0/swap           swap                    swap    defaults        0 0&lt;br /&gt;
&lt;br /&gt;
[root@centos ~]# fdisk /dev/hdb &lt;br /&gt;
&lt;br /&gt;
The number of cylinders for this disk is set to 4863.&lt;br /&gt;
There is nothing wrong with that, but this is larger than 1024,&lt;br /&gt;
and could in certain setups cause problems with:&lt;br /&gt;
1) software that runs at boot time (e.g., old versions of LILO)&lt;br /&gt;
2) booting and partitioning software from other OSs&lt;br /&gt;
   (e.g., DOS FDISK, OS/2 FDISK)&lt;br /&gt;
&lt;br /&gt;
Command (m for help): n&lt;br /&gt;
Command action&lt;br /&gt;
   e   extended&lt;br /&gt;
   p   primary partition (1-4)&lt;br /&gt;
p&lt;br /&gt;
Partition number (1-4): 1&lt;br /&gt;
First cylinder (1-4863, default 1): &lt;br /&gt;
Using default value 1&lt;br /&gt;
Last cylinder or +size or +sizeM or +sizeK (1-4863, default 4863): 13&lt;br /&gt;
&lt;br /&gt;
Command (m for help): t&lt;br /&gt;
Selected partition 1&lt;br /&gt;
Hex code (type L to list codes): FD&lt;br /&gt;
Changed system type of partition 1 to fd (Linux raid autodetect)&lt;br /&gt;
&lt;br /&gt;
Command (m for help): n&lt;br /&gt;
Command action&lt;br /&gt;
   e   extended&lt;br /&gt;
   p   primary partition (1-4)&lt;br /&gt;
p&lt;br /&gt;
Partition number (1-4): 2&lt;br /&gt;
First cylinder (14-4863, default 14): &lt;br /&gt;
Using default value 14&lt;br /&gt;
Last cylinder or +size or +sizeM or +sizeK (14-4863, default 4863): +512M&lt;br /&gt;
&lt;br /&gt;
Command (m for help): t&lt;br /&gt;
Partition number (1-4): 2&lt;br /&gt;
Hex code (type L to list codes): 82&lt;br /&gt;
Changed system type of partition 2 to 82 (Linux swap / Solaris)&lt;br /&gt;
&lt;br /&gt;
Command (m for help): n&lt;br /&gt;
Command action&lt;br /&gt;
   e   extended&lt;br /&gt;
   p   primary partition (1-4)&lt;br /&gt;
p&lt;br /&gt;
Partition number (1-4): 3&lt;br /&gt;
First cylinder (77-4863, default 77): &lt;br /&gt;
Using default value 77&lt;br /&gt;
Last cylinder or +size or +sizeM or +sizeK (77-4863, default 4863): 2434&lt;br /&gt;
&lt;br /&gt;
Command (m for help): t&lt;br /&gt;
Partition number (1-4): 3&lt;br /&gt;
Hex code (type L to list codes): FD&lt;br /&gt;
Changed system type of partition 3 to fd (Linux raid autodetect)&lt;br /&gt;
&lt;br /&gt;
Command (m for help): p&lt;br /&gt;
&lt;br /&gt;
Disk /dev/hdb: 40.0 GB, 40000000000 bytes&lt;br /&gt;
255 heads, 63 sectors/track, 4863 cylinders&lt;br /&gt;
Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
&lt;br /&gt;
   Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;
/dev/hdb1               1          13      104391   fd  Linux raid autodetect&lt;br /&gt;
/dev/hdb2              14          76      506047+  82  Linux swap / Solaris&lt;br /&gt;
/dev/hdb3              77        2434    18940635   fd  Linux raid autodetect&lt;br /&gt;
&lt;br /&gt;
Command (m for help): w&lt;br /&gt;
The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
Calling ioctl() to re-read partition table.&lt;br /&gt;
Syncing disks.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The new disk was larger, partition sizes were calculated based on old disk size.&lt;br /&gt;
&lt;br /&gt;
=== Switch to new swap partition ===&lt;br /&gt;
:Note: You have to make a decision what is more important to you. If you want your system to continue to run in case of a hard disk failure, you need to go with &amp;#039;swap on raid &amp;#039; approach: don&amp;#039;t create separate swap partitions, but instead create a swap logical volume in the new volume group. If performance is more important, then you split your swap between two disks and create separate swap  partitions on each disk, as I did in this document.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@centos ~]# mkswap -L swapb /dev/hdb2 &lt;br /&gt;
Setting up swapspace version 1, size = 518184 kB&lt;br /&gt;
LABEL=swapb, no uuid&lt;br /&gt;
&lt;br /&gt;
[root@centos ~]# swapon /dev/hdb2 &lt;br /&gt;
[root@centos ~]# swapoff /dev/vg0/swap &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install required packages ===&lt;br /&gt;
 yum -y install mdadm dump&lt;br /&gt;
&lt;br /&gt;
=== Create degraded RAID arrays ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@centos ~]# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/hdb1 missing&lt;br /&gt;
mdadm: array /dev/md0 started.&lt;br /&gt;
[root@centos ~]# mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/hdb3 missing&lt;br /&gt;
mdadm: array /dev/md1 started.&lt;br /&gt;
[root@centos ~]# mdadm --examine --scan &amp;gt; /etc/mdadm.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create new volume group ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@centos ~]# pvcreate /dev/md1 &lt;br /&gt;
  Physical volume &amp;quot;/dev/md1&amp;quot; successfully created&lt;br /&gt;
&lt;br /&gt;
[root@centos ~]# vgcreate -s 32M vg1 /dev/md1&lt;br /&gt;
  Volume group &amp;quot;vg1&amp;quot; successfully created&lt;br /&gt;
&lt;br /&gt;
[root@centos ~]# lvcreate --size 512M --name root vg1&lt;br /&gt;
  Logical volume &amp;quot;root&amp;quot; created&lt;br /&gt;
[root@centos ~]# lvcreate --size 4G --name usr vg1&lt;br /&gt;
  Logical volume &amp;quot;usr&amp;quot; created&lt;br /&gt;
[root@centos ~]# lvcreate --size 1G --name var vg1&lt;br /&gt;
  Logical volume &amp;quot;var&amp;quot; created&lt;br /&gt;
[root@centos ~]# lvcreate --size 1G --name home vg1&lt;br /&gt;
  Logical volume &amp;quot;home&amp;quot; created&lt;br /&gt;
[root@centos ~]# lvcreate --size 256M --name tmp vg1&lt;br /&gt;
  Logical volume &amp;quot;tmp&amp;quot; created&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Format new filesystems ===&lt;br /&gt;
 mkfs -j /dev/vg1/root &lt;br /&gt;
 mkfs -j /dev/vg1/usr&lt;br /&gt;
 mkfs -j /dev/vg1/var&lt;br /&gt;
 mkfs -j /dev/vg1/home&lt;br /&gt;
 mkfs /dev/vg1/tmp&lt;br /&gt;
 mkfs /dev/md0&lt;br /&gt;
&lt;br /&gt;
=== Shutdown all services ===&lt;br /&gt;
Keep sshd running, stop the rest&lt;br /&gt;
&lt;br /&gt;
 service  crond stop&lt;br /&gt;
 service syslog stop&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
=== Mount/transfer root volume ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mount -t ext3 /dev/vg1/root /mnt/&lt;br /&gt;
cd /mnt/&lt;br /&gt;
dump -0 -f - /dev/vg0/root | restore -r -f -&lt;br /&gt;
rm restoresymtable&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mount/transfer remaining volumes ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mount -t ext3 /dev/vg1/usr /mnt/usr/&lt;br /&gt;
mount -t ext3 /dev/vg1/var /mnt/var/&lt;br /&gt;
mount -t ext3 /dev/vg1/home /mnt/home/&lt;br /&gt;
mount -t ext2 /dev/vg1/tmp /mnt/tmp/&lt;br /&gt;
chmod 1777 /mnt/tmp&lt;br /&gt;
mount -t ext2 /dev/md0 /mnt/boot/&lt;br /&gt;
&lt;br /&gt;
cd /mnt/usr&lt;br /&gt;
dump -0 -f - /dev/vg0/usr | restore -r -f -&lt;br /&gt;
rm restoresymtable&lt;br /&gt;
&lt;br /&gt;
cd /mnt/var&lt;br /&gt;
dump -0 -f - /dev/vg0/var | restore -r -f -&lt;br /&gt;
rm restoresymtable&lt;br /&gt;
&lt;br /&gt;
cd /mnt/home&lt;br /&gt;
dump -0 -f - /dev/vg0/home | restore -r -f -&lt;br /&gt;
rm restoresymtable&lt;br /&gt;
&lt;br /&gt;
cd /mnt/boot&lt;br /&gt;
dump -0 -f - /dev/hda1 | restore -r -f -&lt;br /&gt;
rm restoresymtable&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No need to dump/restore /tmp&lt;br /&gt;
&lt;br /&gt;
=== chroot to new system ===&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
mkdir /mnt/dev/pts&lt;br /&gt;
mount -t devpts devpts /mnt/dev/pts&lt;br /&gt;
mount -t sysfs sysfs /mnt/sys &lt;br /&gt;
mount -t proc proc /mnt/proc &lt;br /&gt;
mkdir /mnt/dev/shm&lt;br /&gt;
mount -t tmpfs tmpfs /mnt/dev/shm&lt;br /&gt;
&lt;br /&gt;
chroot /mnt&lt;br /&gt;
start_udev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== adjust /etc/fstab ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@centos /]# cat /etc/fstab &lt;br /&gt;
/dev/vg1/root           /                       ext3    noatime         1 1&lt;br /&gt;
/dev/vg1/tmp            /tmp                    ext2    noatime         1 2&lt;br /&gt;
/dev/vg1/home           /home                   ext3    noatime         1 2&lt;br /&gt;
/dev/vg1/var            /var                    ext3    noatime         1 2&lt;br /&gt;
/dev/vg1/usr            /usr                    ext3    noatime         1 2&lt;br /&gt;
/dev/md0	        /boot                   ext2    noatime         1 2&lt;br /&gt;
tmpfs                   /dev/shm                tmpfs   defaults        0 0&lt;br /&gt;
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
sysfs                   /sys                    sysfs   defaults        0 0&lt;br /&gt;
proc                    /proc                   proc    defaults        0 0&lt;br /&gt;
LABEL=swapb             swap                    swap    pri=1           0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== adjust /etc/grub.conf ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default=1&lt;br /&gt;
timeout=5&lt;br /&gt;
#splashimage=(hd0,0)/grub/splash.xpm.gz&lt;br /&gt;
hiddenmenu&lt;br /&gt;
title CentOS (2.6.18-128.2.1.el5)&lt;br /&gt;
	root (hd0,0)&lt;br /&gt;
	kernel /vmlinuz-2.6.18-128.2.1.el5 ro root=/dev/vg0/root&lt;br /&gt;
	initrd /initrd-2.6.18-128.2.1.el5.img&lt;br /&gt;
title CentOS (2.6.18-128.2.1.el5)&lt;br /&gt;
	root (hd1,0)&lt;br /&gt;
	kernel /vmlinuz-2.6.18-128.2.1.el5 ro root=/dev/vg1/root&lt;br /&gt;
	initrd /initrd-2.6.18-128.2.1.el5.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== adjust /etc/mdadm.conf ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEVICE partitions&lt;br /&gt;
MAILADDR root&lt;br /&gt;
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=8ca072a8:085c91c0:52eada7c:6cc0931c&lt;br /&gt;
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=898f5b3c:670dcb6c:d422cdf5:eddafb24&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== recreate initrd image ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /boot&lt;br /&gt;
mkinitrd -f initrd-2.6.18-128.2.1.el5.img -v 2.6.18-128.2.1.el5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== copy new grub.conf to old disk ===&lt;br /&gt;
 exit # from chroot&lt;br /&gt;
 cp /mnt/etc/grub.conf /etc/grub.conf&lt;br /&gt;
&lt;br /&gt;
=== Update bootloader configuration ===&lt;br /&gt;
  grub-install --recheck /dev/hda&lt;br /&gt;
&lt;br /&gt;
=== reboot to new system on the raid ===&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
=== verify new installation ===&lt;br /&gt;
Make sure system is operational and everything is in order.&lt;br /&gt;
Up to this step all changes made were non-destructive and you could boot your old system from the grub menu.&lt;br /&gt;
&lt;br /&gt;
=== Delete old volume group ===&lt;br /&gt;
This step is not really necessary, you could have reformatted  the first disk, but this OS-friendly approach.&lt;br /&gt;
 lvremove /dev/vg0/root&lt;br /&gt;
 lvremove /dev/vg0/usr&lt;br /&gt;
 lvremove /dev/vg0/var&lt;br /&gt;
 lvremove /dev/vg0/tmp&lt;br /&gt;
 lvremove /dev/vg0/swap&lt;br /&gt;
 vgremove vg0&lt;br /&gt;
 pvremove /dev/hda2&lt;br /&gt;
&lt;br /&gt;
=== delete and create new partitions on the old disk ===&lt;br /&gt;
You the same commands as before&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@centos ~]# fdisk -l /dev/hda&lt;br /&gt;
&lt;br /&gt;
Disk /dev/hda: 20.0 GB, 20020396032 bytes&lt;br /&gt;
255 heads, 63 sectors/track, 2434 cylinders&lt;br /&gt;
Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
&lt;br /&gt;
   Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;
/dev/hda1               1          13      104391   fd  Linux raid autodetect&lt;br /&gt;
/dev/hda2              14          76      506047+  82  Linux swap / Solaris&lt;br /&gt;
/dev/hda3              77        2434    18940635   fd  Linux raid autodetect&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add additional swap ===&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
mkswap -L swapa /dev/hda2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add entry to /etc/fstab&lt;br /&gt;
 LABEL=swapa             swap                    swap    pri=1           0 0&lt;br /&gt;
&lt;br /&gt;
=== Add partitions to raid ===&lt;br /&gt;
&lt;br /&gt;
 mdadm --add /dev/md0 /dev/hda1&lt;br /&gt;
 mdadm --add /dev/md1 /dev/hda3&lt;br /&gt;
&lt;br /&gt;
wait until RAID fully synchronized:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# watch cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
 Every 2.0s: cat /proc/mdstat                                                                    Wed Jul 22 18:21:38 2009&lt;br /&gt;
&lt;br /&gt;
Personalities : [raid1]&lt;br /&gt;
md0 : active raid1 hda1[1] hdb1[0]&lt;br /&gt;
      104320 blocks [2/2] [UU]&lt;br /&gt;
&lt;br /&gt;
md1 : active raid1 hda3[2] hdb3[0]&lt;br /&gt;
      18940544 blocks [2/1] [U_]&lt;br /&gt;
      [=&amp;gt;...................]  recovery =  7.3% (1398400/18940544) finish=11.3min speed=25826K/sec&lt;br /&gt;
&lt;br /&gt;
unused devices: &amp;lt;none&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Adjust grub.conf ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default=0&lt;br /&gt;
timeout=5&lt;br /&gt;
hiddenmenu&lt;br /&gt;
title CentOS (2.6.18-128.2.1.el5)&lt;br /&gt;
	root (hd0,0)&lt;br /&gt;
	kernel /vmlinuz-2.6.18-128.2.1.el5 ro root=/dev/vg1/root&lt;br /&gt;
	initrd /initrd-2.6.18-128.2.1.el5.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install bootloader on second disk ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# grub&lt;br /&gt;
grub&amp;gt; device (hd0) /dev/hdb&lt;br /&gt;
grub&amp;gt; root (hd0,0)&lt;br /&gt;
grub&amp;gt; setup (hd0)&lt;br /&gt;
grub&amp;gt; quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Final reboot ===&lt;br /&gt;
 shutdown -r now&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Enjoy&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Vvc</name></author>
	</entry>
</feed>