Công nghệ thông tin đang phát triển mạnh mẽ và được ứng dụng ngày càng nhiều vào trong đời sống của con người và đem lại nhiều lợi ích, hiệu quả kinh tế rất cao. Sự phát triển nhanh chóng của công nghệ thông tin đồng nghĩa với việc đối mặt với việc tăng nhanh một khối lượng khổng lồ các dữ liệu cần được lưu trữ. Trong công việc hằng ngày, việc lưu trữ thông tin rất quan trọng và cần thiết. Việc lưu trữ như thế nào cho khỏi mất mát mà vẫn bảo mật được dữ liệu và đem lại hiệu quả tốt nhất đi đôi với giá thành lắp đặt. Các công nghệ lưu trữ đang trở nên rất đắt để đặt một số lượng lớn ổ cứng có khả năng cao trên các máy chủ. RAID ra đời đã giải quyết vấn đề trên. Bài viết này được thu thập tài liệu từ nhiều nguồn và trình bày một cách khái quát nhất về RAID (Redundant Array of Independent Disks) – Mảng dự phòng tạo nên từ các đĩa độc lập. Bài viết còn trình bày một số cách triển khai RAID trên hệ điều hành Linux giúp mọi người có thể hiểu hơn và ứng dụng hiệu quả công nghệ này. Tuy nhiên, trong bài viết này không tránh khỏi những thiếu sót, kính mong quý thầy cô cùng các bạn đóng góp ý kiến để cho bài viết được hoàn chỉnh hơn.
Trang 1HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN Môn: AN TOÀN HỆ ĐIỀU HÀNH
TÌM HIỂU VÀ CẤU HÌNH RAID TRÊN
HỆ ĐIỀU HÀNH LINUX
Giảng viên hướng dẫn:
Sinh viên thực hiện:
- Phạm Quốc Đạt
- Nguyễn Việt Tiến
- Hoàng Quang Thụy Lớp: AT9A
HÀ NỘI 01/2016
Trang 2HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA CÔNG NGHỆ THÔNG TIN
Bài tập lớn môn: An toàn hệ điều hành
TÌM HIỂU VÀ CẤU HÌNH RAID TRÊN HỆ ĐIỀU HÀNH LINUX
Nhận xét của giảng viên:
Điểm chuyên cần:
Trang 3Điểm báocáo: MỤC LỤC LỜI MỞ ĐẦU
CHƯƠNG I TÌM HIỂU CÔNG NGHỆ RAID
2.3 So sánh Software RAID và Hardware RAID
2.4 Fake RAID hay Host RAID
3. Các cấp độ của RAID (Cách sắp xếp các ổ đĩa)
CHƯƠNG II CÀI ĐẶT SOFTWARE RAID TRÊN UBUNTU DESKTOP
Bước 1: Cài đặt phần mềm cần thiết và kiểm tra ổ đĩa
Bước 2: Phân vùng ổ đĩa cho RAID
Bước 3: Tạo RAID Devices
Bước 4: Format RAID Devices
Bước 5: Xác nhận dữ liệu sau khi bị lỗi ổ đĩa
TỔNG KẾT VÀ TÀI LIỆU THAM KHẢO
Trang 4LỜI MỞ ĐẦU
Công nghệ thông tin đang phát triển mạnh mẽ và được ứng dụng ngày càng nhiều vào trong đời sống của con người và đem lại nhiều lợi ích, hiệu quả kinh tế rất cao.
Sự phát triển nhanh chóng của công nghệ thông tin đồng nghĩa với việc đối mặt với việc tăng nhanh một khối lượng khổng lồ các dữ liệu cần được lưu trữ Trong công việc hằng ngày, việc lưu trữ thông tin rất quan trọng và cần thiết Việc lưu trữ như thế nào cho khỏi mất mát mà vẫn bảo mật được
dữ liệu và đem lại hiệu quả tốt nhất đi đôi với giá thành lắp đặt Các công nghệ lưu trữ đang trở nên rất đắt để đặt một số lượng lớn ổ cứng có khả năng cao trên các máy chủ RAID ra đời đã giải quyết vấn đề trên.
Bài viết này được thu thập tài liệu từ nhiều nguồn và trình bày một cách khái quát nhất về RAID (Redundant Array of Independent Disks) – Mảng
dự phòng tạo nên từ các đĩa độc lập Bài viết còn trình bày một số cách triển khai RAID trên hệ điều hành Linux giúp mọi người có thể hiểu hơn và ứng dụng hiệu quả công nghệ này.
Tuy nhiên, trong bài viết này không tránh khỏi những thiếu sót, kính mong quý thầy cô cùng các bạn đóng góp ý kiến để cho bài viết được hoàn chỉnh hơn.
Xin chân thành cảm ơn!
Trang 5CHƯƠNG I TÌM HIỂU CÔNG NGHỆ RAID
Lần đầu tiên RAID được phát triển năm 1987 tại trường Đại học California ở Berkeley với những đặc điểm chỉ ghép các phần đĩa cứng nhỏ hơn thông qua phần mềm để tạo ra một hệ thống đĩa dung lượng lớn hơn thay thế cho các ổ cứng dung lượng lớn giá đắt thời bấy giờ.
1.1 RAID là gì?
RAID (Redundant Arrays of Inexpensive Disks) là hình thức ghép nhiều
ổ đĩa cứng vật lý thành một hệ thống ổ đĩa cứng có chức năng gia tăng tốc độ đọc/ghi dữ liệu hoặc nhằm tăng thêm sự an toàn của dữ liệu chứa trên hệ thống đĩa hoặc kết hợp cả hai yếu tố trên.
Ban đầu, RAID được sử dụng như một giải pháp phòng hộ vì nó cho phép ghi dữ liệu lên nhiều đĩa cứng sử dụng cùng lúc Về sau, RAID đã có nhiều biến thể cho phép không chỉ đảm bảo an toàn dữ liệu mà còn giúp gia tăng đáng kể tốc độ truy xuất dữ liệu từ đĩa cứng
RAID (Mảng Dự Phòng Tạo Nên Từ Các Đĩa Độc Lập) đề cập đến hệ thống nhiều đĩa độc lập kết hợp với nhau tạo nên một mảng logic lớn Dữ liệu được lưu trữ trong mảng các đĩa này cùng với dữ liệu dự phòng Dữ liệu dự phòng có thể là bản thân dữ liệu (nhân bản) hoặc dữ liệu chẵn lẻ tính được từ nhiều khối dữ liệu Có hệ thống RAID trong máy, hệ điều hành không còn làm việc với từng ổ đĩa nữa mà làm việc với toàn bộ mảng đĩa như một ổ đĩa logic.
Mục tiêu chính của RAID là nâng cao tính khả dụng và an toàn của dữ liệu RAID ngăn ngừa tình trạng không hoạt động xảy ra khi một ổ đĩa cứng hư hỏng, tuy nhiên nó không thể phục hồi được dữ liệu đã được người dùng xóa hoặc bị phá hủy khi gặp sự cố lớn như trộm cắp dữ liệu hay hỏa hoạn Vì vậy, thường xuyên sao lưu dự phòng cho dữ liệu là việc bắt buộc phải làm để giữ cho hệ thống được an toàn khỏi các vấn đề sự cố trên.
1.2 Lợi ích của RAID
Trang 6Khi áp dụng các phiên bản RAID mạnh bạn có thể thấy rõ hiệu quả tăng cao của nó Hiệu quả cũng tùy thuộc vào số lượng ổ cứng được liên kết với nhau và các mạch điều khiển.
Tất cả các nhà quản lý những tập đoàn CNTT đều muốn giảm giá thành Khi chuẩn RAID ra đời, giá thành là một vấn đề chủ chốt Mục tiêu của các dãy RAID là cung cấp bộ nhớ tốt hơn cho hệ thống so với việc sử dụng riêng biệt các ổ đĩa có dung lượng lớn.
Có 3 loại RAID: Software RAID, Fake RAID và Hardware RAID.
2.1 Software RAID
Đây là các phần mềm RAID được viết trên các mã nguồn mở và tích hợp trên hệ điều hành (Ví dụ: based RAID trên Windows, mdadm utility trên Linux)
Các software RAID dựa trên phần mềm chủ yếu được sử dụng với các máy lưu trữ gia đình, các máy chủ entry-level Điểm chủ yếu để nhận diện là nó thực hiện tất cả các lệnh I / O và các thuật toán toán học RAID chuyên sâu trực tiếp trên các CPU của máy chủ lưu trữ Chính điều này làm chậm hiệu suất hệ thống bằng cách tăng lưu lượng truy cập máy chủ qua PCI bus , sử dụng vào ngay luôn tài nguyên của hệ thống CPU, memory, Ưu điểm chính của software RAID là giá thành rẻ hơn (nhiều software RAID được phát hành miễn phí) so với các lựa chọn thay thế RAID khác như hardware RAID có mức giá cao hơn nhiều.
2.2 Hardware RAID
Hardware RAID thường ở dưới hình thức là một dạng card add-in Loại cardRAID controller này cắm vào một khe cắm bus chủ PCI Giảm tải hệ thống máychủ trong một số hoặc tất cả các lệnh I / O, dành các hoạt động tính toán RAIDcho một hoặc nhiều bộ vi xử lý thứ cấp mà nó có
Ngoài việc cung cấp những lợi ích chịu lỗi của một RAID thông thường , bộđiều khiển hardware RAID còn thực hiện các chức năng kết nối tương tự như bộđiều khiển trên máy chủ tiêu chuẩn Và cũng bởi nhờ nó có riêng cho mình tàinguyên (CPU, memory, ) , nên chúng thường cung cấp hiệu suất cao nhất chotất cả các loại RAID Hardware RAID cũng cung cấp tính năng chịu lỗi mạnh
mẽ hơn đa dạng hơn software RAID Ví dụ như RAID 0/1/5/6/10/50/60
Trang 72.3 So sánh Software RAID và Hardware RAID
So sánh tính năng cơ bản:
Bộ điều khiển Hardware RAID chuyên dụng với đầy đủ chức năng RAID:
- Tất cả các chức năng RAID được thực hiện bởi bộ điều khiển phần cứng giải phóng CPU và bộ nhớ hệ thống cho ứng dụng nền và các ứng dụng người dùng cuối.
- Sử dụng on-board I/O cho bộ vi xử lý (CPU)
- Sử dụng on-board XOR off-load engine
- Có các thuật toán bảo vệ dữ liệu tinh vi suốt con đường truyền dữ liệu
- ECC chuyên dụng bảo vệ bộ nhớ cache
- Pin dự phòng chuyên dụng để bảo vệ dữ liệu trong bộ nhớ cache
- Có các thuật toán tổng quát
- Không có ECC chuyên dụng bảo vệ dữ liệu
- Không có BBU chuyên dụng
- Không bảo vệ hệ điều hành khi hệ thống bị treo
- Giới hạn nhật ký lỗi và thông báo sự kiện
Khả năng mở rộng:
Hardware RAID:
- Sử dụng CPU thấp hơn cho việc sử dụng tốt hơn các nguồn tài nguyên
hệ thống; cho phép tài nguyên CPU sẵn sàng cho ứng dụng nền và ứng dụng người dùng.
Trang 8- Tích hợp giải pháp: hardware, firmware và software
- Hỗ trợ nhiều hệ điều hành bao gồm: Windows, Linux, Unix (32b và 64b)
và các mô hình mã nguồn mở khác (Linux)
- Có sẵn với 2, 4, 8, 12 cổng Cộng với khả năng mở rộng trên tất cả các khe PCI có sẵn
Software RAID:
- Các phần cấu thành phụ thuộc vào hiệu suất tổng thể của CPU.
- Giới hạn hệ điều hành hỗ trợ
- Giới hạn đến các cổng có sẵn trên bo mạch chủ.
2.4 Fake RAID hay Host RAID
Fake RAID hay Host RAID nôm na là sự kết hợp giữa Hardware RAID và Software RAID Nó sử dụng firmware nhận diện/đánh giá ổ cứng trước khi hệ điều hành được khởi động.(thiết lấp RAID trên mortherboard – Hardware RAID) Và sau khi hệ điều hành khởi động xong, lấy quyền kiểm soát lại từ BIOS thì khi đó nó giao quyền điều khiển RAID cho hệ điều hành (RAID sử dụng tài nguyên CPU và RAM để tính toán dữ liệu – Software RAID)
3. Các cấp độ của RAID (Cách sắp xếp các ổ đĩa)
Theo RAB thì RAID được chia thành 7 cấp độ (level) từ cấp độ 0 đến cấp
độ 6, mỗi cấp độ có các tính năng riêng, hầu hết chúng được xây dựng từ hai cấp độ cơ bản là RAID 0 và RAID 1 Mỗi cấp RAID phân tán dữ liệu ra khắp các đĩa của mảng theo cách thức khác nhau và được tối ưu hóa cho từng trường hợp cụ thể.
Bài viết này chỉ tập trung vào các cấp độ RAID thường được sử dụng nhất Dưới đây là 5 cấp độ RAID được dùng phổ biến.
3.1 RAID 0
Đây là dạng RAID đang được người dùng ưa thích do khả năng nâng cao hiệu suất trao đổi dữ liệu của đĩa cứng.RAID 0 cần ít nhất 2 ổ đĩa Tổng quát ta có n đĩa (n >= 2) và các đĩa là cùng loại Dữ liệu sẽ được chia ra nhiều phần bằng nhau để lưu trên từng đĩa Như vậy mỗi đĩa sẽ chứa 1/n dữ liệu Tổng dung lượng = dung lượng đĩa nhỏ nhất nhân với tổng số đĩa.
Array Capacity = Size of Smallest Drive * Number
of Drives Dung lượng tổng cộng của ổ cứng trong hệ thống RAID0 bằng tổng dung lượng của hai ổ đĩa Nếu chúng ta dùng 02 ổ cứng 80GB thì hệ thống đĩa của chúng ta là 160GB
Trang 9- Ưu điểm: - Tăng tốc độ đọc/ghi đĩa: mỗi đĩa chỉ cần phải đọc/ghi 1/n
lượng dữ liệu được yêu cầu Lý thuyết thì tốc độ sẽ tăng n lần.
- Nhược điểm: - Tính an toàn thấp Nếu một đĩa bị hư thì dữ liệu trên tất
cả các đĩa còn lại sẽ không còn sử dụng được Xác suất để mất dữ liệu sẽ
tăng n lần so với dùng ổ đĩa đơn.
- Ứng dụng: Thường được dùng trong các máy trạm để lưu trữ dữ liệu tạm
thời và có tốc độ nhập/xuất cao.
3.2 RAID 1
Đây là dạng RAID cơ bản nhất có khả năng đảm bảo an toàn dữ liệu Cũng giống như RAID 0, RAID 1 đòi hỏi ít nhất hai đĩa cứng để làm việc Dữ liệu được ghi vào 2 ổ giống hệt nhau (Mirroring) Trong trường hợp một ổ bị trục trặc, ổ còn lại sẽ tiếp tục hoạt động bình thường Bạn có thể thay thế ổ đĩa bị hỏng mà không phải lo lắng đến vấn đề thông tin thất lạc Đối với RAID 1, hiệu năng không phải là yếu tố hàng đầu nên chẳng có gì ngạc nhiên nếu nó không phải là lựa chọn số một cho những người say mê tốc độ Tuy nhiên đối với những nhà quản trị mạng hoặc những ai phải quản lý nhiều thông tin quan trọng thì hệ thống RAID 1 là thứ không thể thiếu Dung lượng cuối cùng của hệ thống RAID 1 bằng dung lượng của ổ đơn (hai
ổ 80GB chạy RAID 1 sẽ cho hệ thống nhìn thấy duy nhất một ổ RAID 80GB).
- Ưu điểm: Khả năng hoạt động liên tục cao, một đĩa hỏng nhưng ổ đĩa
logic vẫn có dữ liệu để sử dụng.
- Nhược điểm: Cần phải có 2 đĩa nhưng chỉ sử dụng được một đĩa để lưu
trữ ứng dụng.
lượng 1 đĩa là đủ và để làm đĩa khởi động.
Trang 103.3 RAID 4
RAID 4 rất giống với RAID 0 Dữ liệu được phân tán lên khắp các ổ đĩa Ngoài ra, bộ điều khiển RAID cũng tính toán xác định thông tin dự phòng (thông tin chẵn lẻ) được lưu trữ trên một đĩa riêng (P1, P2, …) Ngay cả khi một
ổ đĩa hỏng, tất cả mọi dữ liệu vẫn có thể sử dụng được đầy đủ Dữ liệu bị mất được tìm lại bằng các tính toán xác đinh phần dữ liệu còn lưu lại và từ các thông tin chẵn lẻ
Khác với RAID, chỉ cần dùng dung lượng của một đĩa để cho các dữ liệu
dự phòng Chúng ta thử tính, ví dụ, một mảng đĩa RAID 4 có 5 đĩa, thì 80% dung lượng đĩa cài đặt là có thể sử dụng cho người dùng lưu trữ, chỉ 20% là dùng cho việc dự phòng Trong các trường hợp có nhiều khối dữ liệu nhỏ, ổ đĩa chẵn lẻ sẽ trở nên bị nghẽn cổ chai Với các khối dữ liệu lớn, RAID 4 tỏ ra cải thiện được hiệu năng với mức độ đáng kể.
- Ưu điểm: Khả năng hoạt động liên tục cao, một đĩa có thể hỏng, nhưng ổ
đĩa Logic vẫn có dữ liệu để sử dụng.
Tận dụng được dung lượng đĩa để lưu trữ (mảng n đĩa, n-1 đĩa được dùng
để lưu trữ).
- Nhược điểm: Phải tính toán thông tin dữ liệu dự phòng, gây hạn chế hiệu
năng ghi đĩa.
- Ứng dụng: Do có dung lượng lưu trữ so với dung lượng lắp đặt cao nên
thường được dùng cho các hệ thống lưu trữ lớn.
3.4 RAID 5
Khác với RAID 4, thông tin chẵn lẻ trên một mảng đĩa RAID 5 được phân tán lên tất cả mọi ổ đĩa Mảng đĩa RAID 5 cho năng suất cân đối hơn Ngay cả với những khối dữ liệu nhỏ, rất thường gặp trong những môi trường đa nhiệm và đa người dùng, thời gian đáp ứng rất tốt
RAID 5 cho độ an toàn tương đương với RAID 4: Khi mội ổ đĩa hư hỏng, tất cả mọi dữ liệu cũng vẫn có đầy đủ để sử dụng Dữ liệu bị mất được tìm lại bằng cách tính toán xác định lại phần dữ liệu còn lưu lại và từ các thông tin chẵn lẻ.
- Ưu điểm: Khả năng hoạt động liên tục cao, một đĩa có thể hư, nhưng ổ đĩa
logic vẫn có dữ liệu để sử dụng, tận dụng được dung lượng đĩa để lưu trữ (mảng n đĩa, n-1 đĩa được dùng để lưu trữ).
Trang 11- Nhược điểm: Phải tính toán thông tin dữ liệu dự phòng, gây hạn chế hiệu
năng ghi đĩa.
- Ứng dụng: Do có dung lương lưu trữ so với dung lượng lắp đặt cao nên
thường được dùng cho các hệ thống lưu trữ lớn.
3.5 RAID 10 hay 1+0
RAID 10 là cách kết hợp giữa RAID 0 (Hiệu năng) và RAID 1 (An toàn
dữ liệu) Khác với RAID 4 và RAID 5, không cần phải tính toán thông tin chẵn
lẻ Mảng đĩa RAID 10 cho hiệu năng hoạt động và an toàn dữ liệu tốt Tương
tự như RAID 0, hiệu năng tối ưu đạt được trong các tình huống nạp có trình
tự cao Tương tự RAID 1, 50% dung lượng cài đặt bị mất do việc dự phòng dữ liệu.
- Ưu điểm: Khả năng hoạt động liên tục cao, một đĩa có thể hư, nhưng ổ đĩa Logic vẫn có dữ liệu để sử dụng, có hiệu năng ghi đĩa cao.
- Nhược điểm: Cần tối thiểu 4 đĩa chẵn, chỉ một nửa số đĩa được dùng cho lưu trữ.
- Ứng dụng: Thường được dùng cho các trường hợp đòi hỏi hiệu năng ghi đĩa có trình tự cao.
Trang 12CHƯƠNG II CÀI ĐẶT SOFTWARE RAID TRÊN UBUNTU DESKTOP
Khi ổ cứng được hoạt động ở chế độ RAID sẽ có nhiều tính năng cao cấp như: RAID 0 tăng tốc độ truy xuất dữ liệu, RAID 1 an toàn cho dữ liệu, RAID 5 vừa tăng tốc độ truy xuất dữ liệu và vẫn đảm bảo tốc độ truy xuất dữ liệu Hầu hết các máy chủ hiện nay đều sử dụng Hardware RAID do có nhiều tính năng cao cấp Trong bài viết này xin trình bày cách thiết lập Software RAID
với cấp độ RAID 1 trên Linux với mdadm (tiện ích Linux được sử dụng để quản lý và giám sát các software RAID devices) đáp ứng các yêu cầu đảm bảo
an toàn dữ liệu nhưng chi phí thấp hơn rất nhiều, dựa trên nền tảng máy chủ cấp thấp yêu cầu có ít nhất 2 ổ cứng.
RAID 1 (RAID Mirroring) có nghĩa là một bản sao chính xác (chiếc gương) của dữ liệu trên 2 hay nhiều ổ đĩa Cần tối thiểu 2 ổ đĩa để cấu hình RAID 1 và nó chỉ hữu ích khi nhu cầu đọc dữ liệu hay đảm bảo an toàn dữ liệu cần thiết hơn là hiệu suất ghi dữ liệu ổ cứng.
RAID Mirroring được tạo ra để bảo vệ chống mất mát dữ liệu do hỏng đĩa Mỗi đĩa trong một mirror là một bản sao chính xác của dữ liệu, khi một đĩa bị hỏng dữ liệu đó có thể được lấy ra từ một đĩa khác đang hoạt động Ổ đĩa bị lỗi có thể được thay thế khi máy tính đang chạy mà không bị gián đoạn người dùng.
Lưu ý: Hướng dẫn này sử dụng Ubuntu Desktop 14.04 được cài đặt
trên ổ cứng /dev/sda Chúng ta sẽ tạo ra một mảng RAID mới với 2 ổ cứng /dev/sdb và /dev/sdc với dung lượng bằng nhau đã được thêm sẵn và chưa được sử dụng.
Bước 1: Cài đặt phần mềm cần thiết và kiểm tra ổ đĩa
1. Như đã nói ở trên, chúng ta sử dụng tiện ích mdadm để tạo và quản lý RAID trong Linux, để cài đặt mdadm sử dụng câu lệnh:
# sudo apt-get install mdadm
2. Sau khi cài đặt mdadm, chúng ta cần kiểm tra các ổ đĩa xem liệu đã có RAID được cấu hình trên đó hay chưa sử dụng câu lênh
# mdadm –E /dev/sd[b-c]
Trang 13Kiểm tra ổ đĩa Như hình trên, không có bất kỳ superblock được phát hiện, có nghĩ là RAID chưa được xác định.
Bước 2: Phân vùng ổ đĩa cho RAID
3. Như lưu ý trên, chúng ta sử dụng tối thiểu 2 ổ đĩa /dev/sdb và /dev/sda
để thiết lập RAID 1 Tiến hành phân vùng trên 2 ổ đĩa này sử dụng lệnh
‘fdisk’ và thay đổi kiểu phân vùng tương thích với raid trong khi phân vùng.
# fdisk /dev/sdb
Thực hiện theo các bước dưới đây:
• Bấm ‘n’ để tạo phân vùng mới
• Sau đó chọn ‘P’ để chọn kiểu Primary
• Tiếp theo chọn số phân vùng là 1
• Cung cấp các dung lượng mặc định bằng cách nhấn 2 lần Enter
• Tiếp theo bấm ‘p’ để hiển thị phân vùng đã xác định
• Bấm ‘L’ để liệt kê tất cả các kiểu phân vùng có sẵn
• Bấm ‘t’ để chọn các phân vùng
• Chọn ‘fd’ để chọn kiểu Linux raid auto và bấm Enter để áp dụng
• Sau đó bấm ‘p’ một lần nữa để xem các thay đổi mà chúng ta vừa làm
• Sử dụng ‘w’ để ghi lại các thay đổi.