Cách xây dựng RAID 1 trên Ubuntu: Giải thích RAID phần mềm với mdadm

1. Giới thiệu

Tại sao Xây dựng RAID 1 trên Ubuntu?

Ubuntu là một bản phân phối Linux được sử dụng rộng rãi từ người dùng cá nhân đến môi trường doanh nghiệp. Nhờ độ tin cậy cao và tính linh hoạt, nó thường được áp dụng cho mục đích sử dụng máy chủ. Bằng cách xây dựng RAID 1 (mirroring) trong môi trường Ubuntu, bạn có thể đảm bảo tính dư thừa dữ liệu và giảm thiểu rủi ro mất dữ liệu do hỏng đĩa.

RAID 1 hoạt động bằng cách ghi dữ liệu giống hệt nhau vào hai đĩa hoặc nhiều hơn theo thời gian thực. Ngay cả khi một đĩa bị hỏng, hệ thống vẫn có thể tiếp tục hoạt động bằng cách sử dụng đĩa còn lại. Đối với các hệ thống Ubuntu xử lý các tệp hoặc dịch vụ quan trọng, RAID 1 là một chiến lược bảo vệ hiệu quả.

Sự Khác Biệt Giữa Software RAID và Hardware RAID

Có hai cách tiếp cận chính để xây dựng RAID. Một là hardware RAID, sử dụng bộ điều khiển RAID chuyên dụng hoặc tính năng RAID của bo mạch chủ. Cách còn lại là software RAID, được cấu hình bằng phần mềm hệ điều hành (chủ yếu là mdadm trên Linux).

Trên Ubuntu, software RAID là lựa chọn phổ biến nhất nhờ hiệu quả chi phí và tính linh hoạt. Bài viết này tập trung vào việc xây dựng RAID 1 trên Ubuntu, bao gồm cấu hình tại thời điểm cài đặt, quản lý hoạt động và khôi phục sự cố.

Những Gì Bạn Sẽ Học Trong Bài Viết Này

Bằng cách đọc hướng dẫn này, bạn sẽ nắm được các kiến thức và kỹ năng sau:

  • Các nguyên tắc cơ bản của RAID 1 và cách nó hoạt động trên Ubuntu
  • Hướng dẫn từng bước để xây dựng RAID 1 bằng software RAID (mdadm)
  • Việc xây dựng lại RAID 1, kiểm tra trạng thái và khắc phục sự cố
  • Sự khác biệt và lưu ý giữa Ubuntu Server và Desktop
  • Kiến thức FAQ thực tế bao gồm cấu hình GRUB và fstab

Sau khi cấu hình, RAID không yêu cầu can thiệp thường xuyên, nhưng việc hiểu rõ thiết lập ban đầu là rất quan trọng. Bài viết này cung cấp các giải thích rõ ràng và thực tế, phù hợp ngay cả với người mới bắt đầu. Vui lòng đọc đến hết.

2. Các Nguyên Tắc Cơ Bản Của RAID 1

Các Cấp Độ RAID và Đặc Trưng Của RAID 1

RAID (Redundant Array of Independent Disks) là công nghệ kết hợp nhiều ổ cứng để cải thiện độ tin cậy và hiệu suất dữ liệu. RAID có nhiều cấp độ, mỗi cấp độ có đặc trưng khác nhau.

Các cấp độ RAID phổ biến bao gồm:

  • RAID 0 : Cải thiện hiệu suất qua striping, nhưng không có tính dư thừa
  • RAID 1 : Cung cấp tính dư thừa qua mirroring (trọng tâm của bài viết này)
  • RAID 5 : Sử dụng parity trên ba đĩa hoặc nhiều hơn để cung cấp tính dư thừa
  • RAID 6 : Phiên bản nâng cao của RAID 5 với dual parity để tăng khả năng chịu lỗi
  • RAID 10 (1+0) : Sự kết hợp giữa RAID 1 và RAID 0

Trong số này, RAID 1 sử dụng cách tiếp cận mirroring ghi dữ liệu giống hệt nhau vào hai đĩa. Nếu một đĩa bị hỏng, dữ liệu vẫn có thể truy cập từ đĩa còn lại, cung cấp tính khả dụng tuyệt vời.

Cách Hoạt Động Của Mirroring (Ví Dụ Khái Niệm)

Cơ chế của RAID 1 rất đơn giản. Ví dụ, giả sử bạn có Đĩa A và Đĩa B:

[Write Operation]
User saves File A → Data is written simultaneously to Disk A and Disk B

[Read Operation]
Data can be read from either disk, allowing performance optimization

dữ liệu luôn được sao chép, RAID 1 cung cấp bảo vệ mạnh mẽ chống lại hỏng hóc đĩa vật lý.

Software RAID So Với Hardware RAID

Có hai phương pháp chính để xây dựng RAID:

  • Software RAID (mdadm, v.v.) Đây là phương pháp phổ biến nhất trên Ubuntu. RAID được quản lý ở cấp độ OS, mang lại tính linh hoạt và lợi thế chi phí. Nó cung cấp mức độ kiểm soát cao nhất và được sử dụng rộng rãi trong môi trường máy chủ thông thường.
  • Hardware RAID (thẻ RAID hoặc giải pháp dựa trên BIOS) RAID được xử lý bởi bộ điều khiển chuyên dụng, giảm tải CPU. OS nhận diện mảng như một đĩa duy nhất. Tuy nhiên, việc khôi phục trở nên khó khăn nếu chính bộ điều khiển bị hỏng .

Fake RAID (BIOS RAID) Là Gì?

Một số bo mạch chủ cung cấp chức năng RAID ở cấp độ BIOS, thường được gọi là “Fake RAID.”

Mặc dù trông có vẻ là RAID phần cứng, nhưng thực tế nó được kiểm soát bởi driver và cấu trúc gần với RAID phần mềm hơn. Trong khi Ubuntu cung cấp hỗ trợ hạn chế, RAID phần mềm dựa trên mdadm thường dễ quản lý và khôi phục hơn, vì vậy Fake RAID thường không được khuyến nghị.

3. Xây dựng RAID 1 với RAID Phần mềm (mdadm)

3.1 Chuẩn bị và Yêu cầu

Để xây dựng RAID 1, bạn cần ít nhất hai đĩa vật lý (hoặc phân vùng chưa sử dụng). Các đĩa đã được sử dụng làm đĩa hệ thống không phù hợp, vì vậy hãy chuẩn bị lưu trữ chuyên dụng.

Đầu tiên, xác định các đĩa mục tiêu:

lsblk

Hoặc kiểm tra thông tin chi tiết hơn:

sudo fdisk -l

Giả sử các đĩa là /dev/sdb/dev/sdc.

Trước khi tiếp tục, hãy đảm bảo rằng các đĩa mục tiêu không chứa dữ liệu quan trọng. Tất cả dữ liệu sẽ bị xóa trong quá trình tạo RAID.

3.2 Cài đặt mdadm

mdadm được bao gồm trong kho lưu trữ mặc định của Ubuntu và có thể được cài đặt dễ dàng:

sudo apt update
sudo apt install mdadm

Bạn có thể được nhắc về cài đặt thông báo email trong quá trình cài đặt. Những cái này có thể được điều chỉnh sau, vì vậy cài đặt mặc định là ổn ban đầu.

3.3 Tạo Mảng RAID 1

Khi các đĩa đã được xác nhận, tạo mảng RAID 1 với lệnh sau:

sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc

Giải thích lệnh:

  • /dev/md0 : Tên của thiết bị RAID mới
  • --level=1 : Chỉ định mức RAID 1 (phép phản chiếu)
  • --raid-devices=2 : Số lượng thiết bị trong mảng
  • /dev/sdb /dev/sdc : Các đĩa thực tế được sử dụng

Sau khi tạo, kiểm tra trạng thái:

cat /proc/mdstat

Nếu bạn thấy thông tin đồng bộ hóa cùng với /dev/md0, mảng RAID 1 đã được tạo thành công.

3.4 Cấu hình Bền vững (mdadm.conf và fstab)

Để đảm bảo mảng RAID được nhận diện sau khi khởi động lại, cần cấu hình bền vững.

Đầu tiên, lưu cấu hình RAID hiện tại:

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Tiếp theo, tạo hệ thống tệp trên mảng RAID (ví dụ: ext4):

sudo mkfs.ext4 /dev/md0

Tạo điểm gắn kết và gắn nó:

sudo mkdir -p /mnt/raid1
sudo mount /dev/md0 /mnt/raid1

Sau khi xác minh hoạt động, thêm nó vào /etc/fstab bằng cách sử dụng UUID:

sudo blkid /dev/md0

Thêm một mục như sau:

UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/raid1 ext4 defaults 0 0

Điều này đảm bảo mảng RAID 1 được gắn kết tự động sau khi khởi động lại.

4. Cấu hình RAID 1 Trong Quá Trình Cài Đặt Ubuntu

4.1 Sử dụng Trình Cài Đặt Ubuntu Server

Trình cài đặt Ubuntu Server hỗ trợ các cấu hình lưu trữ nâng cao như RAID và LVM.

Bước 1: Khởi động từ Phương tiện Cài đặt
Tạo USB có thể khởi động từ ISO Ubuntu Server và khởi động máy mục tiêu.

Bước 2: Hoàn thành Thiết lập Cơ bản
Cấu hình ngôn ngữ, bàn phím và mạng.

Bước 3: Tiếp tục đến Cấu hình Lưu trữ
Chọn Bố cục Lưu trữ Tùy chỉnh thay vì Hướng dẫn.

Bước 4: Cấu hình RAID

  1. Chọn hai đĩa trống
  2. Tạo phân vùng (ví dụ: /boot, swap, /)
  3. Chọn “Tạo RAID Phần mềm”
  4. Chọn RAID 1 và gán thiết bị
  5. Gán hệ thống tệp và điểm gắn kết

Bước 5: Cài đặt GRUB
Khuyến nghị cài đặt GRUB trên cả hai đĩa để hệ thống có thể khởi động ngay cả khi một đĩa hỏng.

4.2 Sử dụng RAID với Ubuntu Desktop

Ubuntu Desktop không bao gồm cấu hình RAID trong trình cài đặt của nó. Để sử dụng RAID 1, hãy xem xét các phương pháp sau:

Phương pháp 1: Xây dựng RAID Thủ công trong Môi trường Live → Cài đặt Desktop

  1. Khởi động từ USB Live
  2. Xây dựng RAID 1 sử dụng mdadm
  3. Cài đặt Ubuntu Desktop trên thiết bị RAID (ví dụ: /dev/md0)
  4. Điều chỉnh cài đặt grubfstab

Phương pháp này yêu cầu nỗ lực nhiều hơn nhưng cung cấp tính linh hoạt cao cho việc sử dụng RAID dựa trên GUI.

Phương pháp 2: Cài đặt Server với RAID → Thêm GUI Sau

sudo apt update
sudo apt install ubuntu-desktop

This approach is stable and recommended when you want to add a GUI to a RAID-configured system.

Choosing Between Desktop and Server

CriteriaServerDesktop
Ease of RAID Setup◎ Built-in installer support△ Manual setup required
GUI× (CLI-focused)◎ Included by default
Beginner Friendly△ Requires experience◎ Easy installation
Flexibility◎ Server-oriented○ Customizable

If RAID is central to your system, starting with Ubuntu Server is the smoothest approach.

5. RAID 1 Operation and Troubleshooting

5.1 Monitoring RAID Status

Regular monitoring is essential for early failure detection:

cat /proc/mdstat

[UU] indicates normal operation, while [_U] indicates one disk is missing.

For more details:

sudo mdadm --detail /dev/md0

5.2 Handling Disk Failures and Rebuilding

RAID 1 allows continued operation even if one disk fails.

Step 1: Identify the failed disk
Check for “Removed” or “Faulty” status.

Step 2: Remove the failed disk

sudo mdadm /dev/md0 --remove /dev/sdX

Step 3: Prepare the new disk

sudo fdisk /dev/sdX

Step 4: Add the disk and start rebuild

sudo mdadm /dev/md0 --add /dev/sdX

5.3 Installing GRUB for Redundancy

Install GRUB on both disks to ensure boot redundancy:

sudo grub-install /dev/sdX
sudo update-grub

6. Using Hardware RAID

6.1 What Is Hardware RAID?

Hardware RAID uses a dedicated controller to manage RAID operations, offering high performance and reduced CPU load.

6.2 Pros and Cons of Hardware RAID on Ubuntu

Advantages:

  • Low CPU usage
  • OS-independent configuration
  • Fast recovery and hot-swap support

Disadvantages:

  • Recovery is difficult if the RAID card fails
  • Less flexibility
  • Higher cost

6.3 Checking Hardware RAID Status

Hardware RAID arrays appear as single block devices. Status must be checked using vendor utilities.

7. Frequently Asked Questions (FAQ)

Q1. Is RAID 1 a replacement for backups?

No. RAID 1 protects against disk failure, not data loss from deletion or corruption.

Q2. What happens if one disk fails?

The system continues operating using the remaining disk.

Q3. Can RAID 1 be used on Ubuntu Desktop?

Yes, but setup must be done manually.

Q4. How do I check RAID status?

cat /proc/mdstat
sudo mdadm --detail /dev/md0

Q5. Do I need to reinstall GRUB after disk replacement?

Yes, GRUB should be installed on the replacement disk.

8. Conclusion

RAID 1 Is About Redundancy

RAID 1 provides real-time data duplication, allowing systems to continue running after disk failures.

RAID Options on Ubuntu

mdadm-based software RAID is the most practical choice for most Ubuntu users.

Maintenance Determines Reliability

Regular monitoring, correct GRUB setup, and proper backups are essential for long-term stability.

With Ubuntu and mdadm, RAID 1 can be built simply using command-line tools. Use this guide to create a robust and reliable Linux environment.