Tại sao `zfs list` và` zpool list` báo cáo các kích thước rất khác nhau cho các nhóm raidz2 của tôi?


10

Tôi có một máy chủ ZFS với 8 zpool. Mỗi nhóm là 12 đĩa 6TB trong cấu hình RAIDZ 10 + 2. Vì vậy, mỗi hồ bơi có không gian lưu trữ thô là 12 * 6 = 72 TB và không gian có thể sử dụng là 10 * 6 = 60 TB. Tuy nhiên, tôi thấy các kết quả khác nhau khi tôi truy vấn bằng cách sử dụng zfs listso với sử dụng zpool listnhư dưới đây:

# zfs list
NAME     USED  AVAIL  REFER  MOUNTPOINT
intp1    631K  48.0T   219K  /intp1
intp2    631K  48.0T   219K  /intp2
intp3    631K  48.0T   219K  /intp3
jbodp4   631K  48.0T   219K  /jbodp4

# zpool list
NAME     SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
intp1     65T  1.02M  65.0T         -     0%     0%  1.00x  ONLINE  -
intp2     65T  1020K  65.0T         -     0%     0%  1.00x  ONLINE  -
intp3     65T  1.02M  65.0T         -     0%     0%  1.00x  ONLINE  -
jbodp4    65T  1.02M  65.0T         -     0%     0%  1.00x  ONLINE  -

Ai đó có thể giúp tôi hiểu tại sao sự khác biệt này?

Câu trả lời:


10

Tôi ngạc nhiên khi bạn có một thiết lập lớn như vậy. Bạn đã xây dựng mảng này? Đây có thể là một sự sắp xếp tồi cho hiệu suất do thiết kế hồ bơi.

Dù bằng cách nào, zpooltrang người đàn ông giải thích điều này. zfs listsẽ hiển thị không gian có thể sử dụng của bạn. Các zpoolkhông gian danh sách các chương trình tương đương như không gian lưu trữ.

   used                Amount of storage space used within the pool.

   The  space  usage properties report actual physical space available to the storage pool. The physical
   space can be different from the total amount of space that any contained datasets can  actually  use.
   The  amount  of  space used in a raidz configuration depends on the characteristics of the data being
   written. In addition, ZFS reserves some space for internal accounting that the zfs(8)  command  takes
   into  account, but the zpool command does not. For non-full pools of a reasonable size, these effects
   should be invisible. For small pools, or pools that are close to being completely  full,  these  dis-
   crepancies may become more noticeable.

1
Đối với nhu cầu kế toán của bạn, sử dụng zfs list. Đó thực sự là những gì quan trọng. Đối với thiết kế hồ bơi, nó phụ thuộc vào trường hợp sử dụng. Bạn muốn thực hiện những gì? Hiệu suất và yêu cầu năng lực của bạn là gì? Nói chung, đối với raidz2, không sử dụng ít hơn 6 đĩa, cũng không quá 10 đĩa trong mỗi vdev (8 là mức trung bình điển hình).
ewwhite

1
@ewwhite Nice đọc, nhưng tại sao làm theo lời khuyên đó? Nó không phải từ Oracle hay người zfsonlinux. Giới hạn 6-10 này dựa trên cái gì?
Ryan Babchishin

2
@RyanBabchishin Tác giả là một kỹ sư tại Nexenta , một nhà cung cấp phần mềm lưu trữ ZFS thương mại. Các khuyến nghị dựa trên kinh nghiệm, hiệu suất và sự hiểu biết kỹ lưỡng về hệ thống tập tin. Tôi không nói mọi người không thể cấu hình mọi thứ theo cách họ muốn hoặc nó sẽ không hoạt động: Nó không tối ưu. Trong trường hợp của OP, hiệu năng I / O ngẫu nhiên của anh ta sẽ bị ảnh hưởng theo thiết kế 12 đĩa.
ewwhite

3
Tôi nghĩ rằng bạn đã quên rằng đĩa 6Tb không thực sự là 6Tb, bởi vì có một âm mưu giữa các nhà sản xuất đĩa, vì họ nghĩ rằng một gigabyte không phải là 1 073 741 824 byte, như vậy, nhưng thay vào đó là 1 000 000 000 byte. Điều này cần một số không gian đáng kể từ kế toán.
drookie

1
@drookie, bạn đang ở trên. lsblk -bđã cho tôi kích thước byte của mỗi đĩa là 5,4TB chứ không phải 6TB như tôi nghĩ trước đây.
mkc
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.