नया md सरणी ऑटो-रीड-ओनली है और इसमें resync = PENDING है


17

मैंने निम्नलिखित कमांड के साथ एक नया md सरणी बनाया है:

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

लेकिन अब /proc/mdstatसरणी को resync = PENDING के साथ "ऑटो-रीड-ओनली" के रूप में दिखाता है:

~ # 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>

इस साइट के अनुसार मैं इसे ठीक कर सकता हूं:

mdadm --readwrite /dev/md1

और यह काम करता है:

~ # 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>

लेकिन मैं अभी भी जानना चाहूंगा कि यहां क्या हो रहा है, और मुझे इसके बारे में कोई वास्तविक जानकारी नहीं मिल सकती है। क्या किसी को पता है कि इस राज्य में सरणी क्यों चूक जाती है?

संपादित करें: जोड़ा dmesg उत्पादन:

~ # 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.

आपने जांच की dmesg?
ठंढकुट्ज़

@frostschutz मैंने कल, समय क्षेत्र UTC + 1 में साइनग्लॉग में लॉग की गई dmesg लाइनें जोड़ी हैं (मैंने मशीन को रिबूट कर दिया है क्योंकि अब मेरे पास मूल dmesg की पहुंच नहीं है)। साधारण से बाहर कुछ भी नहीं जहाँ तक मैं बता सकता हूँ।
मार्टिन वॉन विटिच

जिज्ञासु आपके पास कौन सा कर्नेल और mdadm संस्करणों ...
derobert

@derobert लिनक्स होस्टनाम 3.10-0.bpo.3-686-pae # 1 एसएमपी डेबियन 3.10.11-1 ~ bpo70 + 1 (2013-09-24) i686 GNU / लिनक्स
मार्टिन वॉन विटिच

@derobert mdadm - v3.2.5 - 18 मई 2012, डेबियन व्हीज़ी से
मार्टिन वॉन विटिच

जवाबों:


25

जब कोई सरणी शुरू में इकट्ठी होती है, तो इसे "ऑटो-रीड-ओनली" मोड में रखा जाता है। मैंने जल्दी से अपने कर्नेल (3.10.x) और mdadm (3.3) के साथ परीक्षण किया, यह बनाने पर नहीं होता है - लेकिन आपको अलग-अलग संस्करण चलाने होंगे।

हालाँकि, ऑटो-रीड-ओनली कोई त्रुटि नहीं है, और न ही इसके बारे में चिंता करने की कोई बात है। इसके पीछे मूल विचार यह है कि --assemble(और, जाहिरा तौर पर अब, यहां तक ​​कि --create) सुरक्षित: कुछ भी डिस्क को तब तक नहीं लिखा जाता है जब तक कि सरणी पढ़ा-लिखा न जाए। (मुझे यकीन नहीं है कि शायद मेटाडेटा अभी भी बना हुआ है।)

सरणी स्वचालित रूप से ऑटो-रीड-ओनली से केवल पढ़ने-लिखने में बदल जाएगी जब वह अपना पहला लेखन प्राप्त करता है। इसलिए, यदि आप आगे बढ़ते हैं और डिवाइस पर एक फाइल सिस्टम, या एलवीएम भौतिक मात्रा, या जो कुछ भी बनाते हैं, वह पढ़ने-लिखने के लिए स्विच हो जाता है, और सिंक शुरू हो जाता है।

mdadm --readwriteयदि आप इसे लिखना चाहते हैं तो केवल एक ही कारण है कि आप इसे चलाना चाहते हैं।


हम्म ... क्या यह पहली बार लिखने के बाद सीधे सिंक करना शुरू कर देगा, ताकि ऑटो-रीड-ओनली सिंक में देरी हो जाए?
मार्टिन वॉन विटिच

@MartinvonWittich हाँ, यह पहली बार लिखने के ठीक बाद सिंक करना शुरू कर देगा। तो हाँ, यह आमतौर पर विलंब कुछ सेकंड के द्वारा, के रूप में आप सामान्य रूप से कुछ (करना चाहते हैं pvcreate, mkfsबहुत जल्द के बाद एक नई सरणी के साथ, आदि) --create
derobert

"आपको अलग-अलग संस्करण चलाने चाहिए" एक अनुमान है? मैं नवीनतम संस्करणों का उपयोग कर रहा हूं और किसी भी पुराने संस्करण के लिए इस व्यवहार को याद नहीं रख सकता। जब तक @MartinvonWittich ने कुछ ऐसा नहीं किया, जिसके बारे में उसने हमें नहीं बताया (जैसे कि रिबूट के बाद बना), जो यह नहीं बताता कि आखिर हुआ क्या था।
ठंढकुट्ज़ १४'१३
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.