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
Vì 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 và /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
- Chọn hai đĩa trống
- Tạo phân vùng (ví dụ: /boot, swap, /)
- Chọn “Tạo RAID Phần mềm”
- Chọn RAID 1 và gán thiết bị
- 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
- Khởi động từ USB Live
- Xây dựng RAID 1 sử dụng
mdadm - Cài đặt Ubuntu Desktop trên thiết bị RAID (ví dụ: /dev/md0)
- Điều chỉnh cài đặt
grubvàfstab
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
| Criteria | Server | Desktop |
|---|---|---|
| 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.


