Giới thiệu
Trong lab này, bạn sẽ học cách sử dụng lệnh mdadm
của Linux để tạo, quản lý và giám sát các mảng RAID phần mềm. RAID phần mềm là một giải pháp thay thế hiệu quả về chi phí và linh hoạt cho RAID phần cứng, cho phép bạn định cấu hình các cấp độ RAID khác nhau mà không cần phần cứng chuyên dụng. Đầu tiên, bạn sẽ hiểu khái niệm về RAID phần mềm và cách nó khác với RAID phần cứng. Sau đó, bạn sẽ tạo một mảng RAID 5 bằng cách sử dụng lệnh mdadm
và các thiết bị khối ảo. Cuối cùng, bạn sẽ học cách quản lý và giám sát mảng RAID phần mềm.
Hiểu Khái niệm về RAID Phần mềm
Trong bước này, bạn sẽ tìm hiểu về khái niệm RAID phần mềm (Redundant Array of Independent Disks - Mảng dự phòng các đĩa độc lập) và cách nó khác với RAID phần cứng. RAID phần mềm là một tính năng được cung cấp bởi hệ điều hành, cho phép bạn tạo và quản lý các mảng RAID bằng phần mềm thay vì phần cứng bộ điều khiển RAID chuyên dụng.
Ưu điểm chính của RAID phần mềm là nó hiệu quả về chi phí và linh hoạt hơn RAID phần cứng. Nó có thể được triển khai trên bất kỳ hệ thống nào có nhiều thiết bị lưu trữ, mà không cần phần cứng RAID chuyên dụng. Tuy nhiên, RAID phần mềm có thể có hiệu suất thấp hơn một chút so với RAID phần cứng, vì CPU chịu trách nhiệm quản lý các hoạt động RAID.
Có một số cấp độ RAID mà bạn có thể định cấu hình bằng RAID phần mềm, chẳng hạn như RAID 0 (striping), RAID 1 (mirroring), RAID 5 (striping với distributed parity) và RAID 6 (striping với dual distributed parity). Mỗi cấp độ RAID cung cấp các sự đánh đổi khác nhau giữa dung lượng lưu trữ, hiệu suất và tính dự phòng dữ liệu.
Trong bước tiếp theo, bạn sẽ học cách tạo mảng RAID phần mềm bằng lệnh mdadm
trong Linux.
Tạo Mảng RAID Phần mềm Bằng mdadm
Trong bước này, bạn sẽ học cách tạo mảng RAID phần mềm bằng lệnh mdadm
trong Linux.
Đầu tiên, hãy tạo bốn thiết bị khối ảo sẽ được sử dụng làm bộ nhớ cơ bản cho mảng RAID của chúng ta:
sudo dd if=/dev/zero of=~/project/disk1.img bs=1M count=100
sudo dd if=/dev/zero of=~/project/disk2.img bs=1M count=100
sudo dd if=/dev/zero of=~/project/disk3.img bs=1M count=100
sudo dd if=/dev/zero of=~/project/disk4.img bs=1M count=100
Ví dụ đầu ra:
100+0 records in
100+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 0.0730474 s, 1.4 GB/s
Tiếp theo, hãy tạo một mảng RAID 5 bằng cách sử dụng bốn đĩa ảo này:
sudo mdadm --create /dev/md0 --level=5 --raid-devices=4 ~/project/disk1.img ~/project/disk2.img ~/project/disk3.img ~/project/disk4.img
Ví dụ đầu ra:
mdadm: chunk size defaults to 512K
mdadm: array /dev/md0 started.
Lệnh mdadm
tạo một mảng RAID mới có tên /dev/md0
với cấp độ RAID là 5 và 4 thiết bị cơ bản.
Bây giờ, hãy kiểm tra trạng thái của mảng RAID:
sudo mdadm --detail /dev/md0
Ví dụ đầu ra:
/dev/md0:
Version : 1.2
Creation Time : Tue Apr 25 15:25:35 2023
Raid Level : raid5
Array Size : 307200 (300.00 MiB 314.43 MB)
Used Dev Size : 100000 (97.66 MiB 102.40 MB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Tue Apr 25 15:25:35 2023
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : 6d2d9c1c:b4d2f9c4:8d6f0e8f:e0b0d4d5
Events : 0
Number Major Minor RaidDevice State
0 0 0 0 active sync /home/labex/project/disk1.img
1 0 1 1 active sync /home/labex/project/disk2.img
2 0 2 2 active sync /home/labex/project/disk3.img
3 0 3 3 active sync /home/labex/project/disk4.img
Đầu ra cho thấy mảng RAID 5 đã được tạo thành công và đang ở trạng thái clean, active.
Trong bước tiếp theo, bạn sẽ học cách quản lý và giám sát mảng RAID phần mềm.
Quản lý và Giám sát Mảng RAID Phần mềm
Trong bước cuối cùng này, bạn sẽ học cách quản lý và giám sát mảng RAID phần mềm mà bạn đã tạo ở bước trước.
Đầu tiên, hãy thêm một đĩa mới vào mảng RAID 5:
sudo dd if=/dev/zero of=~/project/disk5.img bs=1M count=100
sudo mdadm /dev/md0 --add ~/project/disk5.img
Ví dụ đầu ra:
mdadm: added /home/labex/project/disk5.img
Bây giờ, hãy kiểm tra lại trạng thái của mảng RAID:
sudo mdadm --detail /dev/md0
Ví dụ đầu ra:
/dev/md0:
Version : 1.2
Creation Time : Tue Apr 25 15:25:35 2023
Raid Level : raid5
Array Size : 407200 (397.66 MiB 417.23 MB)
Used Dev Size : 100000 (97.66 MiB 102.40 MB)
Raid Devices : 5
Total Devices : 5
Persistence : Superblock is persistent
Update Time : Tue Apr 25 15:26:16 2023
State : clean, degraded, recovering
Active Devices : 4
Working Devices : 5
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : 6d2d9c1c:b4d2f9c4:8d6f0e8f:e0b0d4d5
Events : 6
Number Major Minor RaidDevice State
0 0 0 0 active sync /home/labex/project/disk1.img
1 0 1 1 active sync /home/labex/project/disk2.img
2 0 2 2 active sync /home/labex/project/disk3.img
3 0 3 3 active sync /home/labex/project/disk4.img
4 0 4 - spare /home/labex/project/disk5.img
Đầu ra cho thấy đĩa mới /home/labex/project/disk5.img
đã được thêm vào làm thiết bị spare cho mảng RAID 5.
Tiếp theo, hãy mô phỏng lỗi đĩa bằng cách xóa một trong các thiết bị khỏi mảng RAID:
sudo mdadm /dev/md0 --fail /home/labex/project/disk1.img
sudo mdadm /dev/md0 --remove /home/labex/project/disk1.img
Ví dụ đầu ra:
mdadm: set /home/labex/project/disk1.img faulty in /dev/md0
mdadm: hot removed /home/labex/project/disk1.img from /dev/md0
Bây giờ, hãy kiểm tra lại trạng thái của mảng RAID:
sudo mdadm --detail /dev/md0
Ví dụ đầu ra:
/dev/md0:
Version : 1.2
Creation Time : Tue Apr 25 15:25:35 2023
Raid Level : raid5
Array Size : 407200 (397.66 MiB 417.23 MB)
Used Dev Size : 100000 (97.66 MiB 102.40 MB)
Raid Devices : 5
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Tue Apr 25 15:26:56 2023
State : clean, degraded
Active Devices : 4
Working Devices : 4
Failed Devices : 1
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : 6d2d9c1c:b4d2f9c4:8d6f0e8f:e0b0d4d5
Events : 8
Number Major Minor RaidDevice State
1 0 1 1 active sync /home/labex/project/disk2.img
2 0 2 2 active sync /home/labex/project/disk3.img
3 0 3 3 active sync /home/labex/project/disk4.img
4 0 4 4 spare /home/labex/project/disk5.img
0 0 0 - removed
Đầu ra cho thấy mảng RAID 5 hiện đang ở trạng thái degraded, với một thiết bị bị lỗi và một thiết bị spare khả dụng.
Trong bước này, bạn đã học cách quản lý và giám sát một mảng RAID phần mềm bằng lệnh mdadm
, bao gồm thêm một đĩa mới, mô phỏng lỗi đĩa và quan sát trạng thái của mảng RAID.
Tóm tắt
Trong lab này, đầu tiên bạn đã tìm hiểu về khái niệm RAID phần mềm, cho phép bạn tạo và quản lý các mảng RAID bằng phần mềm thay vì phần cứng chuyên dụng. Bạn đã khám phá những ưu điểm của RAID phần mềm, chẳng hạn như hiệu quả về chi phí và tính linh hoạt, cũng như các cấp độ RAID khác nhau có sẵn. Sau đó, bạn đã học cách tạo một mảng RAID phần mềm bằng lệnh mdadm
trong Linux. Bạn đã tạo bốn thiết bị khối ảo và sử dụng chúng để thiết lập một mảng RAID 5, cung cấp tính dự phòng dữ liệu và cải thiện hiệu suất.