Etiket arşivi: linux raid

mdraid kontrol, disk ekle, disk çıkart

Mdraid bana göre Linux’un bize sunduğu sayısız nimetlerden yalnızca biridir. Bugün kısa kısa mdraid için ipuçları vermeye çalışacağım. Genel olarak mdraid nasıl yapılır, nasıl kaldırılırdan ziyade sorun tespiti, müdahale gibi konular üzerinde durmak isterim.

Öncelikle mevcut mdraid durumumuzu görüntüleyelim;
[codesyntax lang=”bash”]
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdk1[0]
117153664 blocks super 1.2 [2/1] [U_]

md127 : active raid1 sdy[1] sdm[0]
499976384 blocks super 1.2 [2/2] [UU]

unused devices: <none>
[/codesyntax]
Görüldüğü üzere md0 raidimizde sorun var. Diyelim ki md0 bizim root ( / ) dizinimiz olsun. Bu durumda diğer diskte, FS’de, partitionda çıkabilecek bir sorunda işletim sistemimizi kaybedebiliriz. Hızlı bir şekilde duruma müdahale etmekte fayda var.

Benim md0 raidimde sdk1 ve sdl1 diskleri mevcut, anladığımda kadarıyla sdl diskinde hardwaresel bir sorun çıkmış ve işletim sistemi diski görmüyor. Senaryo dahilinde sdl diskini değiştirdim ve sıfır bir disk taktım. Henüz üzerinde partition dahi yok.

Öncelikle sdk1 ile eşit boyutta bir partition oluşturmalıyım, bunun için parted komutu işimi görecektir;
[codesyntax lang=”bash”]

parted /dev/sdl

[/codesyntax]
Partition’ın nasıl oluşturulduğuna burada değinmeyeceğim.

mdadm mdraid

Şimdi yukarıdaki uyarıya göre ikinci diski hiç görmediğimiz için herhangi bir şey yapmamıza gerek yok, direkt olarak yeni partitioni raide eklememiz yeterli olacaktır.
[codesyntax lang=”bash”]
# mdadm –manage /dev/md0 –add /dev/sdl1
[/codesyntax]
Bu komutla birlikte ilgili partition raide eklendi, şimdi sistem raide uygun şekilde eşlemeyi yapacaktır. Bunu görmek için de;
[codesyntax lang=”bash”]
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdl1[2] sdk1[0]
117153664 blocks super 1.2 [2/1] [U_]
[===>……………..] recovery = 17.8% (20913856/117153664) finish=7.9min speed=201149K/sec

md127 : active raid1 sdy[1] sdm[0]
499976384 blocks super 1.2 [2/2] [UU]

unused devices: <none>
[/codesyntax]

İlgili disk eşitleniyor. Eşitleme işlemi bittikten sonra md0 karşısındak, [U_] kısmı [UU] şeklinde düzelecektir.

Buraya kadar her şey güzel ancak şöyle senaryolar ile de karşılaşabilirdik;
– Bir disk fiziksel hata vermeye başlar ancak çalışmaya devam edebilirdi.
– Bir diskin ömrünün bitmek üzere olduğunu gördüp değiştirmemiz gerekebilirdi.
– Diski değiştirmemizi gerektiren farklı durumlar olabilirdi.

Bu durumlarda disk sistemde görünmeye devam edecek ve MDRAID hata vermeyecektir.

Böyle bir durumda yapılması gereken, öncelikle ilgili diski fail olarak işaretlemektir;(Örnek olarak sdl1 diskini alalım)

[codesyntax lang=”bash”]
mdadm –manage /dev/md0 –fail /dev/sdl1
[/codesyntax]

Şimdi görüntü şu şekilde olmalı;
[codesyntax lang=”bash”]
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdk1[0] sdl1[2](F)
24418688 blocks [2/1] [U_]

md1 : active raid1 sda2[0] sdb2[1]
24418688 blocks [2/2] [UU]

unused devices:
[/codesyntax]

Şimdi diskimizi silebiliriz;

[codesyntax lang=”bash”]
mdadm –manage /dev/md0 –remove /dev/sdl1
[/codesyntax]

Ve şu andan itibaren ilk başta anlattığımız konuyu uygulayabilirsiniz.

Esen kalın,
Fikri DAL