khối lượng mdadm hoạt động, nhưng sẽ không lắp ráp / gắn kết khi khởi động?


7

Tôi có âm lượng mdadm / lvm2 với 4 HD mà tôi đã tạo trong Ubuntu 10.04. Tôi vừa nâng cấp máy tính lên Ubuntu 10.10.

Tôi đã làm lại các lệnh mdadm để tăng âm lượng và chạy, đã thực hiện mdadm --detail --scan> /etc/mdadm/mdadm.conf để lấy tệp cấu hình.

Nhưng bây giờ, mỗi khi tôi khởi động lại, nó cho tôi biết rằng âm lượng chưa sẵn sàng. / Proc / mdstat nói rằng tôi luôn có một đĩa có âm lượng "không hoạt động" là md_d127. Tôi cần phải dừng âm lượng này và tập hợp lại toàn bộ để làm cho nó hoạt động.

Đây là những gì tôi nhận được từ mdadm --detail --scan và đặt bên trong /etc/mdadm/mdadm.conf:

ARRAY /dev/md127 level=raid5 num-devices=4 metadata=01.02 name=:r0 UUID=7610a895:a54fe65b:c9876d2a:67f4a179

Và đây là / Proc / mdstat khi khởi động:

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md127 : inactive sdb1[2](S) sdd1[0](S) sda1[4](S)
      2930279595 blocks super 1.2

md_d127 : inactive sdc1[1](S)
      976759865 blocks super 1.2

unused devices: <none>

Tôi cần phải thực hiện mdadm -S / dev / md_d127, mdadm -S / dev / md127, mdadm -A --scan để làm cho âm lượng này hoạt động trở lại.

Chuyện gì đang xảy ra vậy? Điều này đã không xảy ra với Ubuntu 10.04. Tôi thực sự sợ mất dữ liệu raid5 của tôi bây giờ.

Câu trả lời:


3

Vấn đề là phiên bản cập nhật của mdadmdựa vào mdadm.confhiện tại trong bạn initrd, có lẽ không chính xác / đầy đủ. Để xác minh nội dung của nó, hãy làm điều này:

gunzip -c /boot/initrd.img-2.6.38-11-generic | cpio -i --quiet --to-stdout etc/mdadm/mdadm.conf

Nếu nó không chứa các mục ARRAY chính xác, mdadm sẽ cố gắng sử dụng tên được định cấu hình trong siêu khối làm tên liên kết bên dưới /dev/md/, sẽ liên kết đến một cái gì đó như /dev/md127. Điều này rõ ràng không phù hợp với hành vi trước đó.

Thay vì trực tiếp sử dụng mdadm -Dshoặc mdadm -Estạo /etc/mdadm/mdadm.conf, có lẽ tốt hơn là sử dụng /usr/share/mdadm/mkconftập lệnh:

sudo /usr/share/mdadm/mkconf force-generate /etc/mdadm/mdadm.conf

Bước quan trọng nhất là xây dựng lại initramfs của bạn để bao gồm cấu hình được cập nhật:

sudo update-initramfs -u

Trên thực tế, nhờ vào phép thuật trong /usr/share/initramfs-tools/hooks/mdadm, /usr/share/mdadm/mkconfsẽ được chạy tự động nếu /etc/mdadm/mdadm.confkhông tồn tại hoặc không chứa mảng. Nếu nó tồn tại và chỉ chứa một tập hợp con của các mảng đang hoạt động của bạn, một cảnh báo sẽ được hiển thị cho từng mảng bị thiếu và bạn nên tự tạo một mảng mới mdadm.conf.


2

Bạn cũng có thể kiểm tra xem udev đang tải mdadm.

Tìm kiếm /lib/udev/rules.d/85-mdadm.rules; hãy chắc chắn rằng nó có một cái gì đó như thế này:

\# This file causes block devices with Linux RAID (mdadm) signatures to
\# automatically cause mdadm to be run.
\# See udev(8) for syntax

SUBSYSTEM=="block", ACTION=="add|change", ENV{ID_FS_TYPE}=="linux_raid*", \
        RUN+="/sbin/mdadm --incremental $env{DEVNAME}"

Nếu không sao chép này vào /etc/udev/rules.d/85-mdadm.rules- LƯU Ý /etcKHÔNG /lib.


1

Tôi đã dùng đến việc định dạng lại toàn bộ mảng. Điều này hoạt động trong Ubuntu 10.10.

sudo mdadm -C /dev/md0 -l 5 -n 4 -e 1.2 /dev/sd[bcde]1
sudo mdadm -Ds | sudo tee /etc/mdadm/mdadm.conf

sudo pvcreate /dev/md0
sudo vgcreate vg0 /dev/md0
sudo lvcreate vg0 --name lv0 --extents '100%FREE'

sudo mkfs.ext4 /dev/vg0/lv0

1

Vui lòng chỉnh sửa này

metadata=01.02

với

metadata=1.02

Bởi vì kết quả từ

#mdadm --detail --scan > /etc/mdadm/mdadm.conf

không hoàn toàn chính xác.

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.