Anda di halaman 1dari 9

http://linux2.arinet.

org

PanduanRecoveryRAID1(mirror)Linux
DiartikelsebelumnyakitatelahbelajarcaramembuatserverdenganRAID1(mirror)
menggunakansolusisoftwareRaidLinux.Danjugakitasempatmensimulasikan
kegagalansalahsatuharddisk.NamunbagaimanajikakitaBENAR2mengalamikegagalan
harddisk?Janganpanik,berikutinilangkah2nya.Tapisebelumnyadarimanakitatahu
bahwasalahsatuharddiskdiraidarraykitagagal/rusak?Inilahyangmenenangkannya:Linuxakan
mengirimkanemailsecaraotomatiskekitajikasalahsaturaidarraynyagagal.
Tapisebelumnyadarimanakitatahubahwasalahsatuharddiskdiraidarraykitagagal/rusak?Inilah
yangmenenangkannya:Linuxakanmengirimkanemailsecaraotomatiskekitajikasalahsaturaid
arraynyagagal.
Sepertiiniemailnya:
DegradedArrayeventon/dev/md0:servermail3.kantorku.kom
From:mdadmmonitoring<root@kantorku.kom>
To:root@kantorku.kom
Date:Yesterday18:53:45
Thisisanautomaticallygeneratedmailmessagefrommdadm
runningonservermail3.kantorku.kom
ADegradedArrayeventhadbeendetectedonmddevice/dev/md0.
Faithfullyyours,etc.
Secaragarisbesar,langkah2penanganankejadiahsepertiiniadalah:
1.Janganpanik.Grogiboleh,tapijanganberlebihan.Konsentrasilahpenuh,terutamapadasaat
partisiharddisk.
2.CekstatusRAIDarraynya.
3.Cobarebuildkembaliarraynya.
4.Bilagagal,berartiadakerusakandifisikharddisknya.
5.Siapkanharddiskpenggantiyangidentikmerek,modeldankapasitasnya.
6.Partisiharddiskpenggantitersebutsecaraidentikdenganschemeyangkitagunakan.
7.Rebuildkembaliraidarraynya.
8.Testharddiskbarutersebut.

page1of9

http://linux2.arinet.org
Baiklahkitajabarkanlebihlanjutlangkah2nya:
1.Janganpanik.Deg2anwajar,tapitetaptenang.Percayadiribahwakejadiansepertiinicepatatau
lambatpastiterjadi.Tinggaltergantungbagaimanakitameresponnyaapakahsiapatautidak,dan
sebagaiadminLinuxyangbaiktentukitasudahsiap.Siapkanreferensicommand2yangakan
diperlukanbilabelumhapal,danjugabukalah2buahterminaluntukmemudahkankitamemonitorapa
yangterjadi.Bacasetiapcommandyangkitaketikkan23kalisebelummenekantombolenter.
TerutamajangansampaiTERTUKARantarasdadansdb.Bilaternyataharddiskyangrusakadalahsda,
kemudiankitatidaksengajajustrumempartisisdb,hilanglahsemuanya.Berkonsentrasilah,bilaperlu
bilangkepadarekanlainbahwauntuksementarawaktukitatidakmenerimatelpondahuludari
siapapun,atausebaiknyalakukanrecoveryinidimalamharidisaattidakadayangdapatmengganggu
kita(kecualibilakantorkamuadamakhlukhalusnya).
2.CekstatusRAIDarraynya.
Loginkeserverdangunakancommandiniuntukmengecekstatusraidarray:
[root@servermail3~]#cat/proc/mdstat
Personalities:[raid1]
md1:activeraid1sdb2[1]
243995136blocks[2/1][_U]
md0:activeraid1sdb1[1]
200704blocks[2/1][_U]
unuseddevices:<none>
Terlihatbahwasdatidakaktifdidalamraidarray,baikdiarraymd0maupunmd1.
3.Kitabisamencobauntukmerebuildkembaliraidarraynya.
[root@servermail3~]#mdadm/dev/md0a/dev/sda1
[root@servermail3~]#mdadm/dev/md1a/dev/sda2
4.Bilagagal,berartiadakerusakandifisikharddisknya.Dalamkasussayaini,md0berhasildi
rebuild,namunketikamerebuildmd1,ternyataserverrestartsendiri.Dicobabeberapakalitetaprestart
terus.Bilaterjadihalini,makauntukmencegahkerusakanlebihlanjutakibatterjadinyarestartterus
menerus,makakitamestimenonaktifkansdadariraidarray:
[root@servermail3~]#mdadm/dev/md0f/dev/sda1
[root@servermail3~]#mdadm/dev/md1f/dev/sda2

page2of9

http://linux2.arinet.org
Kemudiankitaremovesdadariraidarray:
[root@servermail3~]#mdadm/dev/md0r/dev/sda1
[root@servermail3~]#mdadm/dev/md1r/dev/sda2
5.Siapkanharddiskpenggantiyangidentikmerek,modeldankapasitasnya.Halinipentingsebab
bilaharddiskpenggantiituternyatakapasitasnyalebihkecil,makakitatidakakandapatmerebuildraid
arraynyasecarasempurna.
6.Perhatian,dilangkahke6dibutuhkankonsentrasitinggi.Kinikitamempartisiharddisk
penggantiini.Janganlupadipasangdulukeservernya.Hehe..
6a.Tunggudulu,darimanakitatahubagaimanaskemapartisinya?Kitabisamelihatnyadariharddisk
yangmasihbekerjabagus,yaitusdb:
[root@servermail3~]#fdiskl/dev/sdb
Disk/dev/sdb:250.0GB,250059350016bytes
255heads,63sectors/track,30401cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEndBlocksIdSystem
/dev/sdb1*125200781fdLinuxraidautodetect
/dev/sdb22630401243995220fdLinuxraidautodetect

Daridatadiataskitadapatmengetahuibahwa:
Partisisdb1dimulaidaricylinder1s/d25,jenispartisinyaadalahfd(Linuxraid)
Partisisdb2dimulaidaricylinder26s/d30401,jenispartisinyaadalahfd(Linuxraid)
6b.Marikitamulaimempartisiharddiskpenggantitersebut.Ingat,tetapkonsentrasi.
Sebelumnyakitapastikanbahwabenarsdabelumadapartisiapapun:
[root@servermail3~]#fdiskl/dev/sda
Disk/dev/sda:250.0GB,250059350016bytes
255heads,63sectors/track,30401cylinders
Units=cylindersof16065*512=8225280bytes
Disk/dev/sdadoesn'tcontainavalidpartitiontable
Kitamulaipartisisda:
[root@servermail3~]#fdisk/dev/sda
DevicecontainsneitheravalidDOSpartitiontable,norSun,SGIor
OSFdisklabel
BuildinganewDOSdisklabel.Changeswillremaininmemoryonly,
untilyoudecidetowritethem.Afterthat,ofcourse,theprevious
contentwon'tberecoverable.
page3of9

http://linux2.arinet.org

Thenumberofcylindersforthisdiskissetto30401.
Thereisnothingwrongwiththat,butthisislargerthan1024,
andcouldincertainsetupscauseproblemswith:
1)softwarethatrunsatboottime(e.g.,oldversionsofLILO)
2)bootingandpartitioningsoftwarefromotherOSs
(e.g.,DOSFDISK,OS/2FDISK)
Warning:invalidflag0x0000ofpartitiontable4willbecorrected
byw(rite)
Command(mforhelp):
Marikitaketikmuntukmelihatcommandapasajayangada.
Command(mforhelp):m
Commandaction
atoggleabootableflag
beditbsddisklabel
ctogglethedoscompatibilityflag
ddeleteapartition
llistknownpartitiontypes
mprintthismenu
naddanewpartition
ocreateanewemptyDOSpartitiontable
pprintthepartitiontable
qquitwithoutsavingchanges
screateanewemptySundisklabel
tchangeapartition'ssystemid
uchangedisplay/entryunits
vverifythepartitiontable
wwritetabletodiskandexit
xextrafunctionality(expertsonly)
Darihelpdiatasterlihatbahwauntukmembuatpartisibarucommandnyaadalah:n
Kitabuatpartisisda1:
Command(mforhelp):n
Commandaction
eextended
pprimarypartition(14)
p
Partitionnumber(14):1
Firstcylinder(130401,default1):1
Lastcylinderor+sizeor+sizeMor+sizeK(130401,default30401):
page4of9

http://linux2.arinet.org
25
Kemudianpartisisda2:
Command(mforhelp):n
Commandaction
eextended
pprimarypartition(14)
p
Partitionnumber(14):2
Firstcylinder(2630401,default26):
Usingdefaultvalue26
Lastcylinderor+sizeor+sizeMor+sizeK(2630401,default30401):
Usingdefaultvalue30401
6c.Selanjutnyakitamestimendefinisikanjenispartisinya,dalamhaliniadalah:fd(Linuxraid
auto).Kitalihatdaftarnyabilaperlu.
Command(mforhelp):t
Partitionnumber(14):1
Hexcode(typeLtolistcodes):L
0Empty1eHiddenW95FAT175PC/IXbeSolarisboot
1FAT1224NECDOS80OldMinixbfSolaris
2XENIXroot39Plan981Minix/oldLinc1DRDOS/sec(FAT
3XENIXusr3cPartitionMagic82Linuxswapc4DRDOS/sec(FAT
4FAT16<32M40Venix8028683Linuxc6DRDOS/sec(FAT
5Extended41PPCPRePBoot84OS/2hiddenC:c7Syrinx
6FAT1642SFS85LinuxextendeddaNonFSdata
7HPFS/NTFS4dQNX4.x86NTFSvolumesetdbCP/M/CTOS/.
8AIX4eQNX4.x2ndpart87NTFSvolumesetdeDellUtility
9AIXbootable4fQNX4.x3rdpart8eLinuxLVMdfBootIt
aOS/2BootManag50OnTrackDM93Amoebae1DOSaccess
bW95FAT3251OnTrackDM6Aux94AmoebaBBTe3DOSR/O
cW95FAT32(LBA)52CP/M9fBSD/OSe4SpeedStor
eW95FAT16(LBA)53OnTrackDM6Auxa0IBMThinkpadhiebBeOSfs
fW95Ext'd(LBA)54OnTrackDM6a5FreeBSDeeEFIGPT
10OPUS55EZDrivea6OpenBSDefEFI(FAT12/16/
11HiddenFAT1256GoldenBowa7NeXTSTEPf0Linux/PARISCb
12Compaqdiagnost5cPriamEdiska8DarwinUFSf1SpeedStor
14HiddenFAT16<361SpeedStora9NetBSDf4SpeedStor
16HiddenFAT1663GNUHURDorSysabDarwinbootf2DOSsecondary
17HiddenHPFS/NTF64NovellNetwareb7BSDIfsfdLinuxraidauto
18ASTSmartSleep65NovellNetwareb8BSDIswapfeLANstep
1bHiddenW95FAT370DiskSecureMultbbBootWizardhidffBBT
1cHiddenW95FAT3
Hexcode(typeLtolistcodes):fd
Changedsystemtypeofpartition1tofd(Linuxraidautodetect)

page5of9

http://linux2.arinet.org
Yangsda2juga:
Command(mforhelp):t
Partitionnumber(14):2
Hexcode(typeLtolistcodes):fd
Changedsystemtypeofpartition2tofd(Linuxraidautodetect)
Janganlupakitaseteljugapartisisda1sebagaibootpartition:
Command(mforhelp):a
Partitionnumber(14):1
6d.Setelahselesai,danyakinbahwakitatidakmelakukankesalahan,makakitasaveskema
partisiyangkitabuatini.
Command(mforhelp):w
Thepartitiontablehasbeenaltered!
Callingioctl()torereadpartitiontable.
Syncingdisks.
6e.Kernelmenyimpaninformasipartisidimemory,yangdibacapadasaatbooting.Bilakitatidakingin
melakukanbootingulang,makakitabisamenggunakancommandiniuntukmemaksakernelmembaca
kembalitablepartisi:
partprobe
6f.Kitacekbahwakerneltelahmengenalipartisiyangbarudisda:
[root@servermail3~]#fdiskl/dev/sda
Disk/dev/sda:250.0GB,250059350016bytes
255heads,63sectors/track,30401cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEndBlocksIdSystem
/dev/sda1*125200781fdLinuxraidautodetect
/dev/sda22630401243995220fdLinuxraidautodetect

7.Kinisaatnyakitamembangunkembaliraidarraymirrorkita.Distepinijugadiperlukan
konsentrasitinggi.Jangansampaisalahketik.
7a.Kitalihatbahwaraidarraybelumterbuild:
[root@servermail3~]#cat/proc/mdstat
Personalities:[raid1]
page6of9

http://linux2.arinet.org
md1:activeraid1sdb2[1]
243995136blocks[2/1][_U]
md0:activeraid1sdb1[1]
200704blocks[2/1][_U]
unuseddevices:<none>
7b.Kitaadd/dev/sda1kedalamarray/dev/md0:
[root@servermail3~]#mdadm/dev/md0a/dev/sda1
mdadm:hotadded/dev/sda1
Kitadapatlihatprosesrebuildingnya:
[root@servermail3~]#cat/proc/mdstat
Personalities:[raid1]
md1:activeraid1sdb2[1]
243995136blocks[2/1][_U]
md0:activeraid1sda1[2]sdb1[1]
200704blocks[2/1][_U]
[==============>......]recovery=74.1%(150464/200704)finish=0.0min
speed=37616K/sec

Setelahbeberapasaat,/dev/md0telahselesaidirebuild:
[root@servermail3~]#cat/proc/mdstat
Personalities:[raid1]
md1:activeraid1sdb2[1]
243995136blocks[2/1][_U]
md0:activeraid1sda1[0]sdb1[1]
200704blocks[2/2][UU]
unuseddevices:<none>
7c.Kemudiankitaaddjuga/dev/sda2ke/dev/md1:
[root@servermail3~]#mdadm/dev/md1a/dev/sda2
mdadm:hotadded/dev/sda2
Segeradiaakanotomatismerebuildarraynya:
[root@servermail3~]#cat/proc/mdstat
Personalities:[raid1]
md1:activeraid1sda2[2]sdb2[1]
243995136blocks[2/1][_U]
[>....................]recovery=0.2%(606656/243995136)finish=80.2min

page7of9

http://linux2.arinet.org
speed=50554K/sec
md0:activeraid1sda1[0]sdb1[1]
200704blocks[2/2][UU]
unuseddevices:<none>

Diserversaya,prosesrebuildmirroruntukharddisksebesar250GBmemerlukanwaktu1,5jam.
7d.Setelahselesai,makadi/proc/mdstatkitadapatmelihatbahwaarraytelahsempurna
kembali:
[root@servermail3~]#cat/proc/mdstat
Personalities:[raid1]
md1:activeraid1sda2[0]sdb2[1]
243995136blocks[2/2][UU]
md0:activeraid1sda1[0]sdb1[1]
200704blocks[2/2][UU]
unuseddevices:<none>
Jugadi/var/log/messagesadapesanbahwaRAID1telahselesaidirebuild:
Sep1820:49:37servermail3kernel:md:md1:syncdone.
Sep1820:49:37servermail3kernel:RAID1confprintout:
Sep1820:49:37servermail3kernel:wd:2rd:2
Sep1820:49:37servermail3kernel:disk0,wo:0,o:1,dev:sda2
Sep1820:49:37servermail3kernel:disk1,wo:0,o:1,dev:sdb2
8Testharddiskbarutersebutdenganmencopotataumenonaktifkansdb.
Kesimpulan:
LinuxmenyediakansolusiproteksidatamenggunakansoftwareRAIDlangsungdarikernelnya.
Tanpaperlumenggunakanhardwareraidkhususyangmahal.Performancedankehandalannyadapat
kitalihatsendiridaricontohkasusRAID1(mirroring)ini,dimanaketikasebuahharddiskrusak,
harddiskyangsatulagimasihtersedia.Kitatinggalmenggantiharddiskyangrusakitu,merebuildraid
arraynyadandatakitaakanterlindungkembaliolehRAID1.
IngatlahlangkahyangsingkatiniuntukmerecoveryRAID1diLinux:
1.Janganpanik.Grogiboleh,tapijanganberlebihan.Konsentrasilahpenuh,terutamapadasaat
partisiharddisk.
2.CekstatusRAIDarraynya.
3.Cobarebuildkembaliarraynya.
page8of9

http://linux2.arinet.org
4.Bilagagal,berartiadakerusakandifisikharddisknya.
5.Siapkanharddiskpenggantiyangidentikmerek,modeldankapasitasnya.
6.Partisiharddiskpenggantitersebutsecaraidentikdenganschemeyangkitagunakan.
7.Rebuildkembaliraidarraynya.
8.Testharddiskbarutersebut.
v.1.0byari_stressa.k.atiger74a.k.aFajarPriyantoBukitSentul,19September
2006.Email:fajarpriatarinetdotorg.HeisaMicrosoftCertifiedProfessional
whofallsinlovewithLinux.WorkingatanautomotivedealerinJakarta.

page9of9

Anda mungkin juga menyukai