Làm thế nào tôi có thể thêm một đĩa vào một zpool raidz hiện có?


21

Tôi có một máy chủ OpenSolaris với một zpool backupzbao gồm bốn ổ SCSI:

-bash-3.2# zpool status backupz
  pool: backupz
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        backupz     ONLINE       0     0     0
          raidz1    ONLINE       0     0     0
            c7t0d0  ONLINE       0     0     0
            c7t1d0  ONLINE       0     0     0
            c7t2d0  ONLINE       0     0     0
            c7t3d0  ONLINE       0     0     0

errors: No known data errors

Tôi muốn thêm ổ đĩa thứ năm ... nhưng zpool add backupz raidz c7t4d0không hoạt động ...

-bash-3.2# zpool add backupz raidz c7t4d0
invalid vdev specification: raidz requires at least 2 devices

Tôi không thể có cấu hình raidz với 5 thiết bị? Tôi có phải thêm hai thiết bị cùng một lúc không? hoặc tôi đang làm một cái gì đó không chính xác hoàn toàn ở đây?

Câu trả lời:


14

Bạn không thể mở rộng một raidz vdev hiện có, bạn phải thổi nó đi và tạo lại nó với (các) ổ đĩa mới. Xem câu trả lời khác để biết chi tiết tốt hơn.

Lưu ý bên lề: Ai đó thực sự đã tìm ra rằng về mặt kỹ thuật có thể thêm ổ đĩa vào raidz, nhưng chức năng đã không được thực hiện. Điều tương tự cũng đúng với việc loại bỏ một đĩa.


5
À ồ. Nếu đó là trường hợp tôi đã đưa ra một quyết định khủng khiếp ở đâu đó! = o
Josh

2
-1 Tất nhiên một zpool có thể được mở rộng. Bạn nghĩ zpool addlệnh này làm gì? Hạn chế mà Josh đang gặp phải là bạn không thể thay đổi thành phần của raidz vdev ("raidz1" trong ví dụ của anh ấy). Bạn có thể thêm các thiết bị mới vào hồ bơi tốt. Đây là một trong những lý do tại sao vdevs nhân bản được ưa thích: serverfault.com/questions/63809/zfs-mirror-vs-ston-z
Wim Coenen

8
@Wim, tôi biết rằng bạn có thể thêm vdevs bổ sung vào nhóm. Đó là một lỗi đánh máy nhỏ, và không có lý do gì để nhảy qua tôi như thế.
Chris S

Thật tuyệt, tôi không biết ai đó đã tìm ra cách để làm việc xung quanh kiến ​​trúc để cho phép thêm ổ đĩa! Bạn có một liên kết nơi tôi có thể đọc thêm về nó?
lindhe

31

Xem chủ đề này từ một trong các danh sách FreeBSD: http://lists.freebsd.org/pipermail/freebsd-fs/2009-June/006327.html

Để trích dẫn Dan Naumov,

Để nhắc lại, bạn không thể chỉ thêm một ổ đĩa vào hồ bơi raidz1 hoặc raidz2. Đây là một giới hạn đã biết (bạn có thể kiểm tra với các tài liệu SUN ZFS). Nếu bạn có một raidz hiện có và bạn PHẢI tăng khả năng lưu trữ của nhóm cụ thể đó, bạn có 3 tùy chọn:

1) Thêm một raidz có cùng cấu hình vào nhóm (ví dụ như 3 đĩa raidz + 3 đĩa raidz hoặc 5 + 5 chẳng hạn)

2) Thay thế từng đĩa (và mọi) trong nhóm raidz của bạn từng cái một, để cho nó phục hồi sau khi chèn từng đĩa được nâng cấp

3) Sao lưu dữ liệu của bạn, phá hủy nhóm của bạn và tạo một nhóm raidz mới với số lượng đĩa lớn hơn.


3
+1: Cảm ơn @brent! Câu trả lời của bạn chi tiết hơn Chris 'tuy nhiên anh ấy đã cung cấp cho tôi thông tin chi tiết trong trò chuyện, vì vậy tôi đã chấp nhận câu trả lời của anh ấy. Tôi đánh giá cao thông tin!
Josh

1
Tại sao người ta phải thêm RAIDZ có cùng cấu hình và không thể thêm RAIDZ với 8 đĩa vào một với 3? Không phải dữ liệu bị sọc trên tất cả các VDEV hay còn gọi là RAIDZ?
Thorsten Schöning

@Thorsten Schöning Câu trả lời là hiệu suất, ZFS hoạt động tốt nhất với các VDEV có cùng kích thước: serverfault.com/a/564436/333397
Thorsten Schöning
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.