Md md mới là tự động chỉ đọc và có resync = PENDING


17

Tôi đã tạo một mảng md mới bằng lệnh sau:

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

Nhưng bây giờ /proc/mdstathiển thị mảng là "chỉ đọc tự động" với 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>

Theo trang web này, tôi có thể khắc phục điều này với:

mdadm --readwrite /dev/md1

Và nó hoạt động:

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

Nhưng tôi vẫn muốn biết những gì đang diễn ra ở đây và tôi không thể tìm thấy bất kỳ thông tin thực sự nào về điều đó. Có ai biết tại sao các mảng mặc định cho trạng thái này?

EDIT: thêm đầu ra 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.

Bạn đã kiểm tra dmesgchưa?
frostschutz

@frostschutz Tôi đã thêm các dòng dmesg đã được ghi vào syslog ngày hôm qua, múi giờ UTC + 1 (Tôi đã khởi động lại máy từ đó vì vậy tôi không còn có quyền truy cập vào dmesg gốc). Không có gì khác thường như tôi có thể nói.
Martin von Wittich

Tò mò bạn có phiên bản kernel và mdadm nào ...
derobert 14/11/13

@derobert Tên máy chủ 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 tháng 5 năm 2012, từ Debian wheezy
Martin von Wittich

Câu trả lời:


25

Khi một mảng được lắp ráp ban đầu, nó được đặt ở chế độ "chỉ đọc tự động". Tôi đã nhanh chóng thử nghiệm, với kernel của tôi (3.10.x) và mdadm (3.3), điều này không xảy ra trên tạo ra nhưng bạn phải chạy các phiên bản khác nhau.

Tuy nhiên, tự động chỉ đọc không phải là một lỗi, cũng không có gì phải lo lắng. Ý tưởng cơ bản đằng sau nó là làm cho --assemble(và, rõ ràng là bây giờ, thậm chí --create) an toàn hơn: Không có gì được ghi vào các đĩa cho đến khi mảng chuyển sang đọc-ghi. (Tôi không chắc liệu có thể siêu dữ liệu vẫn được viết khi tạo hay không.)

Mảng sẽ tự động chuyển từ chỉ đọc tự động sang đọc-ghi khi nhận được ghi đầu tiên. Vì vậy, nếu bạn tiếp tục và tạo một hệ thống tệp trên thiết bị hoặc âm lượng vật lý LVM hoặc bất cứ thứ gì, nó sẽ chuyển sang đọc-ghi và bắt đầu đồng bộ hóa.

Lý do duy nhất bạn cần chạy mdadm --readwritetrên đó là nếu bạn muốn nó đồng bộ hóa trước khi bạn thực hiện bất kỳ ghi nào.


Hmm ... sau đó nó sẽ bắt đầu đồng bộ hóa trực tiếp sau lần ghi đầu tiên, để tự động chỉ đọc chậm trễ đồng bộ hóa?
Martin von Wittich

@MartinvonWittich Vâng, nó sẽ bắt đầu đồng bộ hóa ngay sau lần viết đầu tiên. Vì vậy, có, nó trì hoãn it-thường của một vài giây, như bạn thường làm điều gì đó ( pvcreate, mkfs, vv) với một mảng mới khá sớm sau --create.
derobert

"Bạn phải chạy các phiên bản khác nhau" là một phỏng đoán? Tôi đang sử dụng các phiên bản mới nhất và không thể nhớ hành vi này cho bất kỳ phiên bản cũ nào. Trừ khi @MartinvonWittich đã làm điều gì đó mà anh ấy không nói với chúng tôi (như khởi động lại sau khi tạo), điều đó không giải thích điều gì đã xảy ra.
frostschutz
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.