ลดขนาด RAID โดยการเอาดิสก์ออกหรือไม่


14

ฉันมี Synology NAS กับ 12 ช่อง เริ่มแรกเราตัดสินใจจัดสรรดิสก์ทั้ง 12 ตัวสำหรับโวลุ่ม RAID-6 เดียว แต่ตอนนี้เราต้องการลดขนาดโวลุ่มให้ใช้เพียง 10 ดิสก์และกำหนด HDD สองตัวเป็นสำรอง

ปริมาณผู้จัดการ Wizardสามารถขยายระดับเสียงโดยการเพิ่มฮาร์ดดิสก์ แต่ฉันได้พบวิธีที่จะไม่หดตัวไดรฟ์โดยการถอดฮาร์ดดิสก์ ฉันจะทำสิ่งนั้นได้อย่างไรโดยไม่ต้องเตรียมระบบใหม่ทั้งหมด?


เป้าหมายที่นี่คืออะไร? ขณะนี้ดิสก์สองตัวถูกใช้เป็นพาริตีดังนั้นอาเรย์จึงสามารถทนต่อความล้มเหลวสองแบบได้ ถ้าคุณต้องการอะไหล่สองอันคุณก็สามารถทิ้งไว้ใกล้ ๆ และมีความอดทนเท่าเดิม แต่มีพื้นที่ดิสก์มากขึ้น
Paul

แน่นอน แต่ฉันต้องไปที่สำนักงานให้นำดิสก์ออกมาแล้วใส่ดิสก์ทดแทน มีอะไหล่ช่วยให้สามารถทำสิ่งนี้ได้จากระยะไกล
Pierre Arnaud

Synology ของคุณมี MDADM ในตัวหรือไม่ถ้าคุณทำมัน?
พอล

ใช่ฉันเข้าถึงเครื่องมือ mdadm แล้ว
Pierre Arnaud

คำตอบ:


20

สำหรับเรื่องนี้ฉันจะสมมติว่ามี 12 ดิสก์ในอาเรย์และแต่ละอันมีขนาดใหญ่ 1TB

นั่นหมายความว่ามีพื้นที่เก็บข้อมูล 10TB ตัวอย่างเช่นหากคุณไม่ได้ใช้พื้นที่เก็บข้อมูลมากกว่า 6 ดิสก์ (6TB) จากนั้นไม่สำคัญว่าจะมีขนาดเท่าใด

ข้อจำกัดความรับผิดชอบ: ไม่มีสิ่งใดที่สนับสนุนโดย Synology ดังนั้นฉันจะตรวจสอบกับพวกเขาหากวิธีการนี้อาจทำให้เกิดปัญหาสำรองข้อมูลล่วงหน้าและปิดบริการ synology ล่วงหน้า Synology ใช้มาตรฐานอาร์เรย์ md โจมตีเท่าที่ผมรู้และพวกเขาจะสามารถเข้าถึงได้หากดิสก์จะถูกย้ายไปยังเซิร์ฟเวอร์มาตรฐานที่สนับสนุน md - เพื่อให้มีควรมีปัญหาใด ๆ

ภาพรวม

ลำดับจะเป็นดังนี้:

  1. ลดขนาดระบบไฟล์
  2. ลดขนาดโลจิคัลวอลุ่ม
  3. ลดขนาดอาร์เรย์
  4. ปรับขนาดระบบไฟล์กลับ
  5. แปลงดิสก์สำรองเป็น hot spares

ระบบไฟล์

ค้นหาพาร์ติชันหลักโดยใช้df -hควรมีลักษณะดังนี้:

Filesystem                Size      Used Available Use% Mounted on
/dev/vg1/volume_1         10T       5T   5T         50% /volume1

ใช้คำสั่งนี้เพื่อปรับขนาดให้ใหญ่สุดตามที่ต้องการและไม่ต้องเพิ่มเติม:

umount /dev/vg1/volume_1
resize2fs -M /dev/vg1/volume_1

ตรวจสอบตอนนี้:

mount /dev/vg1/volume_1 /volume1
df -h

Filesystem                Size      Used Available Use% Mounted on
/dev/vg1/volume_1         5T       5T    0T        100% /volume1

ปริมาณ

หากต้องการลดขนาดเสียงให้ใช้ lvreduce (ทำให้ใหญ่ขึ้นเล็กน้อยในกรณี):

umount /dev/vg1/volume_1
lvreduce -L 5.2T /dev/vg1/volume_1

หลังจากที่ลดปริมาณโลจิคัลให้ใช้ pvresize เพื่อลดขนาดฟิสิคัลวอลุ่ม:

pvresize --setphysicalvolumesize 5.3T /dev/md0

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

ตอนนี้เรามีปริมาณ 5.3T ในอาร์เรย์ 10T ดังนั้นเราจึงสามารถลดขนาดอาร์เรย์ได้ 2T

แถว

ค้นหาอุปกรณ์ md:

 pvdisplay -C
 PV         VG      Fmt  Attr PSize   PFree
 /dev/md0   vg1     lvm2 a--  5.3t    0.1t

ขั้นตอนแรกคือการบอก mdadm เพื่อลดขนาดอาเรย์ (ด้วยการเติบโต):

mdadm --grow -n10 /dev/md0
mdadm: this change will reduce the size of the array.
       use --grow --array-size first to truncate array.
       e.g. mdadm --grow /dev/md0 --array-size 9683819520

นี่เป็นการบอกว่าเพื่อให้พอดีกับอาเรย์ปัจจุบันกับดิสก์ 10 ตัวเราจำเป็นต้องลดขนาดอาเรย์

 mdadm --grow /dev/md0 --array-size 9683819520

ตอนนี้มันมีขนาดเล็กลงเราสามารถลดจำนวนดิสก์ได้:

 mdadm --grow -n10 /dev/md0 --backup-file /root/mdadm.md0.backup

ขั้นตอนนี้จะใช้เวลานานและสามารถตรวจสอบได้ที่นี่:

 cat /proc/mdstat

Personalities : [raid6] [raid5] [raid4]
md4 : active raid6 sda4[0] sdb4[1] sdc4[2] sdd4[3] sde4[4] sdf4[5] sdg4[6] sdh4[7] sdi4[1] sdj4[1] 
      [>....................]  reshape =  1.8% (9186496/484190976)
                              finish=821.3min speed=9638K/sec [UUUUUUUUUU__]

แต่เราไม่ต้องรอ

ปรับขนาด PV, LV และระบบไฟล์ให้สูงสุด:

pvresize /dev/md0
lvextend -l 100%FREE /dev/vg1/volume_1
e2fsck -f /dev/vg1/volume_1
resize2fs /dev/vg1/volume_1

ตั้งดิสก์สำรองเป็นอะไหล่

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

cat /proc/mdstat

Personalities : [raid6] [raid5] [raid4]
md4 : active raid6 sda4[0] sdb4[1] sdc4[2] sdd4[3] sde4[4] sdf4[5] sdg4[6] sdh4[7] sdi4[S] sdj4[S] 

ขอบคุณมากสำหรับคำแนะนำโดยละเอียดเหล่านี้ ฉันจะรอให้อาร์เรย์ RAID ของฉันเสร็จสิ้นการสร้างใหม่หลังจากเปลี่ยน HDD (ความจุรวม: 17.86 TB ใช้เวลาพอสมควร)
Pierre Arnaud

ดูที่แผ่นโกง mdadm ด้วย ( ducea.com/2009/03/08/mdadm-cheat-sheet )
Pierre Arnaud

@Paul - superuser.com/questions/1274328/…ตั้งค่าสถานะความคิดเห็นนี้เพื่อลบหลังจากที่คุณพิจารณาว่าคุณสามารถช่วยผู้ใช้
Ramhound

ระวัง! ฉันคิดว่าคำตอบนี้อาจนำไปสู่การสูญเสียข้อมูลตามที่เป็นอยู่: ไม่มีการตรวจสอบว่า lvm lv เป็นจริงที่จุดเริ่มต้นของ pv! (ซึ่งไม่รับประกันกับ lvm) ดูunix.stackexchange.com/questions/67702/ … (และunix.stackexchange.com/questions/67702/…ในกรณีที่เกิดข้อผิดพลาด) เพื่อหาวิธีการทำให้มั่นใจว่าการสิ้นสุดของ PV นั้นจะลดขนาดลง
Ekleog

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