<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Професионален Блог &#187; raid1</title>
	<atom:link href="http://blog.walker-bg.info/tag/raid1/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.walker-bg.info</link>
	<description>Поредният WordPress блог - що пък не? :P</description>
	<lastBuildDate>Tue, 10 Jan 2012 21:44:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Създаване на софтуерен Raid1 масив от диск с вече инсталиран линукс на него + още един</title>
		<link>http://blog.walker-bg.info/2010/01/14/%d1%81%d1%8a%d0%b7%d0%b4%d0%b0%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d1%81%d0%be%d1%84%d1%82%d1%83%d0%b5%d1%80%d0%b5%d0%bd-raid1-%d0%bc%d0%b0%d1%81%d0%b8%d0%b2-%d0%be%d1%82-%d0%b4%d0%b8%d1%81%d0%ba/</link>
		<comments>http://blog.walker-bg.info/2010/01/14/%d1%81%d1%8a%d0%b7%d0%b4%d0%b0%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d1%81%d0%be%d1%84%d1%82%d1%83%d0%b5%d1%80%d0%b5%d0%bd-raid1-%d0%bc%d0%b0%d1%81%d0%b8%d0%b2-%d0%be%d1%82-%d0%b4%d0%b8%d1%81%d0%ba/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 02:51:25 +0000</pubDate>
		<dc:creator>Walker</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[raid1]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[линукс]]></category>
		<category><![CDATA[настройка]]></category>

		<guid isPermaLink="false">http://blog.walker-bg.info/?p=31</guid>
		<description><![CDATA[Някои ще кажат &#8211; &#8222;mission impossible&#8220;, е да, ама не И аз така си мислех първоначално, докато моя &#8222;учител&#8220; не ме светна, че може и ме прати да чета Машината на която ще направя въпросната манипулация е Pentium 3 с 512 ram и 2x10g диска. Желателно е двата диска да са идентични като размер и [...]]]></description>
			<content:encoded><![CDATA[<p>Някои ще кажат &#8211; &#8222;mission impossible&#8220;, е да, ама не <img src='http://blog.walker-bg.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
И аз така си мислех първоначално, докато моя &#8222;учител&#8220; не ме светна, че може и ме прати да чета <img src='http://blog.walker-bg.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Машината на която ще направя въпросната манипулация е Pentium 3 с 512 ram и 2x10g диска.</p>
<p><span id="more-31"></span></p>
<p>Желателно е двата диска да са идентични като размер и модел.<br />
В моя случай те са:</p>
<pre>Disk /dev/hda - 10254 MB / 9779 MiB - WDC WD102BB
Disk /dev/hdc - 10254 MB / 9779 MiB - WDC WD102BB</pre>
<p>Започваме с инсталиране на необходимите пакети:</p>
<pre>server1:~# apt-get install initramfs-tools mdadm</pre>
<p>По време на инсталацията ще бъдете попитани въпрос, на който трябва да отговорите с <em>all</em><br />
след което можете да рестартирате системата или ръчно да стартирате модулите както следва:</p>
<pre>server1:~# modprobe md
server1:~# modprobe linear
server1:~# modprobe multipath
server1:~# modprobe raid0
server1:~# modprobe raid1
server1:~# modprobe raid5
server1:~# modprobe raid6
server1:~# modprobe raid10</pre>
<p>За да проверите дали модулите са заредени успешно трябва да стартирате командата:</p>
<pre>server1:~# cat /proc/mdstat</pre>
<p>Изхода от нея трябва да изглежда така:</p>
<pre>server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
unused devices:</pre>
<p><strong>Подготовка на дисковете:</strong><br />
В началото дяловете на дисковете изглеждаха така:</p>
<pre>server1:~# fdisk -l

Disk /dev/hda: 10.2 GB, 10254827520 bytes
255 heads, 63 sectors/track, 1246 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0000a606

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        1187     9534546   83  Linux
/dev/hda2            1188        1246      473917+   5  Extended
/dev/hda5            1188        1246      473886   82  Linux swap / Solaris

Disk /dev/hdc: 10.2 GB, 10254827520 bytes
255 heads, 63 sectors/track, 1246 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000efc30

   Device Boot      Start         End      Blocks   Id  System
/dev/hdc1               1          32      257008+  82  Linux swap / Solaris
/dev/hdc2   *          33        1246     9751455   83  Linux</pre>
<p>Поради което се наложи първо да изтрия дяловете на /dev/hdc:</p>
<pre>server1:~# fdisk /dev/hdc

The number of cylinders for this disk is set to 1246.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): d
Partition number (1-4): 1

Command (m for help): d
Selected partition 2

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
server1:~# fdisk /dev/hdc -l

Disk /dev/hdc: 10.2 GB, 10254827520 bytes
16 heads, 63 sectors/track, 19870 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Disk identifier: 0x000efc30

   Device Boot      Start         End      Blocks   Id  System</pre>
<p>На диск /dev/hdc трябва да бъдат създадени идентични дялове като на /dev/hdc.<br />
За целта се използва следната команда:</p>
<pre>server1:~# sfdisk -d /dev/hda | sfdisk /dev/hdc
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Checking that no-one is using this disk right now ...
OK

Disk /dev/hdc: 19870 cylinders, 16 heads, 63 sectors/track
Old situation:
Units = cylinders of 516096 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/hdc1          0       -       0          0    0  Empty
/dev/hdc2          0       -       0          0    0  Empty
/dev/hdc3          0       -       0          0    0  Empty
/dev/hdc4          0       -       0          0    0  Empty
New situation:
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/hdc1   *        63  19069154   19069092  83  Linux
/dev/hdc2      19069155  20016989     947835   5  Extended
/dev/hdc3             0         -          0   0  Empty
/dev/hdc4             0         -          0   0  Empty
/dev/hdc5      19069218  20016989     947772  82  Linux swap / Solaris
Warning: partition 1 does not end at a cylinder boundary

sfdisk: I don't like these partitions - nothing changed.
(If you really want this, use the --force option.)</pre>
<p>В моя случай се наложи да използвам повторно стартиране на командата с &#8211;force ,<br />
но това не би трябвало да се наложи при вас:</p>
<pre>server1:~# sfdisk -d /dev/hda | sfdisk /dev/hdc --force
Checking that no-one is using this disk right now ...
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
OK                                                                

Disk /dev/hdc: 19870 cylinders, 16 heads, 63 sectors/track
Old situation:
Units = cylinders of 516096 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/hdc1          0       -       0          0    0  Empty
/dev/hdc2          0       -       0          0    0  Empty
/dev/hdc3          0       -       0          0    0  Empty
/dev/hdc4          0       -       0          0    0  Empty
New situation:
Units = sectors of 512 bytes, counting from 0               

   Device Boot    Start       End   #sectors  Id  System
/dev/hdc1   *        63  19069154   19069092  83  Linux
/dev/hdc2      19069155  20016989     947835   5  Extended
/dev/hdc3             0         -          0   0  Empty
/dev/hdc4             0         -          0   0  Empty
/dev/hdc5      19069218  20016989     947772  82  Linux swap / Solaris
Warning: partition 1 does not end at a cylinder boundary
Successfully wrote the new partition table                            

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)</pre>
<p>Нека проверим дали всичко е коректно чрез fdisk:</p>
<pre>server1:~# fdisk -l

Disk /dev/hda: 10.2 GB, 10254827520 bytes
255 heads, 63 sectors/track, 1246 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0000a606                     

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        1187     9534546   83  Linux
/dev/hda2            1188        1246      473917+   5  Extended
/dev/hda5            1188        1246      473886   82  Linux swap / Solaris

Disk /dev/hdc: 10.2 GB, 10254827520 bytes
16 heads, 63 sectors/track, 19870 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Disk identifier: 0x000efc30

   Device Boot      Start         End      Blocks   Id  System
/dev/hdc1   *           1       18918     9534546   83  Linux
/dev/hdc2           18918       19859      473917+   5  Extended
/dev/hdc5           18918       19859      473886   82  Linux swap / Solaris</pre>
<p>В следващата стъпка ще променим типа на дяловете от диск /dev/hdc на <em>Linux raid autodetect</em>, като аз имам и Extended дял, който не трябва да се пипа:</p>
<pre>server1:~# fdisk /dev/hdc

The number of cylinders for this disk is set to 19870.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): t
Partition number (1-5): 1
Hex code (type L to list codes): fd
Changed system type of partition 1 to fd (Linux raid autodetect)

Command (m for help): t
Partition number (1-5): 5
Hex code (type L to list codes): fd
Changed system type of partition 5 to fd (Linux raid autodetect)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
server1:~# fdisk -l /dev/hdc

Disk /dev/hdc: 10.2 GB, 10254827520 bytes
16 heads, 63 sectors/track, 19870 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Disk identifier: 0x000efc30

   Device Boot      Start         End      Blocks   Id  System
/dev/hdc1   *           1       18918     9534546   fd  Linux raid autodetect
/dev/hdc2           18918       19859      473917+   5  Extended
/dev/hdc5           18918       19859      473886   fd  Linux raid autodetect</pre>
<p>За да бъдете сигурни, че на тези дялове няма остатъци от предишни<br />
RAID конфигурации трябва да изпълните следното:</p>
<pre>server1:~# mdadm --zero-superblock /dev/hdc1
mdadm: Unrecognised md component device - /dev/hdc1
server1:~# mdadm --zero-superblock /dev/hdc5
mdadm: Unrecognised md component device - /dev/hdc5</pre>
<p>което значи, че всичко е чисто <img src='http://blog.walker-bg.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Създаване на RAID масиви</strong><br />
Със следните команди ще създадем RAID масивите:</p>
<pre>server1:~# mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/hdc1
mdadm: array /dev/md0 started.
server1:~# mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/hdc5
mdadm: array /dev/md1 started.</pre>
<p>Проверяваме дали са се създали коректно с:</p>
<pre>server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : active (auto-read-only) raid1 hdc5[1]
      473792 blocks [2/1] [_U]

md0 : active (auto-read-only) raid1 hdc1[1]
      9534464 blocks [2/1] [_U]

unused devices:</pre>
<p>Сега трябва да създадем файловата система на масивите:</p>
<pre>server1:~# mkfs.ext3 /dev/md0
mke2fs 1.41.3 (12-Oct-2008)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
596848 inodes, 2383616 blocks
119180 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2441084928
73 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 38 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
server1:~# mkswap /dev/md1
Setting up swapspace version 1, size = 485158 kB
no label, UUID=4fb4e05c-78c8-4ecf-8482-63e0dc5c349b</pre>
<p>След като сме създали масивите трябва зададем информация за тях в <em>/etc/mdadm/mdadm.conf</em>:</p>
<pre>server1:~# cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig
`/etc/mdadm/mdadm.conf' -&gt; `/etc/mdadm/mdadm.conf_orig'
server1:~# mdadm --examine --scan &gt;&gt; /etc/mdadm/mdadm.conf</pre>
<p>и проверяваме дали записа е коректен:</p>
<pre>server1:~# cat /etc/mdadm/mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST 

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays

# This file was auto-generated on Thu, 14 Jan 2010 00:57:22 +0200
# by mkconf $Id$
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=a09935d3:3afabe5d:1c0b12aa:49fee674
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=6eaf7710:2f7c8917:1c0b12aa:49fee674</pre>
<p>Всичко е точно за сега <img src='http://blog.walker-bg.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
<p>Необходимо системата да бъде настроена за първия си рестарт.<br />
Трябва да променим /etc/fstab като вместо стария дял от /dev/hda1 трябва да сочи към /dev/md0:</p>
<pre>server1:~# nano /etc/fstab</pre>
<pre># /etc/fstab: static file system information.
#
#              

proc            /proc           proc    defaults        0       0
/dev/md0       /               ext3    errors=remount-ro 0       1
/dev/md1       none            swap    sw              0       0
#/dev/hda        /media/cdrom0   udf,iso9660 user,noauto     0       0</pre>
<p>Следват промени по GRUB &#8211; /boot/grub/menu.lst<br />
След default 0 трябва да добавите fallback 1 за да може в случай, че GRUB не успее да бутне от първия кернел да опита с втория:</p>
<pre>default         0
fallback        1</pre>
<p>Копирайте частта на /boot/grub/menu.lst в която е описано от къде да бутва още веднъж над нея и променете root=/dev/hda1 с root=/dev/md0 и root (hd0,0) с root (hd1,0):</p>
<pre>title           Debian GNU/Linux, kernel 2.6.26-2-686
root            (hd1,0)
kernel          /boot/vmlinuz-2.6.26-2-686 root=/dev/md0 ro quiet
initrd          /boot/initrd.img-2.6.26-2-686

title           Debian GNU/Linux, kernel 2.6.26-2-686
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro quiet
initrd          /boot/initrd.img-2.6.26-2-686

title           Debian GNU/Linux, kernel 2.6.26-2-686 (single-user mode)
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro single
initrd          /boot/initrd.img-2.6.26-2-686</pre>
<p>Обновяваме ramdisk чрез:</p>
<pre>server1:~# update-initramfs -u
update-initramfs: Generating /boot/initrd.img-2.6.26-2-686</pre>
<p>Трябва да монтирате /dev/md0 и да копираме информацията от /dev/hda1 там:</p>
<pre>server1:~# mkdir /mnt/md0
server1:~# mount /dev/md0 /mnt/md0
server1:~# cp -dpRx / /mnt/md0</pre>
<p>Тъй като в момента на втория диск няма инсталиран boot loader, трябва да инсталираме такъв посредством командата grub:</p>
<pre>server1:~# grub

grub&gt; root (hd1,0)
 Filesystem type is ext2fs, partition type 0xfd

grub&gt; setup (hd1)
 Checking if "/boot/grub/stage1" exists... no
 Checking if "/grub/stage1" exists... yes
 Checking if "/grub/stage2" exists... yes
 Checking if "/grub/e2fs_stage1_5" exists... yes
 Running "embed /grub/e2fs_stage1_5 (hd1)"...  15 sectors are embedded.
succeeded
 Running "install /grub/stage1 (hd1) (hd1)1+15 p (hd1,0)/grub/stage2 /grub/menu.lst"... succeeded
Done.

grub&gt; quit</pre>
<p>Рестартирайте машината и стискайте палци <img src='http://blog.walker-bg.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Системата е бутнала успешно.<br />
<strong>Подготовка на първия диск</strong><br />
Oтново чрез fdisk ще промени типа на дяловете на /dev/hda. Трябва да бъде Linux raid autodetect, и Extended дяла не трябва да се пипа:</p>
<pre>server1:~# fdisk /dev/hda

The number of cylinders for this disk is set to 1246.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): t
Partition number (1-5): 1
Hex code (type L to list codes): fd
Changed system type of partition 1 to fd (Linux raid autodetect)

Command (m for help): t
Partition number (1-5): 5
Hex code (type L to list codes): fd
Changed system type of partition 5 to fd (Linux raid autodetect)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.</pre>
<p>Сега трябва да добавим /dev/hda1 и /dev/hda5 към масивите:</p>
<pre>server1:~# mdadm --add /dev/md0 /dev/hda1
mdadm: added /dev/hda1
server1:~# mdadm --add /dev/md1 /dev/hda5
mdadm: added /dev/hda5</pre>
<p>Чрез следващата команда ще наблюдаваме как масивите се създават и синхронизират:</p>
<pre>server1:~# watch cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hda5[2] hdc5[1]
      473792 blocks [2/1] [_U]
        resync=DELAYED

md0 : active raid1 hda1[2] hdc1[1]
      9534464 blocks [2/1] [_U]
      [=&gt;...................]  recovery =  5.7% (552320/9534464) finish=7.8min speed=19045K/sec

unused devices:</pre>
<p>След като синхронизацията приключи, натискаме ctrl + c и продължаваме на татък.</p>
<p>Трябва да генерираме на ново mdamd.conf файла:</p>
<pre>
server1:~# cp /etc/mdadm/mdadm.conf_orig /etc/mdadm/mdadm.conf
server1:~# mdadm --examine --scan &gt;&gt; /etc/mdadm/mdadm.conf
server1:~# cat /etc/mdadm/mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays

# This file was auto-generated on Thu, 14 Jan 2010 00:57:22 +0200
# by mkconf $Id$
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=15763cb2:0a3cf6de:1c0b12aa:49fee674
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=3924c0fb:af01e415:879be48a:435c75bf</pre>
<p><strong>Подготовка на GRUB &#8211; /boot/grub/menu.lst</strong><br />
В момента GRUB е настроен да бутва от /dev/hdc &#8211; (hd1,0) , но все пак ние искаме в случай, че единия диск се е &#8222;счупил&#8220; системата да тръгне от другия.<br />
За целта трябва да копирате вече създадената част за /dev/md0 още веднъж, но в нея заменете &#8222;hd1,0&#8243; с &#8222;hd0,0&#8243;, a останалите менюта можете да коментирате.<br />
Ето как изглежда при мен:</p>
<pre>server1:~# nano /boot/grub/menu.lst</pre>
<pre>## ## End Default Options ##

title           Debian GNU/Linux RAID1, kernel 2.6.26-2-686
root            (hd1,0)
kernel          /boot/vmlinuz-2.6.26-2-686 root=/dev/md0 ro quiet
initrd          /boot/initrd.img-2.6.26-2-686

title           Debian GNU/Linux RAID1, kernel 2.6.26-2-686
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.26-2-686 root=/dev/md0 ro quiet
initrd          /boot/initrd.img-2.6.26-2-686

#title           Debian GNU/Linux RAID1, kernel 2.6.26-2-686 (single-user mode)
#root            (hd1,0)
#kernel          /boot/vmlinuz-2.6.26-2-686 root=/dev/md0 ro single
#initrd          /boot/initrd.img-2.6.26-2-686

#title          Debian GNU/Linux, kernel 2.6.26-2-686
#root           (hd0,0)
#kernel         /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro quiet
#initrd         /boot/initrd.img-2.6.26-2-686

#title          Debian GNU/Linux, kernel 2.6.26-2-686 (single-user mode)
#root           (hd0,0)
#kernel         /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro single
#initrd         /boot/initrd.img-2.6.26-2-686

### END DEBIAN AUTOMAGIC KERNELS LIST</pre>
<p>В същия файл има korp променлива, която трябва да промените на /dev/md0 :</p>
<pre>[...]
# kopt=root=/dev/md2 ro
[...]</pre>
<p>Обновете отново ramdisk и рестартирайте:</p>
<pre>server1:~# update-initramfs -u
server1:~# reboot</pre>
<p>И това е всичко <img src='http://blog.walker-bg.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
След като системата ви се рестартира ще зареди от новосъздадения RAID1 масив.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.walker-bg.info%2F2010%2F01%2F14%2F%25d1%2581%25d1%258a%25d0%25b7%25d0%25b4%25d0%25b0%25d0%25b2%25d0%25b0%25d0%25bd%25d0%25b5-%25d0%25bd%25d0%25b0-%25d1%2581%25d0%25be%25d1%2584%25d1%2582%25d1%2583%25d0%25b5%25d1%2580%25d0%25b5%25d0%25bd-raid1-%25d0%25bc%25d0%25b0%25d1%2581%25d0%25b8%25d0%25b2-%25d0%25be%25d1%2582-%25d0%25b4%25d0%25b8%25d1%2581%25d0%25ba%2F&amp;title=%D0%A1%D1%8A%D0%B7%D0%B4%D0%B0%D0%B2%D0%B0%D0%BD%D0%B5%20%D0%BD%D0%B0%20%D1%81%D0%BE%D1%84%D1%82%D1%83%D0%B5%D1%80%D0%B5%D0%BD%20Raid1%20%D0%BC%D0%B0%D1%81%D0%B8%D0%B2%20%D0%BE%D1%82%20%D0%B4%D0%B8%D1%81%D0%BA%20%D1%81%20%D0%B2%D0%B5%D1%87%D0%B5%20%D0%B8%D0%BD%D1%81%D1%82%D0%B0%D0%BB%D0%B8%D1%80%D0%B0%D0%BD%20%D0%BB%D0%B8%D0%BD%D1%83%D0%BA%D1%81%20%D0%BD%D0%B0%20%D0%BD%D0%B5%D0%B3%D0%BE%20%2B%20%D0%BE%D1%89%D0%B5%20%D0%B5%D0%B4%D0%B8%D0%BD" id="wpa2a_2"><img src="http://blog.walker-bg.info/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.walker-bg.info/2010/01/14/%d1%81%d1%8a%d0%b7%d0%b4%d0%b0%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d1%81%d0%be%d1%84%d1%82%d1%83%d0%b5%d1%80%d0%b5%d0%bd-raid1-%d0%bc%d0%b0%d1%81%d0%b8%d0%b2-%d0%be%d1%82-%d0%b4%d0%b8%d1%81%d0%ba/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Тестване на производилтелност на софтуерни RAID масиви</title>
		<link>http://blog.walker-bg.info/2010/01/12/%d1%82%d0%b5%d1%81%d1%82%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%b8%d0%b7%d0%b2%d0%be%d0%b4%d0%b8%d0%bb%d1%82%d0%b5%d0%bb%d0%bd%d0%be%d1%81%d1%82-%d0%bd%d0%b0-%d1%81%d0%be%d1%84/</link>
		<comments>http://blog.walker-bg.info/2010/01/12/%d1%82%d0%b5%d1%81%d1%82%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%b8%d0%b7%d0%b2%d0%be%d0%b4%d0%b8%d0%bb%d1%82%d0%b5%d0%bb%d0%bd%d0%be%d1%81%d1%82-%d0%bd%d0%b0-%d1%81%d0%be%d1%84/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 21:55:01 +0000</pubDate>
		<dc:creator>Walker</dc:creator>
				<category><![CDATA[Тестове]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[raid0]]></category>
		<category><![CDATA[raid1]]></category>
		<category><![CDATA[raid10]]></category>
		<category><![CDATA[raid5]]></category>
		<category><![CDATA[линукс]]></category>
		<category><![CDATA[тест]]></category>

		<guid isPermaLink="false">http://blog.walker-bg.info/?p=3</guid>
		<description><![CDATA[Здравейте, това е моята първа статия тук, поради което се надявам да бъда извинен ако има допуснати грешки, или не сте ме разбрали за нещо. В първата си статия ще обясня на кратко целия цикъл по тестването на производителността на софтуерен RAID. Тестовата система е един стар сървър P4 със 3G RAM, 2x80GB ATA дискове [...]]]></description>
			<content:encoded><![CDATA[<p>Здравейте,</p>
<p>това е моята първа статия тук, поради което се надявам да бъда извинен ако има допуснати грешки, или не сте ме разбрали за нещо.</p>
<p>В първата си статия ще обясня на кратко целия цикъл по тестването на производителността на софтуерен RAID.</p>
<p>Тестовата система е един стар сървър P4 със 3G RAM, 2x80GB ATA дискове и 6x400GB SATA дискове.</p>
<p>За операционна система използвах <a href="http://debian.org">Debian 5.0.3 stable 386i</a></p>
<p><span id="more-3"></span></p>
<p>Направих стандартна инсталация, като по време на инсталацията от инсталатора сложих двата диска по 80GB в RAID 1 масив, и го използвах за &#8222;/&#8220; на линукса.</p>
<p>След като инсталацията приключи е необходимо да създадем  RAID масивите.</p>
<p>Самото създаване става в следните стъпки:</p>
<p>Необходимо е да бъдат инсталирани следните пакети:<br />
mdadm &#8211; за създаване и управление на RAID масиви<br />
postmark &#8211; за извършване на тестовете</p>
<p>Трябва да бъдат подготвени дисковете, като им се зададе правилния тип.</p>
<p>В моя случай аз използвах fdisk</p>
<pre>server1:~# fdisk /dev/sda
The number of cylinders for this disk is set to 8355.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
  (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help):
</pre>
<p>Можете да натиснете &#8222;m&#8220; за да получите помощ в използането на fdisk.<br />
Желателно е да натиснете &#8222;p&#8220; за да прегледате текущите дискове.<br />
Ако няма такива чрез &#8222;n&#8220; трябва да създадете такъв, като в моя случай на всеки диск направих по един дял с пълния капацитет на диска.<br />
След като създадете диска чрез натискане на &#8222;t&#8220; задавате ID на диска. За RAID трябва да изберете &#8222;fd&#8220; &#8211; Linux raid auto:</p>
<pre>Command (m for help): t
Partition number (1-5): 1
Hex code (type L to list codes): L
...
...
...
16  Hidden FAT16    61   SpeedStor       f2  DOS secondary
17  Hidden HPFS/NTF 63  GNU HURD or Sys fd  Linux raid auto
18  AST SmartSleep  64  Novell Netware  fe  LANstep
1b  Hidden Win95 FA 65  Novell Netware  ff  BBT
Hex code (type L to list codes): fd
Changed system type of partition 1 to fd (Linux raid autodetect)

Command (m for help):
</pre>
<p>За да се запише всичко и излезете от fdisk трябва да въведете &#8222;w&#8220;.<br />
Операцията се повтаря за всеки диск.</p>
<p>След като сте създали всички дискове е време да ги вкарате в райд масив.<br />
Командата която използвах е mdadm.<br />
В моя случай направих тестове с 2 диска в RAID0 и RAID1, и 4 диска  в RAID0, RAID5 и RAID10.<br />
Ето как се създава масив от 2 диска в RAID0:</p>
<pre>server1:~# mdadm --create --verbose /dev/md0 --level=0  --raid-devices=2 /dev/sda1 /dev/sdb2
</pre>
<p>Следва форматиране на новосъздадения RAID масив чрез следната команда:</p>
<pre>server1:~# mkfs.ext3 /dev/md0
</pre>
<p>Остава само да монтираме масива и ще бъде готов за използване.<br />
За целта добавяме следния ред в /etc/fstab:</p>
<pre>/dev/md0      /mnt/raid0     ext3    defaults    0  0
</pre>
<p>Трябва да създадем директорията /mnt/raid0 и да монтираме RAID масива:</p>
<pre>server1:~# mkdir /mnt/raid0
server1:~# mount /dev/md0
</pre>
<p>Време е да преминем към същинската част, а именно самия тест с postmark:</p>
<pre>server1:~# postmark
pm&gt;set location /mnt/raid0
pm&gt;set number 5000
pm&gt;set transactions 5000
pm&gt;set buffering false
pm&gt;set size 500 10000000
pm&gt;run
Creating files...Done
Performing transactions..........Done
Deleting files...Done
	Time:
		966 seconds total
		591 seconds of transactions (8 per second)

	Files:
		7482 created (7 per second)
			Creation alone: 5000 files (15 per second)
			Mixed with transactions: 2482 files (4 per second)
		2510 read (4 per second)
		2490 appended (4 per second)
		7482 deleted (7 per second)
			Deletion alone: 4964 files (85 per second)
			Mixed with transactions: 2518 files (4 per second)

	Data:
		13215.77 megabytes read (13.68 megabytes per second)
		40857.20 megabytes written (42.30 megabytes per second)
</pre>
<p>Подобно на упътването по-горе направих тестове за 2 диска RAID1, и 4 диска  в RAID0, RAID5 и RAID10.<br />
Резултатите от тестовете Ви предоставям в следна графика:</p>

<div id="easyChartDiv410f8001" style='width:100%;'  style='text-align:center;' align='center'>
<!-- Easy Chart Builder by dyerware -->
<img id="easyChartDiv410f8001_img" style='text-align:center;float:center;' alt='dyerware.com' title=''  align='center' border='0' />
<br/><br/><INPUT type='button' value='Show/Hide Table Data' onclick='wpEasyChartToggle("easyChartDiv410f8001_data");' style='text-align:center;' align='center' ><br/><div class='easyChartBuilder' id="easyChartDiv410f8001_data" style='text-align:center;display:none;' align='center'></div>
</div>
<script type="text/javascript">
//<![CDATA[
wpEasyChart.wpNewChart("easyChartDiv410f8001", {"type":"vertbar","width":"350","height":"300","title":"Performance test RAID","minaxis":"","groupnames":"Raid0 2x400, Raid1 2x400, Raid0 4x400, Raid5 4x400, Raid10 4x400","groupcolors":"0070C0,FFFF00,FF0000,00CC00,A3A3A3,007070,00FFFF,CC7000,00CC70,CC0070,7000CC,A370CC","valuenames":"Read (mb\/s), Write (mb\/s)","group1values":"13.68, 42.30","group2values":"7.56, 23.36","group3values":"21.28, 65.79","group4values":"6.40, 19.79","group5values":"9.77, 30.33","group6values":"0,0,0","group7values":"0,0,0","group8values":"0,0,0","group9values":"0,0,0","group10values":"0,0,0","group11values":"0,0,0","group12values":"0,0,0","group1markers":"","group2markers":"","group3markers":"","group4markers":"","group5markers":"","group6markers":"","group7markers":"","group8markers":"","group9markers":"","group10markers":"","group11markers":"","group12markers":"","markercolor":"FFFF00","imagealtattr":"dyerware.com","imagetitleattr":"","hidechartdata":false,"chartcolor":"FFFFFF","chartfadecolor":"DDDDDD","datatablecss":"hentry easyChartDataTable","imgstyle":"text-align:center;float:center;","watermark":"","watermarkvert":"","watermarkcolor":"A0BAE9","currency":"","precision":"","grid":false,"axis":"both"});
//]]&gt;
</script>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.walker-bg.info%2F2010%2F01%2F12%2F%25d1%2582%25d0%25b5%25d1%2581%25d1%2582%25d0%25b2%25d0%25b0%25d0%25bd%25d0%25b5-%25d0%25bd%25d0%25b0-%25d0%25bf%25d1%2580%25d0%25be%25d0%25b8%25d0%25b7%25d0%25b2%25d0%25be%25d0%25b4%25d0%25b8%25d0%25bb%25d1%2582%25d0%25b5%25d0%25bb%25d0%25bd%25d0%25be%25d1%2581%25d1%2582-%25d0%25bd%25d0%25b0-%25d1%2581%25d0%25be%25d1%2584%2F&amp;title=%D0%A2%D0%B5%D1%81%D1%82%D0%B2%D0%B0%D0%BD%D0%B5%20%D0%BD%D0%B0%20%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D0%BB%D1%82%D0%B5%D0%BB%D0%BD%D0%BE%D1%81%D1%82%20%D0%BD%D0%B0%20%D1%81%D0%BE%D1%84%D1%82%D1%83%D0%B5%D1%80%D0%BD%D0%B8%20RAID%20%D0%BC%D0%B0%D1%81%D0%B8%D0%B2%D0%B8" id="wpa2a_4"><img src="http://blog.walker-bg.info/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.walker-bg.info/2010/01/12/%d1%82%d0%b5%d1%81%d1%82%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%b8%d0%b7%d0%b2%d0%be%d0%b4%d0%b8%d0%bb%d1%82%d0%b5%d0%bb%d0%bd%d0%be%d1%81%d1%82-%d0%bd%d0%b0-%d1%81%d0%be%d1%84/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

