السلام عليكم ورحمة الله وبركاته
سأتحدث في هذا الموضوع عن تقنية الريد RAID ، هذه التقنية تستخدم لتحسين اداء الهاردسك مع الحفاظ على جودة الاداء والبيانات ، تعمل بعدة طرق مختلفة ولها عدة انواع ، بعضها يحسن السرعة ولكنه لا يحافظ على البيانات بشكل جيد ، هذه التقنية تطبق على بيانات بهاردسكات مستقلة ولكن بعضها سرعته بطيئة مقارنة بالانواع الاخرى وهكذا ، وبعضها يحتاج الى عدد معين من الهارد دسك، وماهذا المقال الا تطبيق أفضل نوع هو RAID 5 أو النوع الخامس.
هذا النوع سريع نسبيا ويحافظ على جودة الاداء ، فهو حسب ماقرأت يجمع بين مميزات كل الانواع الاخرى ، ويحتاج على الاقل الى ثلاث بارتشنز ممكن ان يكونوا منعزلين كل بارتشن يمثل هاردسك مستقل ، او يكونوا بنفس الهارد مافي مشكلة ، لكنه مصمم ليعمل على ثلاث هاردات كل واحد منفصل عن الاخر ، تقنية الريد تمكننا من جمع هذه البارتشنز الى بارتشن وحيد ذو جودة عاليه من ناحية التوافرية والسرعة ، لو يضرب عليك او يفصل احد الهاردات تبقى البيانات متوفره بالهارد الاخر ، بالاضافة الى بلوك خاص بتدقيق البيانات والتأكد من فشلها والعمل على تصحيحها.
تطبيق هذه التقنية سهل جدا ولا يحتاج منك الا تركيز و تطبيق الخطوات التالية .
سنقوم بعمل 4 بارتشنات من نوع fd ، كل واحد منها بحجم 1GB ، وسنجمعهم تحت بارتشن RAID واحد ، هذا كل ماسنقوم به
أولا / نقوم بانشاء 4 بارتشنات من نوع fd باستخدام الاداة fdisk ، هذه الاداة مشروحة بالتفصيل هنا و هنا ، فلا داعي لكتابة أي شي عنها هنا
يعني ناتج الامر fdisk -l يجب ان يكون يحتوي على مايلي
كود:
[root@ex4mple ~]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 255 2048256 83 Linux
/dev/hda2 256 2805 20482875 83 Linux
/dev/hda3 2806 4080 10241437+ 83 Linux
/dev/hda4 4081 9729 45375592+ 5 Extended
/dev/hda5 4081 4203 987966 fd Linux raid autodetect
/dev/hda6 4204 4326 987966 fd Linux raid autodetect
/dev/hda7 4327 4449 987966 fd Linux raid autodetect
/dev/hda8 4450 4572 987966 fd Linux raid autodetect
مثل ماتشوفون لدي 4 بارتشنات من نوع RAID وهي hda5 حتى hda8 ، و ممكن يكونوا كل بارتشن على هارد اخر مافي اي مشكلة بل هذه التقنية وجدت لذلك.
وكوني مستخدم شخصي لا أملك 4 هارد دسكات في جهازي ، لذا سنعمل التقنية على 4 بارتشنز بنفس الهارد.
ثم أقوم باعادة تشغيل الجهاز.
ثانيا/ تركيب الحزمة raidtools كتركيب أي برنامج ، لمعرفة طرق تركيب البرامج اضغط هنا ، ابحث عن وستجدها بأي مكان.
ثالثا/ الاعدادات :
هناك طريقتين لاعداد بارتشن RAID
أ ) من خلال انشاء ملف raidtab
كود:
[root@ex4mple ~]# nano /etc/raidtab
raiddev /dev/md0
raid-level 5
nr-raid-disks 4
persistent-superblock 0
chunk-size 8
device /dev/hda5
raid-disk 0
device /dev/hda6
raid-disk 1
device /dev/hda7
raid-disk 2
device /dev/hda8
raid-disk 3
سأشرح كل سطر لوحدة :
أولا قمنا بتعريف الهارد الوهمي الجديد لدينا raiddev /dev/md0 وراح نتعامل معه كهاردسك حقيقي كما سنرى.
ثانيا raid-level وهو نوع الريد المستخدم كما ذكرنا سابقا النوع الخامس 5.
ثالثا nr-raid-disks وهو عدد البارتشنات المستخدمة 4.
رابعا persistent-superblock صراحه لا أعلم ماذا يعني تحديدا
خامسا chunk-size وهو حجم البيانات التي تكتب بنفس اللحظة في كل بارتشن ، بالكيلو بايت 8.
سادسا قمنا بتعريف البارتشنات على النحو التالي
كود:
device /dev/hda5
raid-disk 0
device /dev/hda6
raid-disk 1
device /dev/hda7
raid-disk 2
device /dev/hda8
raid-disk 3
طبعا الترقيم يبدأ من 0 وحتى عدد البارتشنات الموجودة ، ولا يمنع من كتابتها بنفس الطريقة لو كان كل بارتشن على هارد آخر ، مثال
كود:
device /dev/hda1
raid-disk 0
device /dev/hde1
raid-disk 1
device /dev/hdf1
raid-disk 2
device /dev/hdc1
raid-disk 3
بعد حفظ الملف ,واعداده كما تريد بشكل صحيح قم بانشاء البارتشن الجديد بالامر mkraid
كود:
[root@ex4mple ~]# mkraid /dev/md0
handling MD device /dev/md0
analyzing super-block
ثم نتحقق من عمل البارتشن بالامر
كود:
[root@ex4mple ~]# cat /proc/mdstat
Personalities : [raid5]
md0 : active raid5 hda8[3] hda7[2] hda6[1] hda5[0]
2963880 blocks level 5, 8k chunk, algorithm 0 [4/4] [UUUU]
[>....................] resync = 1.6% (16880/987960) finish=5.7min speed=2813K/sec
unused devices: <none>
[root@ex4mple ~]#
هذه الطريقة الاولى لاعداد وتجهيز البارتشن
ب ) الطريقة الثانية من خلال الامر mdadm
كود:
[root@ex4mple ~]# mdadm --create /dev/md0 --level=5 --raid-devices=4 /dev/hda5 /dev/hda6 /dev/hda7 /dev/hda8
هذا الامر أسهل واسرع بكثير من انشاء الملف يدوياُ
ثم نتحقق من عمل البارتشن بنفس الامر السابق mdadm
كود:
[root@ex4mple raid]# mdadm --detail /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Thu Jun 7 02:00:59 2007
Raid Level : raid5
Array Size : 2963880 (2.83 GiB 3.04 GB)
Device Size : 987960 (964.80 MiB 1011.67 MB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is not persistent
Update Time : Thu Jun 7 02:09:02 2007
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : left-asymmetric
Chunk Size : 8K
Number Major Minor RaidDevice State
0 3 5 0 active sync /dev/hda5
1 3 6 1 active sync /dev/hda6
2 3 7 2 active sync /dev/hda7
3 3 8 3 active sync /dev/hda8
[root@ex4mple raid]#
يعمل كمانرى ، الان نعمل فورمات للبارتشن ونجعله نظام الملفات فيه ext3 بالامر mke2fs
كود:
[root@ex4mple ~]# mke2fs -j /dev/md0
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
370944 inodes, 740970 blocks
37048 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=759169024
23 block groups
32768 blocks per group, 32768 fragments per group
16128 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@ex4mple ~]#
الان نعمل mount لهذا البارتشن
كود:
[root@ex4mple ~]# mkdir raid
[root@ex4mple ~]# mount /dev/md0 /root/raid
[root@ex4mple ~]#
المواقع ذات المحتويات المهمة عليها جعل مجلد /home يشير الى بارتشن الريد ، ويستعيد أي بك اب كانت موجوده فيه
نتحقق من عمل البارتشن بالامر df
كود:
[root@ex4mple raid]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda2 20G 6.2G 13G 34% /
/dev/hda1 2.0G 38M 1.8G 3% /boot
/dev/hda3 9.7G 57M 9.1G 1% /home
/dev/md0 2.8G 37M 2.7G 2% /root/raid
[root@ex4mple raid]#
كما هو ظاهر لنا في السطر الاخير /dev/md0 معمول له mount point وهو المجلد /root/raid
وماننسى اضافة الـ mount لملف fstab
كود:
/dev/md0 /root/raid ext3 defaults 0 0
حتى يتوفر البارتشن دائماً عند تشغيل السيرفر
ثم الامر
هذا الموضوع مجرد تطبيق لهذه التقنية ليس كل شي عنها ، لذا عليك البحث عن المزيد ان لزم الامر.
وللاسف كل مصادر المعلومات عنها انجليزية هذا ممكن يكون أول مقال عربي
أتمنى تعم الفائدة للجميع