F.3. RAID-આધારિત અને મલ્ટીપથ સંગ્રહસ્થાન રુપરેખાંકિત કરવા માટે mdadm નો વપરાશ

બીજા સાધનોની જેમ જ raidtools પેકેજ જૂથ બનેલું છે, mdadm આદેશ ઘણા-ઉપકરણ સમૂહોના સુયોજન માટે બધા જરુરી વિધેયો કરવા માટે વાપરી શકાય છે. આ વિભાગ તમને સમજાવે છે કે કેવી રીતે mdadm વાપરી શકાશે:

F.3.1. mdadm સાથે RAID ઉપકરણ બનાવો

RAID ઉપકરણ બનાવવા માટે, યોગ્ય DEVICE અને ARRAY કિંમતો વ્યાખ્યાયિત કરવા માટે /etc/mdadm.conf ફાઈલમાં ફેરફાર કરો :

DEVICE /dev/sd[abcd]1
ARRAY /dev/md0 devices=/dev/sda1,/dev/sdb1,/dev/sdc1,/dev/sdd1

આ ઉદાહરણમાં, DEVICE લીટી એ પારંપરિક ફાઈલ નામ ઉમદાકરણ વાપરી રહી છે (વધુ જાણકારી માટે glob(7) મદદ પાનાંઓનો સંદર્ભ લો) નીચેના SCSI ઉપકરણો વ્યાખ્યાયિત કરવા માટે:

ARRAY લીટી RAID ઉપકરણને વ્યાખ્યાયિત કરે છે (/dev/md0) કે જે DEVICE લીટી દ્વારા વ્યાખ્યાયિત SCSI ઉપકરણો દ્વારા બનેલું છે.

કોઈપણ RAID ઉપકરણોની બનાવટ અથવા વપરાશ પહેલાં, /proc/mdstat ફાઈલ કોઈ RAID ઉપકરણો સક્રિય નથી એમ બતાવે છે:

Personalities :
read_ahead not set
Event: 0
unused devices: <none>

પછી, ઉપરનું રુપરેખાંકન વાપરો અને RAID 0 ઍરે બનાવવા માટે mdadm આદેશ વાપરો:

mdadm -C /dev/md0 --level=raid0 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 \
/dev/sdd1
Continue creating array? yes
mdadm: array /dev/md0 started.

એકવાર બની ગયા પછી, RAID ઉપકરણને પરિસ્થિતિ જાણકારી પૂરી પાડવા માટે કોઈપણ સમયે પ્રશ્ન કરી શકાય છે. નીચેના ઉદાહરણો mdadm --detail /dev/md0 આદેશમાંથી આઉટપુટ બતાવે છે:

/dev/md0:
Version : 00.90.00
Creation Time : Mon Mar  1 13:49:10 2004
Raid Level : raid0
Array Size : 15621632 (14.90 GiB 15.100 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Mon Mar  1 13:49:10 2004
State : dirty, no-errors
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0

Chunk Size : 64K

Number   Major   Minor   RaidDevice State
0       8        1        0      active sync   /dev/sda1
1       8       17        1      active sync   /dev/sdb1
2       8       33        2      active sync   /dev/sdc1
3       8       49        3      active sync   /dev/sdd1
UUID : 25c0f2a1:e882dfc0:c0fe135e:6940d932
Events : 0.1

F.3.2. mdadm ની સાથે મલ્ટીપથ ઉપકરણ બનાવો

RAID ઍરે બનાવવા સાથે વધારામાં, mdadm એ એક કરતાં વધારે I/O પથને અંગત SCSI LUN ને (ડિસ્ક ડ્રાઈવોને) હાર્ડવેર આધાર આપવાનો લાભ લેવા માટે વાપરી શકાય છે. મલ્ટીપથ સંગ્રહનો ધ્યેય એ છે કે સતત માહિતીની ઉપ્લબ્ધતાને હાર્ડવેરની નિષ્ફળતામાં અથવા અંગત પથની મર્યાદામાં પણ ચાલુ રાખવાનો છે. કારણ કે આ રુપરેખાંકન ઘણા બધા પથ સમાવે છે (દરેક સ્વતંત્ર વર્ચ્યુઅલ નિયંત્રક તરીકે કામ કરે છે) સામાન્ય SCSI LUN (ડિસ્ક ડ્રાઈવ) વાપરવા માટે, Linux કર્નલ દરેક સહભાગી ડ્રાઈવને એક વાર દરેક પથ "મારફતે" શોધે છે. બીજા શબ્દોમાં, SCSI LUN (ડિસ્ક ડ્રાઈવ) /dev/sda તરીકે ઓળખાય છે કે જે /dev/sdb, /dev/sdc, તરીકે પણ વાપરી શકાય છે અને એ જ રીતે, ચોક્કસ રુપરેખાંકન પર આધાર રાખીને.

એક ઉપકરણ પૂરુ પાડવા માટે કે જે સુલભ રહી શકે જો I/O પથ નિષ્ફળ જાય અથવા મર્યાદિત બને, mdadm તેના ––level વિકલ્પમાં વધારાના પરિમાણો સમાવે છે. આ પરિમાણ — multipath — I/O માંગણીઓને I/O પથની નિષ્ફળતાની ઘટનામાં એક પથમાર્ગમાંથી બીજામાં પુનઃ માર્ગ આપવા માટે md સ્તરને Linux કર્નલમાં દિશામાન કરે છે.

મલ્ટીપથ ઉપકરણ બનાવવા માટે, /etc/mdadm.conf ફાઈલમાં ફેરફાર કરો DEVICE અને ARRAY લીટીઓ માટેની કિંમતો વ્યાખ્યાયિત કરવા માટે કે જે તમારા હાર્ડવેર રુપરેખાંકનને અસર કરે છે.

નોંધનોંધ
 

પહેલાના RAID ઉદાહરણની જેમ (જ્યાં દરેક ઉપકરણ /etc/mdadm.conf માં સ્પષ્ટ થયેલ છે તે વિવિધ ભૌતિક ડિસ્ક ડ્રાઈવોને રજૂ કરે જ છે), આ ફાઈલમાંનું દરેક ઉપકરણ તે જ વહેંચાયેલ ડિસ્ક ડ્રાઈવનો સંદર્ભ લેતું નથી.

મલ્ટીપથ ઉપકરણની બનાવટ માટે વપરાતો આદેશ RAID ઉપકરણ બનાવવા માટે વપરાતા જેવો જ છે; તફાવત એ છે કે RAID સ્તર પરિમાણોની multipath પરિમાણ સાથે ફેરબદલી છે:

mdadm -C /dev/md0 --level=multipath --raid-devices=4 /dev/sda1 /dev/sdb1  
/dev/sdc1 /dev/sdd1
Continue creating array? yes
mdadm: array /dev/md0 started.

mdadm આદેશ વાક્યની લંબાઈના કારણે, લીટીઓમાં તૂટી ગયેલ છે.

આ ઉદાહરણમાં, હાર્ડવેર એક SCSI LUN સમાવે છે કે જે ચાર અલગ SCSI ઉપકરણો તરીકે રજૂ થાય છે, દરેક અલગ પથ મારફતે એક જ સંગ્રહસ્થાન વાપરે છે. એક વાર મલ્ટીપથ ઉપકરણ /dev/md0 બની જાય, પછી બધી I/O પ્રક્રિયાઓ કે જે /dev/md0 નો સંદર્ભ લે છે તે /dev/sda1, /dev/sdb1, /dev/sdc1, અથવા /dev/sdd1 તરફ દિશામાન થાય છે (વર્તમાનમાં કયો પથ સક્રિય છે અને પ્રક્રિયક છે તેના પર આધાર રાખીને).

/dev/md0 ના રુપરેખાંકનની પરીક્ષા વધુ નજીકથી કરી શકાય છે એ વાસ્તવમાં મલ્ટીપથ ઉપકરણ છે તેની ચકાસણી કરવા માટે mdadm --detail /dev/md0 આદેશ વાપરી રહ્યા છીએ:

/dev/md0:
Version : 00.90.00
Creation Time : Tue Mar  2 10:56:37 2004
Raid Level : multipath
Array Size : 3905408 (3.72 GiB 3.100 GB)
Raid Devices : 1
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Tue Mar  2 10:56:37 2004
State : dirty, no-errors
Active Devices : 1
Working Devices : 4
Failed Devices : 0
Spare Devices : 3

Number   Major   Minor   RaidDevice State
0       8       49        0      active sync   /dev/sdd1
1       8       17        1      spare   /dev/sdb1
2       8       33        2      spare   /dev/sdc1
3       8        1        3      spare   /dev/sda1
UUID : 4b564608:fa01c716:550bd8ff:735d92dc
Events : 0.1

mdadm નું બીજું લક્ષણ એ તેની ઉપકરણને (તેને RAID ઍરેનો સભ્ય અથવા મલ્ટીપથ રુપરેખાંકનમાં પથ રાખવા માટે) રુપરેખાંકન પર પ્રક્રિયા કરવામાંથી દૂર કરવાની ક્ષમતા છે. નીચેના ઉદાહરણમાં, /dev/sda1 એ ભૂલભરેલ તરીકે નિશાનીત થયેલ છે, પછી તે દૂર થશે, અને છેલ્લે તે રુપરેખાંકનમાં પાછું ઉમેરાઈ જશે. મલ્ટીપથ રુપરેખાંકન માટે, આ ક્રિયાઓ કોઈપણ I/O ક્રિયાઓ કે જે સમયસર બને છે તેને અસર કરતું નથી:

# mdadm /dev/md0 -f /dev/sda1
mdadm: set /dev/sda1 faulty in /dev/md0
# mdadm /dev/md0 -r /dev/sda1
mdadm: hot removed /dev/sda1
# mdadm /dev/md0 -a /dev/sda1
mdadm: hot added /dev/sda1
#