Thu nhỏ RAID bằng cách loại bỏ một đĩa?


14

Tôi có một NAS Synology với 12 vịnh. Ban đầu, chúng tôi đã quyết định phân bổ tất cả 12 đĩa cho một ổ RAID-6, nhưng bây giờ chúng tôi muốn thu nhỏ âm lượng để chỉ sử dụng 10 đĩa và gán hai ổ cứng làm phụ tùng.

Các Volume Manager Wizard có thể dễ dàng mở rộng khối lượng bằng cách thêm đĩa cứng, nhưng tôi đã tìm thấy không có cách nào để thu nhỏ khối lượng bằng cách loại bỏ ổ đĩa cứng . Làm thế nào tôi có thể làm điều đó mà không phải khởi động lại toàn bộ hệ thống?


Mục tiêu ở đây là gì? Hiện tại hai đĩa được sử dụng như là chẵn lẻ, và do đó mảng có thể chịu được hai lỗi. Nếu bạn muốn có hai phụ tùng, bạn cũng có thể để chúng ở gần và có cùng dung sai, nhưng có nhiều không gian đĩa hơn.
Paul

Chắc chắn, nhưng tôi phải đến văn phòng, bật một đĩa ra và chèn một đĩa thay thế. Có một phụ tùng cho phép làm điều này từ xa.
Pierre Arnaud

Synology của bạn có MDADM được tích hợp nếu bạn ssh với nó không?
Paul

Có, tôi đã truy cập vào công cụ mdadm.
Pierre Arnaud

Câu trả lời:


19

Đối với điều này, tôi sẽ giả sử có 12 đĩa trong mảng và mỗi đĩa lớn 1TB.

Điều đó có nghĩa là có 10TB dung lượng lưu trữ. Đây là ví dụ, miễn là bạn không sử dụng dung lượng lưu trữ lớn hơn 6 đĩa (6TB), thì chúng không có vấn đề gì với kích thước của chúng.

Từ chối trách nhiệm: Không ai trong số này có thể được Synology hỗ trợ, vì vậy tôi sẽ kiểm tra với họ nếu phương pháp này có thể gây ra sự cố, sao lưu trước và tắt bất kỳ dịch vụ đồng bộ nào trước đó. Synology sử dụng các mảng đột kích md tiêu chuẩn theo như tôi biết, và chúng có thể truy cập được nếu đĩa được chuyển đến một máy chủ tiêu chuẩn hỗ trợ md - vì vậy sẽ không có vấn đề gì.

Tổng quat

Trình tự diễn ra như sau:

  1. Giảm kích thước hệ thống tập tin
  2. Giảm kích thước khối hợp lý
  3. Giảm kích thước mảng
  4. Thay đổi kích thước hệ thống tập tin trở lại
  5. Chuyển đổi các đĩa dự phòng thành các phụ tùng nóng

Hệ thống tập tin

Tìm phân vùng chính, sử dụng df -h, nó sẽ trông giống như:

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

Sử dụng lệnh này để thay đổi kích thước đến mức tối đa cần thiết và không còn nữa:

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

Kiểm tra bây giờ:

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

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

Âm lượng

Để giảm kích thước âm lượng, hãy sử dụng lvreduce (làm cho nó lớn hơn một chút trong trường hợp):

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

Bây giờ âm lượng logic đã được giảm, sử dụng pvresize để giảm kích thước âm lượng vật lý:

pvresize --setphysicalvolumesize 5.3T /dev/md0

Nếu thay đổi kích thước không thành công, hãy xem câu hỏi khác này để di chuyển các phần dữ liệu được phân bổ ở cuối khối lượng vật lý về đầu.

Bây giờ chúng ta có âm lượng 5,3T trên mảng 10T, vì vậy chúng ta có thể giảm kích thước mảng xuống 2T một cách an toàn.

Mảng

Tìm hiểu thiết bị md:

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

Bước đầu tiên là nói với mdadm để giảm kích thước mảng (với grow):

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

Điều này nói rằng để phù hợp với mảng hiện tại vào 10 đĩa, chúng ta cần giảm kích thước mảng.

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

Bây giờ nó nhỏ hơn, chúng ta có thể giảm số lượng đĩa:

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

Điều này sẽ mất một thời gian và có thể được theo dõi ở đây:

 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__]

Nhưng chúng ta không cần phải chờ đợi.

Thay đổi kích thước PV, LV và hệ thống tập tin tối đa:

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

Đặt đĩa dự phòng làm phụ tùng

Không có gì để làm ở đây, bất kỳ đĩa dự phòng trong một mảng sẽ tự động phụ tùng. Khi quá trình định hình lại của bạn hoàn tất, hãy kiểm tra trạng thái:

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] 

Cảm ơn rất nhiều cho những hướng dẫn chi tiết. Trước tiên tôi sẽ đợi mảng RAID của mình hoàn tất việc xây dựng lại sau khi đã thay thế một ổ cứng (tổng dung lượng: 17,86 TB, sẽ mất một thời gian).
Pierre Arnaud

Cũng có một cái nhìn vào bảng cheat mdadm ( ducea.com/2009/03/08/mdadm-cheat-sheet ).
Pierre Arnaud

@Paul - superuser.com/questions/1274328/ Đánh dấu nhận xét này để xóa sau khi bạn xác định xem bạn có thể giúp người dùng không
Ramhound

Coi chừng! Tôi nghĩ rằng câu trả lời này có thể dẫn đến mất dữ liệu, như là: không có kiểm tra xem lvm lv có thực sự ở đầu pv không! (không được đảm bảo với lvm). Xem unix.stackexchange.com/questions/67702/... (và unix.stackexchange.com/questions/67702/... trong trường hợp lỗi) cho một cách để đảm bảo sự kết thúc của PV miễn phí để được co.
Ekleog

@Ekleog Cảm ơn, nhận xét này sẽ được đặt tốt hơn như là một phần của câu trả lời trong trường hợp bị bỏ lỡ
Paul
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.