Yeni md dizisi otomatik olarak salt okunurdur ve resync = PENDING


17

Aşağıdaki komutla yeni bir md dizisi oluşturdum:

mdadm --create /dev/md1 -l 1 -n 2 /dev/sd[ed]1

Ancak şimdi /proc/mdstatdiziyi resync = PENDING ile "salt okunur" olarak gösteriyor:

~ # cat /proc/mdstat 
Personalities : [raid1] 
md1 : active (auto-read-only) raid1 sde1[1] sdd1[0]
      976630336 blocks super 1.2 [2/2] [UU]
        resync=PENDING

md0 : active raid1 sdb1[0] sdc1[1]
      1953511936 blocks [2/2] [UU]

unused devices: <none>

Bu siteye göre bunu düzeltebilirim:

mdadm --readwrite /dev/md1

Ve bu işe yarıyor:

~ # mdadm --readwrite /dev/md1
~ # cat /proc/mdstat 
Personalities : [raid1] 
md1 : active raid1 sde1[1] sdd1[0]
      976630336 blocks super 1.2 [2/2] [UU]
      [>....................]  resync =  0.0% (54400/976630336) finish=598.2min speed=27200K/sec

md0 : active raid1 sdb1[0] sdc1[1]
      1953511936 blocks [2/2] [UU]

unused devices: <none>

Ama yine de burada neler olduğunu bilmek istiyorum ve bununla ilgili gerçek bir bilgi bulamıyorum. Dizinin neden bu duruma varsayılan olduğunu bilen var mı?

EDIT: dmesg çıktı eklendi:

~ # grep kernel /var/log/syslog.1 
Nov 13 10:03:44 iserv kernel: [160446.860113] e1000: eth1 NIC Link is Down
Nov 13 10:04:48 iserv kernel: [160511.017666] e1000: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
Nov 13 20:12:40 iserv kernel: [196982.775186]  sda: sda1
Nov 13 20:12:59 iserv kernel: [197001.598187]  sdd: sdd1
Nov 13 20:13:13 iserv kernel: [197016.344939]  sde: sde1
Nov 13 20:14:05 iserv kernel: [197067.520825] md: bind<sdd1>
Nov 13 20:14:05 iserv kernel: [197067.521263] md: bind<sde1>
Nov 13 20:14:05 iserv kernel: [197067.670215] md/raid1:md1: not clean -- starting background reconstruction
Nov 13 20:14:05 iserv kernel: [197067.670219] md/raid1:md1: active with 2 out of 2 mirrors
Nov 13 20:14:05 iserv kernel: [197067.670246] md1: detected capacity change from 0 to 1000069464064
Nov 13 20:14:05 iserv kernel: [197067.675101]  md1: unknown partition table
Nov 13 20:24:10 iserv kernel: [197672.572128] md: md1 switched to read-write mode.
Nov 13 20:24:10 iserv kernel: [197672.572269] md: resync of RAID array md1
Nov 13 20:24:10 iserv kernel: [197672.572273] md: minimum _guaranteed_  speed: 1000 KB/sec/disk.
Nov 13 20:24:10 iserv kernel: [197672.572275] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for resync.
Nov 13 20:24:10 iserv kernel: [197672.572280] md: using 128k window, over a total of 976630336k.

Kontrol ettin dmesgmi
frostschutz

@frostschutz Dün sistem günlüğüne kaydedilen dmesg satırlarını, saat dilimi UTC + 1'i ekledim (artık orijinal dmesg'e erişemediğim için makineyi yeniden başlattım). Anlayabildiğim kadarıyla sıradan bir şey yok.
Martin von Wittich

Hangi çekirdek ve mdadm sürümlerine sahip olduğunuzu merak ediyorum ...
derobert

@derobert Linux ana bilgisayar adı 3.10-0.bpo.3-686-pae # 1 SMP Debian 3.10.11-1 ~ bpo70 + 1 (2013-09-24) i686 GNU / Linux
Martin von Wittich

@derobert mdadm - v3.2.5 - 18 Mayıs 2012, Debian wheezy
Martin von Wittich

Yanıtlar:


25

Bir dizi başlangıçta birleştirildiğinde, "salt okunur" moduna geçirilir. Çekirdeğim (3.10.x) ve mdadm (3.3) ile hızlı bir şekilde test ettim, bu oluşturmada olmaz - ancak farklı sürümler çalıştırıyor olmalısınız.

Ancak, salt okunur otomatik bir hata değildir ve endişelenecek bir şey de yoktur. Arkasındaki temel fikir, --assemble(ve görünüşe göre şimdi bile --create) daha güvenli hale getirmektir: Dizi okuma-yazma olana kadar disklere hiçbir şey yazılmaz. (Belki de meta verilerin hala oluşturma üzerine yazılmış olup olmadığından emin değilim.)

Dizi otomatik olarak salt okunur moddan ilk yazma geldiğinde okuma-yazma moduna geçer. Bu nedenle, devam edip cihazda bir dosya sistemi veya bir LVM fiziksel birimi veya herhangi bir şey oluşturduysanız, okuma-yazma moduna geçecek ve senkronizasyonu başlatacaktı.

Üzerinde çalışmanızın tek nedeni mdadm --readwrite, herhangi bir yazma işlemi yapmadan önce senkronize edilmesini istiyorsanız.


Hmm ... daha sonra ilk yazma işleminden sonra doğrudan senkronize edilmeye başlar, böylece otomatik okuma salt senkronizasyonu geciktirir mi?
Martin von Wittich

@MartinvonWittich Evet, ilk yazma işleminden hemen sonra senkronizasyona başlar. Yani evet, onu-tipik geciktirir birkaç saniye, normal bir şey (yapardım olarak pvcreate, mkfsoldukça kısa bir süre sonra yeni bir dizi, vs.) --create.
derobert

"Farklı sürümleri çalıştırıyor olmalı" bir tahmin? En son sürümleri kullanıyorum ve eski bir sürüm için bu davranışı hatırlayamıyorum. @MartinvonWittich bize bahsetmediği bir şey yapmadığı sürece (yarattıktan sonra yeniden başlat gibi), bu ne olduğunu açıklamaz.
frostschutz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.