Tôi có 10 đĩa với 8 TB mỗi đĩa trong RAID6 phần cứng (do đó, 8 đĩa dữ liệu + 2 chẵn lẻ). Theo câu trả lời của một câu hỏi rất giống nhau , tôi hy vọng sẽ tự động phát hiện tất cả các thông số cần thiết. Tuy nhiên, khi tạo hệ thống tệp XFS ở cuối, tôi đã nhận được
# mkfs.xfs /dev/vgdata/lvscratch
meta-data=/dev/vgdata/lvscratch isize=256 agcount=40, agsize=268435455 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=10737418200, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=521728, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Điều này có vẻ như phân chia đã không được sử dụng. Do các thuật ngữ khác nhau tôi tìm thấy trên các trang web khác nhau (kích thước dải, kích thước sọc, khối sọc, ...), tôi muốn hỏi liệu tôi có nhận được các thông số thủ công không.
RAID 6 đã được thiết lập với kích thước dải 256KB:
# ./storcli64 /c0/v1 show all | grep Strip
Strip Size = 256 KB
Do đó, kích thước sọc là 8 * 256KB = 2048KB = 2MB. Điều này có đúng không? Theo điều này (và nếu tôi hiểu chính xác), thì pvcreate
phải sử dụng kích thước dải (hoặc đoạn) làm đối số để dataalignment
:
# pvcreate --dataalignment 256K /dev/sdb
Physical volume "/dev/sdb" successfully created
Lưu ý rằng tôi đã sử dụng toàn bộ thiết bị RAID mà không có phân vùng. Bây giờ một
# vgcreate vgdata /dev/sdb
Volume group "vgdata" successfully created
với kích thước PE mặc định là 4MB sẽ ổn vì nó là bội số của kích thước sọc là 2MB. Chính xác?
Bây giờ, một phần của vgroup được gán cho một khối hợp lý:
# lvcreate -L 40T vgdata -n lvscratch
Logical volume "lvscratch" created.
Cuối cùng, hệ thống tệp được tạo nhưng bây giờ với các đối số chính xác (kích thước sọc là 2MB, chiều rộng sọc là 8):
# mkfs.xfs -d su=2048k,sw=8 /dev/vgdata/lvscratch
meta-data=/dev/vgdata/lvscratch isize=256 agcount=41, agsize=268434944 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=10737418240, imaxpct=5
= sunit=512 swidth=4096 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=521728, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Cách tiếp cận này có đúng không? Có bất cứ điều gì cần lưu ý cho việc mở rộng âm lượng hợp lý hoặc nhóm âm lượng không? Tôi cho rằng nếu nhóm âm lượng sẽ được mở rộng với một hệ thống RAID6 khác, kích thước dải phải bằng với RAID6 hiện tại.
EDIT : Sự nhầm lẫn của tôi dường như chủ yếu dựa trên việc sử dụng các thuật ngữ khác nhau được kết nối với sọc. Nhà sản xuất bộ điều khiển RAID của tôi, LSI hoặc Avago, định nghĩa các thuật ngữ theo cách sau :
Sọc rộng
Độ rộng sọc là số lượng ổ đĩa tham gia vào một nhóm ổ đĩa, nơi thực hiện phân chia. Ví dụ, một nhóm ổ đĩa bốn đĩa với dải đĩa có chiều rộng sọc là bốn.
Kích thước sọc
Kích thước sọc là chiều dài của các phân đoạn dữ liệu xen kẽ mà bộ điều khiển RAID ghi trên nhiều ổ đĩa, không bao gồm các ổ đĩa chẵn lẻ. Ví dụ, hãy xem xét một dải chứa 64 KB không gian đĩa và có 16 KB dữ liệu cư trú trên mỗi đĩa trong dải. Trong trường hợp này, kích thước sọc là 64 KB và kích thước dải là 16 KB.
Kích thước dải
Kích thước dải là phần của một dải nằm trên một ổ đĩa.
Wikipedia (và IBM ) dường như sử dụng các định nghĩa khác:
Các phân đoạn dữ liệu tuần tự được ghi hoặc đọc từ đĩa trước khi hoạt động tiếp tục trên đĩa tiếp theo thường được gọi là khối, chuỗi hoặc đơn vị sọc, trong khi các nhóm logic của chúng tạo thành các hoạt động sọc đơn được gọi là dải hoặc sọc. Lượng dữ liệu trong một khối (đơn vị sọc), thường được tính bằng byte, được gọi khác nhau là kích thước khối, kích thước sải chân, kích thước sọc, độ sâu sọc hoặc chiều dài sọc. Số lượng đĩa dữ liệu trong mảng đôi khi được gọi là chiều rộng sọc, nhưng nó cũng có thể đề cập đến lượng dữ liệu trong một dải.
Lượng dữ liệu trong một bước được nhân với số lượng đĩa dữ liệu trong mảng (nghĩa là độ sâu sọc lần chiều rộng sọc, trong tương tự hình học sẽ mang lại một diện tích) đôi khi được gọi là kích thước sọc hoặc chiều rộng sọc. Dải rộng xảy ra khi các khối dữ liệu được trải rộng trên nhiều mảng, có thể là tất cả các ổ đĩa trong hệ thống. Dải hẹp xảy ra khi các khối dữ liệu được trải trên các ổ đĩa trong một mảng duy nhất.
Ngay cả trong văn bản Wikipedia ở trên kích thước sọc được sử dụng với hai ý nghĩa khác nhau. Tuy nhiên, tôi cho rằng bây giờ, khi tạo hệ thống tệp xfs, kích thước của một đoạn đơn được lưu trữ trên một ổ đĩa phải được đưa ra làm đối số cho su. Điều này, nó nên được mkfs.xfs -d su=256k,sw=8
trong lệnh trên. Chính xác?
pvcreate
's--dataalignment
?