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.