ฉันมี 10 ดิสก์ที่มี 8 TB แต่ละตัวใน RAID6 ฮาร์ดแวร์ (ดังนั้น 8 ดิสก์ข้อมูล + 2 พาริตี้) ตามคำตอบของคำถามที่คล้ายกันมากฉันหวังว่าจะตรวจหาพารามิเตอร์ที่จำเป็นทั้งหมดโดยอัตโนมัติ อย่างไรก็ตามเมื่อสร้างระบบไฟล์ XFS ในตอนท้ายฉันก็ได้
# 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
ดูเหมือนว่าแถบดังกล่าวไม่ได้ถูกใช้งาน เนื่องจากคำต่าง ๆ ที่ฉันพบในไซต์ต่าง ๆ (ขนาดแถบ, ขนาดแถบ, แถบแถบ, ... ), ฉันต้องการถามว่าฉันได้รับพารามิเตอร์ด้วยตนเองหรือไม่
RAID 6 ได้รับการตั้งค่าด้วยขนาดแถบ 256KB:
# ./storcli64 /c0/v1 show all | grep Strip
Strip Size = 256 KB
ดังนั้นขนาดแถบคือ 8 * 256KB = 2048KB = 2MB ถูกต้องหรือไม่ ตามนี้ (และถ้าฉันเข้าใจมันอย่างถูกต้อง) pvcreate
มีการใช้ขนาดแถบ (หรืออัน) เป็นอาร์กิวเมนต์เพื่อdataalignment
:
# pvcreate --dataalignment 256K /dev/sdb
Physical volume "/dev/sdb" successfully created
โปรดทราบว่าฉันใช้อุปกรณ์ RAID ทั้งหมดโดยไม่มีพาร์ติชัน ตอนนี้
# vgcreate vgdata /dev/sdb
Volume group "vgdata" successfully created
ด้วยค่าเริ่มต้น PE ขนาด 4 เมกะไบต์ควรปรับเนื่องจากขนาดของแถบเป็น 2MB แก้ไข?
ตอนนี้ส่วนหนึ่งของ vgroup ถูกกำหนดให้กับโลจิคัลวอลุ่ม:
# lvcreate -L 40T vgdata -n lvscratch
Logical volume "lvscratch" created.
สุดท้ายระบบไฟล์จะถูกสร้างขึ้น แต่ตอนนี้มีอาร์กิวเมนต์ที่ถูกต้อง (ขนาดสไทรพ์ของ 2MB, ความกว้างสตริป 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
วิธีนี้ถูกต้องหรือไม่ มีสิ่งใดที่ต้องคำนึงถึงสำหรับการขยายโลจิคัลวอลุ่มหรือกลุ่มวอลุ่มหรือไม่? ฉันสมมติว่าหากกลุ่มวอลุ่มจะถูกขยายด้วยระบบ RAID6 อื่นขนาดของแถบควรเท่ากับ RAID6 ปัจจุบัน
แก้ไข : ความสับสนของฉันดูเหมือนจะขึ้นอยู่กับการใช้งานที่แตกต่างกันของคำที่เชื่อมต่อกับแถบ ผู้ผลิตของคอนโทรลเลอร์ RAID ของฉัน, LSI หรือ Avago กำหนดเงื่อนไขด้วยวิธีดังต่อไปนี้ :
แถบกว้าง
ความกว้างของแถบคือจำนวนของไดรฟ์ที่เกี่ยวข้องในกลุ่มของไดรฟ์ที่ใช้การสไทรพ์ ตัวอย่างเช่นกลุ่มสี่ดิสก์ไดรฟ์ที่มีการสตริปดิสก์มีความกว้างสตริปสี่
ขนาดลาย
ขนาดสไทรพ์คือความยาวของเซกเมนต์ข้อมูลแบบแทรกที่คอนโทรลเลอร์ RAID เขียนข้ามไดรฟ์หลาย ๆ ตัวไม่รวมถึงไดรฟ์แบบพาริตี้ ตัวอย่างเช่นให้พิจารณาแถบที่มีเนื้อที่ว่างบนดิสก์ 64 KB และมีข้อมูลอยู่ที่ 16 KB บนดิสก์แต่ละตัวในแถบนั้น ในกรณีนี้ขนาดสตริปคือ 64 KB และขนาดสตริปคือ 16 KB
ขนาดแถบ
ขนาดสตริปเป็นส่วนของสตริปที่อยู่บนไดรฟ์เดียว
Wikipedia (และIBM ) ดูเหมือนจะใช้คำจำกัดความอื่น ๆ :
เซ็กเมนต์ของข้อมูลตามลำดับที่เขียนหรืออ่านจากดิสก์ก่อนที่การดำเนินการต่อบนดิสก์ต่อไปมักจะเรียกว่า chunks, strides หรือหน่วยแถบในขณะที่กลุ่มตรรกะของพวกเขาสร้างการดำเนินงานสไทรพ์เดียวจะเรียกว่าแถบหรือแถบ จำนวนข้อมูลในก้อนเดียว (หน่วยแถบ) ซึ่งมักจะเป็นหน่วยเป็นไบต์เรียกว่าขนาดก้อนขนาดก้าวย่างขนาดแถบความลึกของแถบหรือความยาวแถบ จำนวนข้อมูลดิสก์ในอาเรย์บางครั้งเรียกว่าความกว้างของสไทรพ์ แต่ก็อาจอ้างถึงจำนวนข้อมูลภายในสไทรพ์
จำนวนข้อมูลในหนึ่งก้าวคูณด้วยจำนวนข้อมูลดิสก์ในอาร์เรย์ (เช่นความลึกของแถบคูณความกว้างของแถบซึ่งในการเปรียบเทียบเชิงเรขาคณิตจะให้พื้นที่) บางครั้งเรียกว่าขนาดแถบหรือความกว้างของแถบ การสตริปไวด์เกิดขึ้นเมื่อมีการกระจายของข้อมูลในหลาย ๆ อาร์เรย์ซึ่งอาจเป็นไดรฟ์ทั้งหมดในระบบ การสตริปแคบเกิดขึ้นเมื่อชิ้นส่วนของข้อมูลกระจายไปทั่วไดรฟ์ในอาร์เรย์เดียว
แม้ในข้อความของ Wikipedia ข้างต้นขนาดแถบจะใช้กับความหมายที่แตกต่างกันสองแบบ อย่างไรก็ตามฉันคิดว่าตอนนี้เมื่อสร้างระบบไฟล์ xfs ขนาดของก้อนเดียวที่เก็บไว้ในไดรฟ์เดียวจะต้องได้รับการโต้แย้งเป็น su สิ่งนี้ควรอยู่mkfs.xfs -d su=256k,sw=8
ในคำสั่งด้านบน แก้ไข?
pvcreate
ได้--dataalignment
หรือไม่?