Ubuntu được nâng cấp, tất cả các ổ đĩa trong một zpool được đánh dấu là không có sẵn


8

Tôi vừa nâng cấp Ubuntu 14.04 và tôi có hai nhóm ZFS trên máy chủ. Có một số vấn đề nhỏ khi tôi chiến đấu với trình điều khiển ZFS và phiên bản kernel, nhưng giờ đã giải quyết xong. Một hồ bơi đã trực tuyến, và gắn kết tốt. Người kia thì không. Sự khác biệt chính giữa công cụ này là một nhóm chỉ là một nhóm đĩa (lưu trữ video / nhạc) và cái còn lại là một bộ raidz (tài liệu, v.v.)

Tôi đã cố gắng xuất và nhập lại nhóm, nhưng không có kết quả, cố gắng nhập giúp tôi điều này:

root@kyou:/home/matt# zpool import -fFX -d /dev/disk/by-id/
   pool: storage
     id: 15855792916570596778
  state: UNAVAIL
 status: One or more devices contains corrupted data.
 action: The pool cannot be imported due to damaged devices or data.
   see: http://zfsonlinux.org/msg/ZFS-8000-5E
 config:

        storage                                      UNAVAIL  insufficient replicas
          raidz1-0                                   UNAVAIL  insufficient replicas
            ata-SAMSUNG_HD103SJ_S246J90B134910       UNAVAIL
            ata-WDC_WD10EARS-00Y5B1_WD-WMAV51422523  UNAVAIL
            ata-WDC_WD10EARS-00Y5B1_WD-WMAV51535969  UNAVAIL

Các liên kết tượng trưng cho những người trong đó /dev/disk/by-idcũng tồn tại:

root@kyou:/home/matt# ls -l /dev/disk/by-id/ata-SAMSUNG_HD103SJ_S246J90B134910* /dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WMAV51*
lrwxrwxrwx 1 root root  9 May 27 19:31 /dev/disk/by-id/ata-SAMSUNG_HD103SJ_S246J90B134910 -> ../../sdb
lrwxrwxrwx 1 root root 10 May 27 19:15 /dev/disk/by-id/ata-SAMSUNG_HD103SJ_S246J90B134910-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 May 27 19:15 /dev/disk/by-id/ata-SAMSUNG_HD103SJ_S246J90B134910-part9 -> ../../sdb9
lrwxrwxrwx 1 root root  9 May 27 19:15 /dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WMAV51422523 -> ../../sdd
lrwxrwxrwx 1 root root 10 May 27 19:15 /dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WMAV51422523-part1 -> ../../sdd1
lrwxrwxrwx 1 root root 10 May 27 19:15 /dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WMAV51422523-part9 -> ../../sdd9
lrwxrwxrwx 1 root root  9 May 27 19:15 /dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WMAV51535969 -> ../../sde
lrwxrwxrwx 1 root root 10 May 27 19:15 /dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WMAV51535969-part1 -> ../../sde1
lrwxrwxrwx 1 root root 10 May 27 19:15 /dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WMAV51535969-part9 -> ../../sde9

Kiểm tra các /dev/sd*thiết bị khác nhau được liệt kê, chúng có vẻ là những thiết bị chính xác (3 ổ 1TB nằm trong một mảng raidz).

Tôi đã chạy zdb -ltrên mỗi ổ đĩa, bỏ nó vào một tệp và chạy một diff. Sự khác biệt duy nhất trên 3 là các trường hướng dẫn (mà tôi cho là được mong đợi). Tất cả 3 nhãn trên mỗi nhãn về cơ bản là giống hệt nhau và như sau:

version: 5000
name: 'storage'
state: 0
txg: 4
pool_guid: 15855792916570596778
hostname: 'kyou'
top_guid: 1683909657511667860
guid: 8815283814047599968
vdev_children: 1
vdev_tree:
    type: 'raidz'
    id: 0
    guid: 1683909657511667860
    nparity: 1
    metaslab_array: 33
    metaslab_shift: 34
    ashift: 9
    asize: 3000569954304
    is_log: 0
    create_txg: 4
    children[0]:
        type: 'disk'
        id: 0
        guid: 8815283814047599968
        path: '/dev/disk/by-id/ata-SAMSUNG_HD103SJ_S246J90B134910-part1'
        whole_disk: 1
        create_txg: 4
    children[1]:
        type: 'disk'
        id: 1
        guid: 18036424618735999728
        path: '/dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WMAV51422523-part1'
        whole_disk: 1
        create_txg: 4
    children[2]:
        type: 'disk'
        id: 2
        guid: 10307555127976192266
        path: '/dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WMAV51535969-part1'
        whole_disk: 1
        create_txg: 4
features_for_read:

Ngớ ngẩn, tôi không có một bản sao lưu gần đây của hồ bơi này. Tuy nhiên, nhóm đã ổn trước khi khởi động lại và Linux thấy các đĩa vẫn ổn (tôi có smartctl đang chạy để kiểm tra lại)

Vì vậy, tóm lại:

  • Tôi đã nâng cấp Ubuntu và mất quyền truy cập vào một trong hai zpool của mình.
  • Sự khác biệt giữa các hồ bơi là cái đã xuất hiện là JBOD, cái kia là sợ hãi.
  • Tất cả các ổ đĩa trong zpool không thể đếm được được đánh dấu UNAVAIL, không có ghi chú cho dữ liệu bị hỏng
  • Các pool được tạo ra với các đĩa được tham chiếu từ /dev/disk/by-id/.
  • Các liên kết từ /dev/disk/by-idđến các /dev/sdthiết bị khác nhau dường như là chính xác
  • zdb có thể đọc nhãn từ các ổ đĩa.
  • Bi-a đã được cố gắng xuất / nhập và không thể nhập lại.

Có một số loại ma thuật đen mà tôi có thể gọi thông qua zpool / zfs để đưa các đĩa này trở lại thành một mảng hợp lý? Tôi có thể chạy zpool create zraid ...mà không mất dữ liệu không? Dữ liệu của tôi đã biến mất chưa?

Câu trả lời:


5

Sau rất nhiều lần Googling về thông báo lỗi cụ thể này, tôi đã nhận được:

root@kyou:/home/matt# zpool import -f storage
cannot import 'storage': one or more devices are already in use

(Bao gồm ở đây cho các chỉ số hậu thế và tìm kiếm) Tôi tìm thấy điều này:

https://groups.google.com/a/zfsonlinux.org/forum/#!topic/zfs-discuss/VVEwd1VFDmc

Nó đã sử dụng các phân vùng tương tự và đã thêm chúng vào nỗi sợ hãi trong bất kỳ lần khởi động nào trước khi ZFS được tải.

Tôi nhớ đã nhìn thấy một số dòng mdadm trong dmesgvà chắc chắn:

root@kyou:/home/matt# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md126 : active raid5 sdd[2] sdb[0] sde[1]
      1953524992 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

Những ổ đĩa này, từng là một phần của mảng raid5 phần mềm. Vì một số lý do, trong quá trình nâng cấp, nó đã quyết định quét lại các ổ đĩa và thấy rằng các ổ đĩa đã từng là một phần của mảng md và quyết định tạo lại nó. Điều này đã được xác minh với:

root@kyou:/storage# mdadm --examine /dev/sd[a-z]

Ba ổ đĩa cho thấy một loạt các thông tin. Hiện tại, dừng mảng:

root@kyou:/home/matt# mdadm --stop /dev/md126
mdadm: stopped /dev/md126

Và chạy lại nhập:

root@kyou:/home/matt# zpool import -f storage

đã đưa mảng trở lại trực tuyến.

Bây giờ tôi tạo một ảnh chụp nhanh của hồ bơi đó để sao lưu và chạy mdadm --zero-superblocktrên chúng.


4

Ubuntu dường như có một số vấn đề khó chịu mà chúng ta không thấy ở phía Red Hat / CentOS. Tôi khuyên bạn nên sử dụng tên thiết bị dựa trên WWN nếu bạn có thể, vì chúng dường như ít bị ảnh hưởng bởi điều này.

Bạn đã thấy: Tại sao việc khởi động lại khiến một mặt của gương ZFS của tôi trở thành UNAVAIL?


2
Tôi đã nhìn thấy những điều đó và đọc chủ đề được liên kết trong một, có vẻ như vấn đề là không tạo được liên kết tượng trưng cho tất cả các phân vùng trên thiết bị. Tôi chỉ kiểm tra cả ba ổ đĩa. Mỗi cái đều có số phân vùng 1 và 9, và những cái đó có liên kết tượng trưng /dev/disk/by-idcho các ổ đĩa đó và tất cả các liên kết tượng trưng cho một thiết bị đều trỏ đến cùng một /dev/sd*ổ đĩa. Và điều gần nhất tôi có thể tìm thấy cho một giải pháp (sử dụng thay thế zpool), tôi không thể làm vì tôi không thể nhập lại nhóm.
Matt Sieker

2

Tôi đã gặp phải vấn đề chính xác này khi cố gắng nâng cấp lên các chuỗi hạt 3.13 trên Debian Wheezy. Bạn đúng trong nhận xét của bạn; đó là một lỗi udev. Tôi chưa bao giờ nhận được nó một cách đáng tiếc nhưng thật đáng để khám phá các hạt nhân khác, đặc biệt là dòng 3.11, để tương thích với phiên bản ZOL 0.6.2. Chỉ cần sử dụng kernel cũ cho đến khi 0.6.3 xuất hiện.


Thật không thể chấp nhận được rằng udev sẽ phá vỡ theo cách này. Tôi không sử dụng Ubuntu, nhưng những thứ như thế này khiến nó dường như thực sự chưa được đánh bóng so với các dịch vụ của RHEL.
ewwhite
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.