อาร์เรย์ md ใหม่เป็นแบบอ่านอย่างเดียวโดยอัตโนมัติและมีการซิงค์ = 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

@frostschutz ฉันได้เพิ่มบรรทัด dmesg ที่ถูกบันทึกไว้ใน syslog เมื่อวานนี้, เขตเวลา UTC + 1 (ฉันได้รีบูตเครื่องเนื่องจากฉันจึงไม่สามารถเข้าถึง dmesg ดั้งเดิมได้อีกต่อไป) ไม่มีอะไรผิดปกติไปหมดเท่าที่ฉันจะบอกได้
Martin von Wittich

อยากรู้อยากเห็นซึ่งเคอร์เนลและ mdadm รุ่นคุณมี ...
derobert

@derobert ชื่อโฮสต์ Linux 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 พฤษภาคม 2555 จาก Debian wheezy
Martin von Wittich

คำตอบ:


25

เมื่อเริ่มประกอบอาร์เรย์มันจะอยู่ในโหมด "อ่านอย่างเดียว" โดยอัตโนมัติ ฉันทดสอบอย่างรวดเร็วด้วยเคอร์เนลของฉัน (3.10.x) และ mdadm (3.3) สิ่งนี้ไม่ได้เกิดขึ้นจากการสร้าง แต่คุณต้องใช้เวอร์ชันที่แตกต่างกัน

อย่างไรก็ตามการอ่านอัตโนมัติอย่างเดียวไม่ใช่ข้อผิดพลาดและไม่มีอะไรต้องกังวล แนวคิดพื้นฐานที่อยู่เบื้องหลังคือทำให้ปลอดภัยยิ่งขึ้น--assemble(และเห็นได้ชัดว่าตอนนี้--create): ไม่มีสิ่งใดถูกเขียนลงดิสก์จนกว่าอาร์เรย์จะอ่าน - เขียน (ฉันไม่แน่ใจว่าบางทีข้อมูลเมตาอาจยังเขียนอยู่ในการสร้าง)

อาร์เรย์จะสลับจากอัตโนมัติอ่านอย่างเดียวเป็นอ่านเขียนเมื่อได้รับการเขียนครั้งแรกโดยอัตโนมัติ ดังนั้นหากคุณไปข้างหน้าและสร้างระบบไฟล์บนอุปกรณ์หรือฟิสิคัลวอลุ่ม LVM หรืออะไรก็ตามมันจะเปลี่ยนเป็นการอ่าน - เขียนและเริ่มการซิงค์

เหตุผลเดียวที่คุณต้องเรียกใช้งานmdadm --readwriteคือถ้าคุณต้องการซิงค์ก่อนที่จะทำการเขียนใด ๆ


อืม ... มันจะเริ่มซิงค์โดยตรงหลังจากเขียนครั้งแรกดังนั้นการอ่านอัตโนมัติอย่างเดียวจึงทำให้การซิงค์ล่าช้า?
Martin von Wittich

@MartinvonWittich ใช่มันจะเริ่มทำการซิงค์ทันทีหลังจากเขียนครั้งแรก ดังนั้นใช่มันล่าช้ามันโดยทั่วไปไม่กี่วินาทีตามปกติจะทำบางสิ่งบางอย่าง ( pvcreate, mkfsฯลฯ ) กับอาร์เรย์ใหม่สวยเร็ว ๆ --createนี้หลังจากที่
Derobert

"คุณต้องใช้งานรุ่นที่แตกต่างกัน" เป็นการเดาใช่ไหม ฉันใช้เวอร์ชันล่าสุดและไม่สามารถจดจำพฤติกรรมนี้สำหรับรุ่นที่เก่ากว่าได้ เว้นแต่ @MartinvonWittich ทำสิ่งที่เขาไม่ได้บอกเราเกี่ยวกับ (เช่นรีบูตหลังจากสร้าง) ที่ไม่ได้อธิบายสิ่งที่เกิดขึ้นเลย
frostschutz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.