Tạo raid trên linux
Bài viết này giới thiệu các bạn về Software RAID toàn tập trên hệ điều hành Linux. Cùng với cách tạo các RAID phổ biến như (RAID0, RAID1, RAID5, RAID6, RAID10) trên Linux và một số phương pháp thường được sử dụng trên RAID để từ đây có thể giúp cho các bạn tự học Linux một cách dễ dàng. RAID là từ viết tắt của cụm từ "Redundant Array of Inexpensive Disks" hoặc "Redundant Arrays of Independent Disks", là hình thức ghép nhiều ổ đĩa vật lý lại với nhau nhằm dung lỗi và tăng tốc. RAID là một tập hợp các đĩa trong một nhóm để trở thành một logical volume. RAID chứa các nhóm hoặc bộ (set) hoặc mảng (array). Số đĩa tối thiểu 2 được kết nối với một bộ điều khiển (controller) RAID và tạo ra một logical volume hoặc nhiều ổ đĩa hơn có thể nằm trong một nhóm. Chỉ có một cấp độ RAID có thể được áp dụng trong một nhóm các đĩa. RAID được sử dụng khi chúng ta cần hiệu suất tuyệt vời. Theo cấp độ RAID đã chọn của chúng ta, hiệu suất sẽ khác nhau. Lưu dữ liệu của chúng ta bằng khả năng chịu lỗi và tính sẵn sàng cao. Lợi thế của việc sử dụng RAID:
2. Software RAID và Hardware RAIDSoftware RAID có hiệu suất thấp do sử dụng nguồn tài nguyên từ máy chủ, nó cần tải để đọc dữ liệu từ software RAID volumes. Không cần phần cứng vật lý trong các software RAID không tốn chi phí. Hardware RAID có hiệu năng cao, không sử dụng tài nguyên từ máy chủ. Nó là một bộ điều khiển (controller) RAID chuyên dụng được xây dựng về mặt vật lý bằng cách sử dụng thẻ PCI express, có NVRAM cho bộ nhớ cache để đọc và viết. Lưu trữ bộ đệm để xây dựng lại ngay cả khi mất điện, nó sẽ lưu trữ bộ đệm bằng các bản sao lưu sử dụng năng lượng pin. Chi phí rất tốn kém cho một quy mô lớn. Hardware RAID Card có hình dạng như sau: 3. Các khái niệm về RAIDParity là một phương pháp tạo lại nội dung bị mất từ thông tin parity. Chúng được ứng dụng trong RAID5 và RAID6 dựa trên parity. Stripe chia sẻ dữ liệu ngẫu nhiên vào nhiều đĩa. Việc chia sẻ dữ liệu này thì sẽ không có dữ liệu đầy đủ trong một đĩa. Mirroring được sử dụng trong RAID1 và RAID10. Mirroring tạo một bản sao của cùng một dữ liệu. Trong RAID 1, nó sẽ lưu cùng một nội dung vào đĩa khác. Hot spare là một ổ đĩa dự phòng trong máy chủ nó có thể tự động thay thế các ổ đĩa bị lỗi. Nếu bất kỳ một trong các ổ đĩa bị lỗi, ổ đĩa dự phòng này sẽ được sử dụng và xây dựng lại tự động. Chunks là một kích thước của dữ liệu có thể tối thiểu từ 4KB trở lên. Bằng cách xác định kích thước chunks, chúng ta có thể tăng hiệu suất I/O. Các cấp độ RAID thường được sử dụng:
4. Cấp độ của RAID4.1. RAID0RAID0 (Striping) dữ liệu sẽ được ghi vào đĩa bằng phương pháp chia sẻ, một nửa nội dung sẽ nằm trong một đĩa và một nửa khác sẽ được ghi vào đĩa khác. RAID0 cho phép ghi và đọc được hoàn thành nhanh hơn. Tuy nhiên, không giống như các cấp RAID khác, RAID0 không có tính Parity. Khi phân chia đĩa mà không có dữ liệu parity không có dự phòng hoặc khả năng chịu lỗi. Nếu một ổ đĩa bị lỗi, tất cả dữ liệu trên ổ đĩa đó sẽ bị mất. RAID0 được sử dụng tốt nhất để lưu trữ văn bản có yêu cầu đọc và ghi tốc độ cao. Bộ nhớ đệm phát trực tiếp video và chỉnh sửa video là những cách sử dụng phổ biến cho RAID 0 do tốc độ và hiệu suất. Ưu điểm của RAID0 là cải thiện hiệu năng. RAID0 tránh tình trạng nghe lỏm bằng cách không sử dụng dữ liệu parity và bằng cách sử dụng tất cả dung lượng lưu trữ dữ liệu có sẵn. RAID0 có chi phí thấp nhất trong tất cả các cấp RAID và được hỗ trợ bởi tất cả các bộ điều khiển phần cứng. Nhược điểm của RAID0 là khả năng phục hồi thấp. Nó không nên được sử dụng để lưu trữ quan trọng. 4.2. RAID1RAID1 (Mirroring) là sự sao chép dữ liệu vào hai hoặc nhiều đĩa. RAID1 là một lựa chọn tốt cho các ứng dụng đòi hỏi hiệu năng cao và tính sẵn sàng cao, như các ứng dụng giao dịch, email,... Cả hai đĩa đều hoạt động, dữ liệu có thể được đọc từ chúng đồng thời làm cho hoạt động đọc khá nhanh. Tuy nhiên, thao tác ghi chậm hơn vì thao tác ghi được thực hiện hai lần. RAID1 yêu cầu tối thiểu hai đĩa vật lý, vì dữ liệu được ghi đồng thời đến hai nơi. Nếu một đĩa bị lỗi, đĩa kia có thể truy xuất dữ liệu. 4.3. RAID5RAID5 (Distributed Parity) được sử dụng ở cấp doanh nghiệp. RAID5 hoạt động theo phương pháp parity. Thông tin chẵn lẻ sẽ được sử dụng để xây dựng lại dữ liệu. Nó xây dựng lại từ thông tin còn lại trên các ổ đĩa tốt còn lại. Điều này sẽ bảo vệ dữ liệu của chúng ta khi ổ đĩa bị lỗi. Dử liệu trên RAID5 có thể tồn tại sau một lỗi ổ đĩa duy nhất, nếu các ổ đĩa bị lỗi nhiều hơn 1 sẽ gây mất dữ liệu. Một số ưu điểm của RAID5:
RAID5 Có thể được sử dụng trong các máy chủ tập tin, máy chủ web, sao lưu rất quan trọng. 4.4. RAID6RAID6 (Two Parity Distributed Disk) giống như RAID5 hoạt động theo phương pháp parity. Chủ yếu được sử dụng trong một số lượng lớn các mảng. Chúng ta cần tối thiểu 4 ổ đĩa, khi có 2 ổ đĩa bị lỗi, chúng ta có thể xây dựng lại dữ liệu trong khi thay thế các ổ đĩa mới. Rất chậm so với RAID5, vì nó ghi dữ liệu cho cả 4 trình điều khiển cùng một lúc. Sẽ có tốc độ trung bình trong khi chúng ta sử dụng card điều khiển RAID. Nếu chúng ta có 6 số ổ cứng 1TB thì 4 ổ đĩa sẽ được sử dụng cho dữ liệu và 2 ổ đĩa sẽ được sử dụng cho parity. Ưu và nhược điểm của RAID:
4.5. RAID10RAID10 có thể được gọi là RAID1 + RAID0 hoặc RAID0 + RAID1. RAID10 sẽ làm cả hai công việc của Mirror và Striping. Mirror sẽ là đầu tiên và Stripe sẽ là thứ hai trong RAID10. Stripe sẽ là đầu tiên và mirror sẽ là thứ hai trong RAID01. RAID10 tốt hơn so với RAID01. Ưu và nhược điểm của RAID10:
5. Cài đặt mdadmRAID được quản lý bằng gói
Nếu gói
6. Hướng dẫn tạo RAID
6.1. Hướng dẫn tạo RAID0Khi sử dụng RAID0 nếu chúng ta có hai đĩa và lưu nội dung vào logical volume thì nó sẽ được lưu vào cả hai đĩa vật lý bằng cách chia nội dung. RAID0 sẽ không thể lấy dữ liệu nếu một trong các ổ đĩa bị lỗi. Ưu điểm của RAID0:
Chú ý: RAID0 có thể mất dữ liệu nếu ổ cứng hỏng Trong ví dụ dưới đây yêu cầu: Số lượng đĩa ít nhất để tạo RAID0 là 2 bạn có thể thêm nhiều đĩa hơn nhưng thứ tự sẽ gấp đôi 2, 4, 6, 8. Nếu bạn có thẻ RAID vật lý có đủ cổng, bạn có thể thêm nhiều đĩa hơn. Ví dụ bên dưới chúng ta không sử dụng Hardware RAID các thiết lập này phụ thuộc vào Software RAID. 6.1.1. Tạo RAID0👉 Bước 1: Cập
nhật hệ thống và cài đặt Để thiết lập RAID0 trên hệ điều hành Linux chúng ta cần thực hiện cập nhật (update) hệ thống và cài đặt gói mdadm. 👉 Bước 2: Kiểm tra thông tin ổ đĩa trên máy: Trước khi tạo RAID0, cần đảm bảo có ít nhất hai ổ đĩa cứng chạy lệnh sau để kiểm tra:
Qua lệnh kiểm tra trên chúng ta thấy có 2 đĩa cứng mới được phát
hiện, bây giờ chúng ta thực hiện kiểm tra xem các ổ cứng có sử dụng RAID nào chưa bằng lệnh
Kết trên trả về cho chúng ta biết rằng không có RAID nào được áp dụng cho hai ổ 👉 Bước 3: Tạo phân vùng đĩa cứng Thực hiện tạo phân vùng trên đĩa có tên là Tạo phân vùng trên ổ đĩa sdb. Chạy lệnh
Thực hiện các bước sau đây để tạo Linux RAID tự động trên các phân vùng:
Các thao tác trên được thực hiện như sau:
Tương tự như vậy chúng ta tạo phân vùng cho Sau khi tạo xong chúng ta chạy lệnh bên dưới kiểm tra xem phân vùng được tạo hay chưa.
Tiếp theo chúng ta chạy lệnh bên dưới để kiểm tra xem các đĩa hiện có tham gia RAID nào không:
👉 Bước 4: Tạo RAID0 Chúng ta chạy lệnh sau để tạo RAID0:
Trong đó:
Ngoài ra lệnh tạo RAID0 sau đây cũng có ý nghĩa như lệnh chúng ta vừa chạy:
Kiểm tra lại RAID vừa tạo bằng các cách sau:
Qua kết quả trên cho chúng ta thấy RAID0 đã được tạo với hai phân vùng
Hoặc có thể chạy lệnh sau để kiểm tra:
👉 Bước 5: Tạo file system (ext4) cho thiết bị RAID
Tiếp theo tạo thư mục gắn kết
Tiếp theo, chạy lệnh
Tạo một tệp
Thiết bị
Thực hiện như sau:
Lưu lại file
Nếu có lỗi, không reboot server để tránh tình trạng server không thể khởi động. Kiểm tra cấu hình trong file 👉 Bước 6: Lưu cấu hình RAID Lưu cấu hình RAID vào một tệp để giữ cấu hình để sử dụng trong tương lai. Chúng ta sử dụng lệnh
Qua các bước trên chúng ta đã tạo thành công RAID0 trên Centos7. 6.2. Hướng dẫn tạo RAID1RAID1 tạo ra để bảo vệ chống mất dữ liệu do lỗi đĩa. Mỗi đĩa trong RAID1 liên quan đến một bản sao của dữ liệu. Khi một đĩa bị lỗi, dữ liệu tương tự có thể được lấy từ đĩa khác. Yêu cầu: Ít nhất hai đĩa để tạo RAID1, nhưng bạn có thể thêm nhiều đĩa hơn bằng cách sử dụng hai lần là 2, 4, 6, 8. Để thêm nhiều đĩa, hệ thống của bạn phải có bộ điều khiển vật lý RAID(thẻ phần cứng). Ví dụ bên dưới chúng ta sử dụng software RAID, nếu hệ thống của bạn có thẻ RAID bạn có thể truy cập nó với giao diện người dùng tiện ích của nó hoặc sử dụng tổ hợp phím Ctrl + I. 6.2.1 Tạo RAID1👉 Bước 1: Cập nhật hệ thống và cài đặt Để thiết lập RAID1 trên hệ điều hành Linux chúng ta cần thực hiện cập nhật (update) hệ thống và cài đặt gói mdadm. 👉 Bước 2: Kiểm tra thông tin ổ đĩa trên máy: Trước khi tạo RAID1, chúng ta cần có ít nhất hai ổ đĩa cứng chạy lệnh sau để kiểm tra:
Qua lệnh kiểm
tra trên chúng ta thấy có 2 đĩa cứng mới được phát hiện. Khi gói
Như kết quả trên, chưa có bất kỳ super-block nào được phát hiện, có nghĩa là không có RAID nào được xác định. 👉 Bước 3: Tạo phân vùng đĩa cứng Tạo phân vùng đĩa Tạo phân vùng trên ổ đĩa sdb. Chạy lệnh
Thực hiện các bước sau đây để tạo Linux RAID tự động trên các phân vùng:
Các thao tác trên được thực hiện như sau:
Tương tự cách tạo trên chúng ta thực hiện tạo phân vùng trên Tiếp theo chúng ta chạy lệnh bên dưới để kiểm tra xem các đĩa hiện có tham gia RAID nào không:
Kết quả trên cho thấy không có bất kỳ RAID nào được xác định trên các phân vùng 👉 Bước 4: Tạo RAID1 Tiếp theo chúng ta sẽ tạo thiết bị RAID1 có tên
Trong quá trình tạo hệ thống yêu cầu chúng ta xác nhận tạo RADI thì bấm phím y để xác nhận. Qua kết quả trên cho chúng ta thấy RAID1 đã được tạo với hai phân vùng
Hoặc có thể chạy lệnh sau để kiểm tra:
Từ 2 kết quả trên chúng ta có thể thấy RAID1 đã được tạo và sử dụng phân vùng 👉 Bước
5: Tạo file system (ext4) cho thiết bị RAID
Tiếp theo tạo thư mục gắn kết
Tiếp theo, chạy lệnh
Tạo một tệp
Để tự động gắn kết
Thực hiện như sau:
Lưu lại và chạy lệnh sau để kiểm tra xem có bất kỳ lỗi nào trong mục
Nếu có lỗi, không reboot server để tránh tình trạng server không thể khởi động. Kiểm tra cấu hình trong file 👉 Bước 6: Lưu cấu hình
RAID1 theo cách thủ công vào tệp
👉 Bước 7: Kiểm tra dữ liệu sau khi hỏng đĩa Mục đích chính của chúng ta là sau khi bất kỳ ổ cứng nào bị hỏng hoặc sập dữ liệu chúng ta có khôi phục dữ liệu từ đĩa khác. Đầu tiên chúng ta chạy lệnh sau kiểm tra RAID1 đã được tạo và sử dụng phân vùng
Chúng ta có thể thấy có 2 thiết bị có sẵn trong RAID và chúng đang hoạt động. Bây giờ chúng ta hãy xem điều gì sẽ xảy ra khi một đĩa bị lỗi.
Như chúng ta thấy thì đĩa sdc đã mất chỉ còn lại đĩa sdb. Chạy lệnh bên dưới kiểm tra RAID1:
Kết quả trả về cho chúng ta một ổ đĩa của chúng tôi bị mất. Bây giờ thực hiện kiểm tra dữ liệu của chúng ta.
Dữ liệu của chúng ta vẫn còn không bị mất mát. Qua đây cho chúng ta biết được lợi ích của 6.3 Hướng dẫn tạo RAID5Trong RAID5 dải dữ liệu chứa trên nhiều ổ đĩa có parity. Đối với cấp RAID5, nó phải có ít nhất ba ổ cứng trở lên. RAID5 đang được sử dụng trong môi trường sản xuất quy mô lớn, nơi có chi phí và cung cấp hiệu năng cũng như dự phòng. Parity là một phương pháp phổ biến đơn giản nhất để phát hiện lỗi trong lưu trữ dữ liệu. Nếu bất kỳ một trong các đĩa bị lỗi, chúng tôi vẫn có thể lấy dữ liệu bằng cách xây dựng lại từ thông tin Parity sau khi thay thế đĩa bị lỗi. Ví dụ bên dưới yêu cầu chúng ta phải có ít nhất 3 ổ cứng để tạo Raid5, bạn có thể thêm nhiều đĩa hơn, khi bạn có bộ điều khiển RAID cứng chuyên dụng với nhiều cổng. Ở ví dụ dưới đây, chúng ta sử dụng software RAID và gói 6.3.1. Tạo RAID5👉 Bước 1: Cập nhật hệ thống và cài đặt Để thiết lập RAID5 trên hệ điều hành Linux chúng ta cần thực hiện cập nhật (update) hệ thống và cài đặt gói mdadm. 👉 Bước 2: Kiểm tra thông tin ổ đĩa trên máy: Trước khi tạo RAID5, cần đảm bảo có ít nhất ba ổ đĩa cứng chạy lệnh sau để kiểm tra:
Qua lệnh kiểm tra trên chúng ta thấy có 3 đĩa cứng mới được phát hiện. Khi gói
Như kết quả trên, chưa có bất kỳ super-block nào được phát hiện, có nghĩa là không có RAID nào được xác định. 👉 Bước 3: Tạo phân vùng đĩa cứng Chúng ta cần phải tạo phân vùng đĩa cứng cho Tạo phân vùng trên ổ đĩa sdb. Chạy lệnh
Thực hiện các bước sau đây để tạo Linux RAID tự động trên các phân vùng:
Các thao tác trên được thực hiện như sau:
Tương tự cách tạo phân vùng trên chúng ta thực hiện tạo phân dùng cho
Sau khi chúng ta đã tạo xong phân vùng chúng ta cần chạy lệnh sau để kiểm tra xem các phân vùng đã được tạo chưa:
Tiếp theo chúng ta chạy lệnh bên dưới để kiểm tra xem các đĩa hiện có tham gia RAID nào không:
Kết quả trên cho thấy không có bất kỳ RAID nào được xác định trên các phân vùng 👉 Bước 4: Tạo RAID5 Tiếp theo chúng ta sẽ tạo thiết bị RAID5 có tên
Qua kết quả trên cho chúng ta thấy RAID5 đã được tạo với ba phân vùng
Hoặc có thể chạy lệnh sau để kiểm tra:
Từ 2 kết quả trên chúng ta có thể thấy RAID5 đã được tạo và sử dụng phân vùng 👉 Bước 5: Tạo file system (ext4) cho thiết bị RAID5
Tiếp theo tạo
thư mục gắn kết
Tiếp theo, chạy lệnh
Tạo một tệp
Để tự động gắn kết
Thực hiện như sau:
Lưu lại và chạy lệnh sau để kiểm tra xem có bất kỳ lỗi nào trong mục
Nếu có lỗi, không reboot server để tránh tình trạng server không thể khởi động. Kiểm tra cấu hình trong file 👉 Bước 6: Lưu cấu hình
RAID1 theo cách thủ công vào tệp
Trong phần này chúng ta đã thiết lập RAID5 bằng ba đĩa. Qua đây giúp các bạn có thể hiểu hơn về RAID5. 6.4. Hướng dẫn tạo RAID6RAID6 là phiên bản nâng cấp của RAID5 nó có hai parity, cung cấp khả năng phục hồi dữ liệu khi hai ổ đĩa bị lỗi. Ưu và nhược điểm của RAID6:
Để có thể thiết lập RAID6 chúng ta cần ít nhất 4 đĩa. Nếu bạn muốn thêm nhiều đĩa hơn, bạn phải có bộ điều khiển RAID. Trong software RAID, chúng ta sẽ không có hiệu năng tốt hơn trong RAID6. Vì vậy, chúng ta cần một bộ điều khiển RAID vật lý. 6.4.1. Tạo RAID6👉 Bước 1: Cập nhật hệ thống và cài đặt Để thiết lập RAID6 trên hệ điều hành Linux chúng ta cần thực hiện cập nhật (update) hệ thống và cài đặt gói mdadm. 👉 Bước 2: Kiểm tra thông tin ổ đĩa trên máy: Trước khi tạo RAID6, cần đảm bảo có ít nhất 4 ổ đĩa cứng chạy lệnh sau để kiểm tra:
Qua lệnh kiểm tra trên chúng ta thấy có 4 đĩa cứng mới được phát hiện. Khi gói
Như kết quả trên, chưa có bất kỳ super-block nào được phát hiện, có nghĩa là không có RAID nào được xác định. 👉 Bước 3: Tạo phân vùng đĩa cứng Trước khi tạo RAID chúng ta cần tạo phân vùng đĩa cho 4 đĩa Tạo phân vùng trên ổ đĩa sdb. Chạy lệnh
Thực hiện các bước sau đây để tạo Linux RAID tự động trên các phân vùng:
Các thao tác trên được thực hiện như sau:
Thực hiện tương tự cho việc tạo phân vùng trên đĩa Sau khi chúng ta đã tạo xong phân vùng chúng ta cần chạy lệnh sau để kiểm tra xem các phân vùng đã được tạo chưa:
Tiếp theo chúng ta chạy lệnh bên dưới để kiểm tra xem các đĩa hiện có tham gia RAID nào không:
Kết quả trên cho thấy không có bất kỳ RAID nào được xác định trên các phân vùng 👉 Bước 4: Tạo RAID6 Tiếp theo chúng ta sẽ tạo thiết bị RAID6 có tên
Qua kết quả trên cho chúng ta thấy RAID6 đã được tạo với bốn phân vùng
Hoặc có thể chạy lệnh sau để kiểm tra:
Từ 2 kết quả trên chúng ta có thể thấy RAID6 đã được tạo và sử dụng phân vùng 👉 Bước 5: Tạo file system (ext4) cho thiết bị RAID6
Thực hiện tạo thư mục gắn kết
Tạo một tệp
Để tự động gắn kết
Thực hiện như sau:
Lưu lại và chạy lệnh sau để kiểm tra xem có bất kỳ lỗi nào trong mục
Nếu có lỗi chúng ta không được reboot server mà chúng ta cần tìm sữa lỗi đến khi chạy lệnh trên không còn lỗi. 👉 Bước 6: Lưu cấu hình RAID 6 RAID mặc định không có tệp cấu hình. Chúng ta phải lưu nó bằng cách sử dụng lệnh bên dưới và sau đó xác minh trạng thái của thiết bị /dev/md0.
👉 Bước 7: Thêm một ổ đĩa dự phòng Chúng ta đã có 4 đĩa và có sẵn hai thông tin parity. Nếu bất kỳ một trong các đĩa bị lỗi, chúng tôi có thể lấy dữ liệu, bởi vì có 2 parity trong RAID6. Các bước sau đây sẽ giúp chúng ta có thể thêm một ổ đĩa dự phòng sau khi bất kỳ đĩa nào bị lỗi. Đầu tiên chúng ta gắn thêm 1 đĩa mới vào hệ thống của chúng ta chạy lệnh bên dưới để kiểm tra:
Kết quả trên cho thấy đĩa Tiếp theo hãy xác nhận đĩa mới chưa tham gia RAID đã được cấu hình hoặc không sử dụng, Bằng việc chạy lệnh
Giống như chúng ta đã tạo phân vùng cho bốn đĩa trước đó, tương tự như chúng ta
đã tạo phân vùng mới trên đĩa
Sau khi tạo phân vùng mới trên
Tiếp theo chúng ta thực hiện thêm phân vùng mới tạo vào
Sau khi thực hiện các thao tác trên thì chúng ta sẽ kiểm tra xem ổ đĩa dự phòng có hoạt động tự động hay không, nếu bất kỳ một đĩa nào bị lỗi. Để kiểm tra vấn đề trên bạn hãy đánh dấu một ổ đĩa bị lỗi. Trong ví dụ bên dưới thì chúng ta thực hiện đánh dấu
Để kiểm tra thông tin chi tiết về bộ RAID và kiểm tra xem đĩa dự phòng của chúng ta có tự động đồng bộ hóa không.
Qua ví dụ trên chúng ta thấy đĩa dự phòng đã tự động xây dựng lại dữ liệu và đĩa Chúng ta có thể theo dõi quá trình xây dựng bằng cách sử dụng lệnh sau:
Qua các bước trên giúp cho chúng ta có thể thiết lập RAID6, cách thêm đĩa mới vào RAID6. 6.5. Hướng dẫn tạo RAID10 trên CentOS 7RAID10 là sự kết hợp của RAID0 và RAID1 để tạo thành RAID10. Ưu và nhược điểm của RAID10:
Yêu cầu: Trong RAID10, chúng tôi cần ít nhất 4 đĩa, 2 đĩa đầu cho RAID0 và 2 đĩa khác cho RAID1. Nếu chúng tôi cần mở rộng nhóm RAID, chúng ta phải tăng đĩa tối thiểu 4 đĩa. 6.5.1. Tạo RAID10 với level=10👉 Bước 1: Cập nhật hệ thống và cài đặt Để thiết lập RAID10 trên hệ điều hành Linux chúng ta cần thực hiện cập nhật (update) hệ thống và cài đặt gói mdadm. 👉 Bước 2: Kiểm tra thông tin ổ đĩa trên máy: Trước khi tạo RAID10, cần đảm bảo có ít nhất 4 ổ đĩa cứng chạy lệnh sau để kiểm tra:
Qua lệnh kiểm tra trên chúng ta thấy có 4 đĩa cứng mới được phát hiện. Khi gói
Như kết quả trên, cho chúng ta thấy chưa có bất kỳ super-block nào được phát hiện, có nghĩa là không có RAID nào được xác định. 👉 Bước 3: Tạo phân vùng đĩa cứng Chúng ta cần thực hiện
tạo phân vùng đĩa cứng cho Tạo phân vùng trên ổ đĩa sdb. Chạy lệnh
Thực hiện các bước sau đây để tạo Linux RAID tự động trên các phân vùng:
Các thao tác trên được thực hiện như sau:
Chúng ta sẽ tạo các phân vùng mới cho các đĩa Tiếp theo chúng ta chạy lệnh bên dưới để kiểm tra xem các đĩa hiện có tham gia RAID nào không:
Kết quả trên cho thấy không có bất kỳ RAID nào được xác định trên các phân vùng 👉 Bước 4: Tạo RAID10 Tiếp theo chúng ta sẽ tạo thiết bị RAID10 có tên
Qua kết quả trên cho chúng ta thấy RAID10 đã được tạo với bốn phân vùng
Hoặc có thể chạy lệnh sau để kiểm tra:
Từ 2 kết quả trên chúng ta có thể thấy RAID10 đã được tạo và sử dụng phân vùng 👉 Bước 5: Tạo file system (ext4) cho thiết bị RAID10
Sau khi tạo file system (ext4), gắn kết hệ thống tệp đã tạo trong
Tiếp theo thêm một tệp dưới điểm gắn kết, tiến hành thêm nội dung vào tệp và xem nội dung:
Thiết bị
Thực hiện như bên dưới:
Lưu lại file
Nếu có lỗi, không reboot server để tránh tình trạng server không thể khởi động. Kiểm tra cấu hình
trong file 👉 Bước 6: Lưu cấu hình RAID Theo mặc định, RAID không có tệp cấu hình, vì vậy chúng ta cần lưu tệp thủ công sau khi thực hiện tất cả các bước trên, để duy trì các cài đặt này trong khi khởi động hệ thống.
6.5.2. Tạo RAID10 bằng RAID1 + RAID0Đối với cách này chúng ta phải xác định 2 bộ RAID1 và sau đó chúng ta cần xác định RAID0 bằng cách sử dụng hai bộ RAID1 đã tạo. 👉 Bước 1: Cập nhật hệ thống và cài đặt Để thiết lập RAID10 trên hệ điều hành Linux chúng ta cần thực hiện cập nhật (update) hệ thống và cài đặt gói mdadm. 👉 Bước 2: Kiểm tra thông tin ổ đĩa trên máy: Đầu tiên, liệt kê các đĩa có sẵn để tạo RAID10.
Qua lệnh kiểm tra trên chúng
ta thấy có 4 đĩa cứng mới được phát hiện. Khi gói
Như kết quả trên, chưa có bất kỳ đĩa nào được phát hiện, có nghĩa là không có RAID nào được xác định. 👉 Bước 3: [Tạo phân vùng đĩa cứng Để có thể tạo RAID chúng ta cần tạo phân vùng đĩa cứng
cho các đĩa Tạo phân vùng trên ổ đĩa sdb. Chạy lệnh
Thực hiện các bước sau đây để tạo Linux RAID tự động trên các phân vùng:
Các thao tác trên được thực hiện như sau:
Tương tự như việc tạo phân vùng của đĩa Tiếp theo chúng ta chạy lệnh bên dưới để kiểm tra xem các đĩa hiện có tham gia RAID nào không:
Kết quả trên cho thấy không có bất kỳ RAID nào được xác định trên các phân vùng 👉 Bước 4: Tạo RAID1 Tạo 2 bộ RAID1 có
tên lần lượt là
Chạy lệnh bên dưới để kiểm tra các RAID được tạo:
👉 Bước 5: Tạo RAID0 Chúng ta thực hiện tạo RAID0 bằng thiết bị
Thực hiện lệnh bên dưới để kỉim tra xem các RAID đã được tạo chưa:
👉 Bước 6: Tạo file system (ext4) cho thiết bị RAID10
Sau khi tạo file system (ext4), gắn kết hệ thống tệp đã tạo trong
Tiếp theo thêm một tệp dưới điểm gắn kết, tiến hành thêm nội dung vào tệp và xem nội dung:
Thiết bị
Thực hiện như bên dưới:
Lưu lại file
Nếu có lỗi, không reboot server để tránh tình trạng server không thể khởi động. Kiểm tra cấu hình trong file 👉 Bước 7: Lưu cấu hình RAID Chúng ta cần lưu cấu hình trong tệp
7. Phát triển một mảng RAID và loại bỏ các đĩa lỗi trong RAIDMảng chỉ là một bộ sưu tập các đĩa hay mảng là một tập hợp hoặc nhóm. Mảng (array) RAID chứa số lượng đĩa, nó có thể là 2, 4, 6, 8, 12, 16,... Trong ví dụ bên dưới chúng ta đang sử dụng 2 đĩa trong một mảng để tạo thành một
RAID và trong một số trường hợp nếu chúng ta cần thêm không gian trong nhóm đó, chúng ta có thể mở rộng kích thước của một mảng bằng lệnh Các tính năng của tăng trưởng RAID:
Yêu cầu:
7.1.Phát triển một mảng RAID hiện cóBước 1: Trước khi phát triển một mảng, trước tiên hãy liệt kê mảng RAID hiện có bằng lệnh sau.
Kết quả trên cho chúng ta thấy có hai đĩa trong mảng RAID với cấp RAID1. Sau đây chúng ta sẽ thêm một đĩa vào một mảng RAID hiện có. Bước
2: Thêm đĩa mới Tạo phân vùng trên ổ đĩa sdb. Chạy lệnh
Thực hiện các bước sau đây để tạo Linux RAID tự động trên các phân vùng:
Các thao tác trên được thực hiện như sau:
Chạy lệnh sau để kiểm tra phân vùng đã được tạo chưa:
Qua đây chúng ta thấy phân vùng Tiếp theo chúng ta chạy lệnh bên dưới để kiểm tra xem các đĩa hiện có tham gia RAID nào không:
Kết quả trên cho thấy không có bất kỳ RAID nào được xác định trên các phân vùng Bước 3: Thêm phân vùng mới
Đĩa mới đã được thêm, kiểm tra đĩa đã thêm trong mảng của chúng ta chưa chạy lệnh bên dưới:
Bạn có thể thấy ổ đĩa đã được thêm vào như một ổ đĩa phụ. Bước 4: Để phát triển mảng sử dụng đĩa mới thêm vào thì chúng ta phải sử dụng lệnh dưới đây:
Chúng ta có thể thấy đĩa thứ ba (sdd1) đã được thêm vào mảng, sau khi thêm đĩa thứ ba, nó sẽ đồng bộ dữ liệu từ hai đĩa khác.
Như vậy chúng ta đã phát triển mảng RAID thành công. 7.2. Loại bỏ đĩa khỏi mảngSau khi dữ liệu được đồng bộ hóa với đĩa mới Giả sử rằng đĩa Bước 1: Trước khi loại bỏ một đĩa chúng ta phải đánh dấu đĩa đó là
Từ kết quả trên,
chúng ta thấy rằng đĩa Bây giờ chúng ta loại bỏ ổ đĩa bị lỗi khỏi mảng RAID và phát triển mảng RAID với 2 thiết bị.
Khi ổ đĩa bị lỗi được gỡ bỏ, chúng ta sẽ phát triển mảng RAID bằng 2 đĩa.
Kết quả trên cho chúng ta rằng mảng RAID chỉ có 2 thiết bị. Qua đây gíúp cho chúng ta biết cách phát triển một RAID hiện có và cách xóa đĩa bị lỗi khỏi một mảng sau khi đồng bộ hóa lại nội dung hiện có. Tất cả các bước này có thể được thực hiện mà không có bất kỳ thời gian chết. Trong quá trình đồng bộ hóa dữ liệu, người dùng hệ thống, tệp và ứng dụng sẽ không bị ảnh hưởng trong mọi trường hợp. 8. Cách khôi phục dữ liệu và xây dựng lại lỗi Software RAIDTrong hướng dẫn dưới đây, chúng ta sẽ thực hiện cách xây dựng lại một software RAID mà không mất dữ liệu khi xảy ra lỗi đĩa và được thực hiện trên RAID1. Nhưng các khái niệm và lệnh sau đây áp dụng được cho tất cả các RAID khác. 8.1. Thiết lập giám sát RAIDCó nhiều lý do khiến thiết bị lưu trữ có thể bị hỏng, vì thế chúng ta cần biết sự cố có thể xảy ra bất cứ lúc nào và cần chuẩn bị để thay thế và đảm bảo an toàn cho dữ liệu của bạn. Bạn có thể sử dụng phương pháp thủ công là xem Để sử dụng phương pháp này chúng ta phải thêm vào tệp
Bây giờ chúng ta thực hiện thêm như sau:
Để chạy
Theo mặc định thì 8.2. Mô phỏng và thay thế một đĩa lưu trữ RAID bị lỗiĐể mô phỏng cho việc hệ thống sẽ gửi mail thông báo sự cố của một trong các thiết bị lưu trữ trong mảng RAID, chúng ta sẽ sử dụng lệnh
Lệnh trên sẽ làm cho đĩa
Sau khi thực hiện lệnh trên chúng ta nhận được cảnh báo về sự cố của một đĩa bị lỗi trong RAID.
Tiếp theo chúng ta thực hiện lệnh sau để xóa đĩa bị lỗi trong RAID:
Sau chúng ta thực hiện xoá đĩa bị lỗi trong RAID chúng ta có thể gỡ bỏ nó khỏi máy và thay thế nó bằng một đĩa dự phòng Sau khi thêm đĩa dự phòng vào chúng ta thực hiện tạo phân vùng cho
Hệ thống sẽ tự động bắt đầu xây dựng lại phần dữ liệu của chúng ta vào đĩa mới thêm vào. Chúng ta có thể kiểm tra bằng cách đánh dấu Trước khi đĩa
Sau khi đĩa
Qua kết quả trên cho chúng ta thấy sau khi thêm 8.3. Phục hồi dữ liệu mất mátmdadm sẽ tự động xây dựng lại dữ liệu khi một đĩa bị lỗi. Nhưng nếu 2 đĩa Trước khi thực hiện khôi phục dữ liệu thì dữ liệu của chúng ta như sau:
Đầu tiên có thể minh hoạ khôi phục dữ liệu khi hai đĩa bị lỗi đồng thời chúng ta cần thực hiện các thao tác sau:
Để
khôi phục dữ liệu từ
Bây giờ xây dựng lại RAID bằng hai đĩa
Khi hoàn thành tạo RAID mới chúng ta thực hiện kiểm tra dử liệu của chúng ta xem có mất mát gì không:
Qua đây chúng ta thấy dữ liệu của chúng ta được thực hiện đầy đũ không bị mất mát dữ liệu. 9. Cách quản lý software RAID bằng công cụ mdadmTrước đây cho dù bạn có tuân theo tất cả các hướng dẫn trong loạt RAID này, thì quản lý (manage)software RAID trong Linux là công cụ có thể hổ trợ bạn đắt lực. Trong hướng dẫn này, chúng ta sẽ liệt kê chức năng được cung cấp bởi 9.1. Hiểu các tùy chọn và cách sử dụng mdadmmdadm cung cấp một tuỳ chọn
Để xem các nhiệm vụ
Một số thao tác thường xuyên sử dụng trong quản lý một RAID bao gồm:
9.2 Quản lý thiết bị RAIDCú pháp cơ bản để quản lý RAID:
Một vài ví dụ về quản lí RAID: Ví dụ 1: Thêm một thiết bị vào mảng RAID Chúng ta thực hiện thêm đĩa
Đĩa Ví dụ 2: Đánh dấu một thiết bị RAID bị lỗi và xóa nó khỏi RAID Đây là bước bắt buộc trước khi gỡ bỏ thiết bị khỏi mảng một cách hợp lý và sau đó rút thiết bị vật lý ra khỏi máy - theo thứ tự đó (nếu bạn bỏ lỡ một trong những bước này, bạn có thể sẽ gây ra ảnh hưởng cho thiết bị): Để đánh dấu một thiết bị RAID bị lỗi chúng ta thực hiện như sau:
Khi một đĩa được chỉ định là một đĩa lỗi chúng ta chạy lệnh sau để xoá thiit bị khỏi RAID:
Ví dụ 3: Đánh dấu một RAID là Sau khi tạo RAID, bạn phải tạo một hệ thống tập tin trên nó và gắn nó vào một thư mục để sử dụng nó. Bạn có thể đánh dấu RAID là Để đánh dấu thiết bị là
10. Lời kếtQua bài trên, giúp cho chúng ta biết cách sử dụng tiện ích mdadm trên hệ điều hành Linux để quản lý RAID. Ngoài ra còn giúp chúng ta biết cách sử dụng các tính năng của mdadm như: cấu hình các RAID, rebuild RAID trên Linux, thay ổ đĩa RAID bị hỏng,... giúp chúng ta đảm bảo dữ liệu của chúng ta một cách an toàn. |