ง่ายต่อการขยายซอฟต์แวร์ Linux RAID 5 พร้อม XFS ปฏิบัติที่ดีที่สุด?


13

ฉันใช้เครื่อง Ubuntu ของฉันเป็นเซิร์ฟเวอร์ไฟล์สำหรับไคลเอนต์ Windows / Linux / Mac โดยใช้ Samba ฉันต้องการที่จะขยายได้อย่างง่ายดายเพียงแค่เพิ่มฮาร์ดไดรฟ์มากขึ้นโดยไม่ต้องย้ายข้อมูลไปมา

นี่คือสิ่งที่ฉันได้ทำไปแล้ว ฉันเพิ่มฮาร์ดไดรฟ์ตัวที่สี่สำเร็จแล้ว ตอนนี้จะเป็นการดีที่ได้ทราบว่าวิธีนี้ควรทำอย่างไร? สิ่งที่ฉันทำผิดหรือสิ่งที่ฉันสามารถทำได้ดีกว่า

การสร้างอาเรย์ 3 ไดรฟ์เริ่มต้น

ฉันเริ่มต้นด้วยสามไดรฟ์ที่ว่างเปล่า: / dev / sdb, / dev / sdc และ / dev / sdd

ครั้งแรกที่ฉันสร้างพาร์ทิชันที่ว่างเปล่าให้กับไดรฟ์ทั้งหมด:

$ fdisk /dev/sdX
n # Create a new partition
p # Primary
1 # First partition
[enter] # Starting point to first sector (default)
[enter] # Ending point to last sector (default)
t # Change partition type
fd # Type: Linux raid autodetect
w # Write changes to disc

เมื่อสร้างพาร์ติชั่น RAID ว่างเปล่าไปยังดิสก์ทั้งสามฉันสร้างอาร์เรย์ RAID5:

$ mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

ตอนนี้อาร์เรย์ RAID5 ถูกสร้างขึ้นและกำลังถูกสร้างขึ้นแล้ว ต้องใช้เวลา แต่คุณสามารถสร้างปริมาณ LVM2 จริงได้:

$ pvcreate /dev/md0

ตอนนี้มาสร้างกลุ่มวอลุ่มใหม่:

$ vgcreate vd_raid /dev/md0

จากนั้นเราจำเป็นต้องสร้างโลจิคัลวอลุ่มใหม่ภายในกลุ่มวอลุ่มนั้น ก่อนอื่นเราต้องหาขนาดที่แน่นอนของกลุ่มวอลุ่มที่สร้างขึ้น:

$ vgdisplay vg_raid

ขนาดสามารถมองเห็นได้จากแถวซึ่งระบุ "Total PE" ในขอบเขตทางกายภาพ สมมติว่ามันคือ 509 ตอนนี้สร้างโลจิคัลวอลุ่มใหม่ซึ่งใช้พื้นที่ทั้งหมด:

$ lvcreate -l 509 vg_raid -n lv_raid

ในที่สุดเราสามารถสร้างระบบไฟล์ที่ด้านบนของโลจิคัลวอลุ่มนั้น:

$ mkfs.xfs /dev/mapper/vg_raid-lv_raid

ในการใช้งานอาร์เรย์ RAID ที่สร้างขึ้นใหม่ของเราเราจำเป็นต้องสร้างไดเรกทอรีและติดตั้ง:

$ mkdir /raid
$ mount /dev/mapper/vg_raid-lv_raid /raid

ตอนนี้มันพร้อมใช้งานแล้ว แต่เพื่อให้การเมาต์โดยอัตโนมัติหลังจากรีบูตเราต้องบันทึกรูปทรงเรขาคณิตของ RAID ลงในไฟล์กำหนดค่าของ mdadm:

$ mdadm --detail --scan >> /etc/mdadm/mdadm.conf

จากนั้นเพิ่มบรรทัดต่อไปนี้ใน / etc / fstab ซึ่งเมาท์อาร์เรย์ RAID โดยอัตโนมัติ:

/dev/mapper/vg_raid-lv_raid /raid auto auto,noatime,nodiratime,logbufs=8 0 1

ตอนนี้อาร์เรย์ RAID ก็พร้อมใช้งานและติดตั้งโดยอัตโนมัติไปยัง / RAID ไดเรกทอรีหลังจากบู๊ตทุกครั้ง

การเพิ่มไดรฟ์ใหม่ลงในอาร์เรย์

ลองจินตนาการว่าตอนนี้คุณมีไดรฟ์ใหม่ / dev / sde ซึ่งคุณต้องการเพิ่มไปยังอาร์เรย์ที่สร้างไว้ก่อนหน้านี้โดยไม่สูญเสียข้อมูลใด ๆ

ก่อนอื่นต้องทำการแบ่งพาร์ติชันไดรฟ์เหมือนกับไดรฟ์อื่นทั้งหมด:

$ fdisk /dev/sde
n # Create a new partition
p # Primary
1 # First partition
[enter] # Starting point to first sector (default)
[enter] # Ending point to last sector (default)
t # Change partition type
fd # Type: Linux raid autodetect
w # Write changes to disc

จากนั้นจะต้องเพิ่มไปยังอาร์เรย์ RAID:

$ mdadm --add /dev/md0 /dev/sde1

ตอนนี้อาร์เรย์ RAID5 มีสี่ไดรฟ์ซึ่งปัจจุบันมีเพียงสามไดรฟ์ที่ใช้งานอยู่ อาร์เรย์ต้องถูกขยายเพื่อรวมไดรฟ์ทั้งสี่:

$ mdadm --grow /dev/md0 --raid-devices=4

ดังนั้นปริมาณ LVM2 แบบฟิสิคัลต้องถูกขยาย:

$ pvresize /dev/md0

ตอนนี้ฟิสิคัลวอลุ่มถูกปรับขนาดตามค่าดีฟอลต์เพื่อครอบคลุมพื้นที่ที่มีอยู่ทั้งหมดในอาร์เรย์ RAID เราจำเป็นต้องค้นหาขนาดใหม่ในขอบเขตทางกายภาพ:

$ vgdisplay vg_raid

ลองจินตนาการว่าขนาดใหม่ตอนนี้คือ 764 (สามารถดูได้จาก "Total PE") ตอนนี้ขยายโลจิคัลวอลุ่มเพื่อครอบคลุมสิ่งนี้:

$ lvextend /dev/mapper/vg_raid-lv_raid -l 764

จากนั้นขยายระบบไฟล์ XFS สิ่งนี้ต้องทำระหว่างระบบไฟล์ออนไลน์และเชื่อมต่อ:

$ xfs_grow /raid

โดยค่าเริ่มต้นจะขยายเพื่อครอบคลุมพื้นที่ที่มีอยู่ทั้งหมด ในที่สุดต้องอัปเดตเรขาคณิตอาร์เรย์ของ RAID เนื่องจากตอนนี้อาร์เรย์มีดิสก์ใหม่แล้ว ขั้นแรกให้ลบบรรทัดที่เพิ่มจาก /etc/mdadm/mdadm.conf จากนั้นเพิ่มบรรทัดใหม่:

$ mdadm --detail --scan >> /etc/mdadm/mdadm.conf

3
อย่าวางพาร์ติชั่นไว้ในดิสก์ของคุณ ไม่จำเป็นต้องใช้มัน - ตรวจจับ RAID อัตโนมัติในเคอร์เนล (ประเภทพาร์ติชัน fd) เลิกใช้แล้ว
James

ดังนั้นแทนที่จะสร้างพาร์ทิชันประเภท 'fd' ด้วย fdisk ฉันควรสร้างอาร์เรย์ / dev / md0 เป็น / dev / sdb, / dev / sdc และ / dev / sdd โดยตรงหรือไม่
Taskinen

1
ฉันเคยได้ยินว่าดิสก์ทุกแผ่นมีขนาดไม่เท่ากันดังนั้นหากฉันซื้อดิสก์เทราไบต์ใหม่อาจไม่ได้มีขนาดเท่ากันทุกประการ นั่นจะทำให้เกิดปัญหาหรือไม่?
Taskinen

คำตอบ:


5

ฉันคิดว่าคุณเข้าใจถูกต้อง ให้แน่ใจว่าคุณเข้าใจและใส่ใจต่อคำเตือนเกี่ยวกับการเจริญเติบโตของ RAID 5 man 8 mdadmใน

โดยส่วนตัวถ้าฉันกำลังเพิ่มปริมาณ LVM ฉันจะไม่เพิ่มอาร์เรย์ RAID ที่มีอยู่ให้ทำ ฉันจะสร้างอาร์เรย์ RAID อีกอันสร้าง physvol ใหม่จากนั้นและเพิ่มลงในกลุ่มวอลุ่มเดียวกัน นี่เป็นการดำเนินการที่ปลอดภัยยิ่งขึ้น (ไม่เกี่ยวข้องกับการเขียนอาร์เรย์ RAID5 ทั้งหมดใหม่ในชุดดิสก์ใหม่) และรักษาขนาดอาร์เรย์ของคุณลง


เห็นด้วยอย่างยิ่ง. vgextend เป็นเพื่อนของคุณที่นี่
Dan Andreatta

1
โดยทั่วไปแล้วฉันเข้าใจ แต่สิ่งที่เกี่ยวกับสถานการณ์ที่ฉันต้องการที่จะเติบโตสามดิสก์อาร์เรย์ดังกล่าวเป็นดิสก์อาร์เรย์สี่ ฉันไม่สามารถสร้างอาร์เรย์ RAID ใหม่จากดิสก์ที่สี่เพียงอย่างเดียว
Taskinen

1
ฉันจะไม่ขยายดิสก์อาร์เรย์ของเซิร์ฟเวอร์จัดเก็บข้อมูลทีละดิสก์ การเปลี่ยนจากดิสก์อาเรย์สามลูกไปเป็นดิสก์อาเรย์สี่ชุดจะช่วยให้คุณมีพื้นที่เก็บข้อมูลเพิ่มขึ้นเพียง 50% เพราะคุณต้องใช้ดิสก์ขนาดเดียวกัน
Kamil Kisiel

1
ตกลง เมื่อคุณหมดพื้นที่ดิสก์ไดรฟ์ที่ใหญ่กว่าจะมีราคาลดลง สร้างอาร์เรย์ RAID ชุดที่สองบนไดรฟ์ชุดใหม่ที่มีขนาดใหญ่กว่าจากนั้น pvmove ข้อมูลเก่าของคุณไปยังชุดนั้นและรื้อถอนชุดเก่าเมื่อ pvmove เสร็จสิ้น ทั้งหมดนี้สามารถทำได้ในขณะที่ระบบไฟล์ในโลจิคัลวอลุ่มที่ได้รับผลกระทบจาก pvmove กำลังใช้งานอยู่
flabdablet
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.