|
Hệ thống đĩa RAID
Các phần trong bài
- Xuất phát của từ RAID
- Các điều cơ bản về RAID
- Các thành phần
- Ghi theo sọc các dữ liệu
- Tính chẵn lẽ
- Các định nghĩa về cấp độ cấu hình RAID
- RAID-0
- RAID-1
- RAID-5
- Hệ thống đĩa nội/đĩa ngoại
- Những điểm cần ghi nhớ
Xuất phát của từ RAID
RAID là từ viết tắt chữ đầu của nhóm từ Redundant Array of Independent Disks. Từ này do các nhà nghiên cứu và đồng thời là tác giả của một bài báo mô tả về cấu hình và ứng dụng hệ thống đĩa chế ra vào năm 1988. Đó là các ông Patterson, Gibson và Katz tại Đại học California, thành phố Berkeley
Trong các hệ thống máy tính về trước bị hạn chế là chỉ viết dữ liệu vào một đĩa độc nhất. Đĩa này thường mắt tiền và lại dễ hư. Đĩa cứng luôn là một liên kết yếu nhất trong máy tính, vì chúng là thành phần cơ duy nhất trên một hệ thống mà ngược lại toàn là điện tử. Ồ đĩa cứng chứa một khối lớn có tính di chuyển, các thành phần cơ làm việc ở tốc độ cao. Vậy vấn đề ở đây không phải là ổ đĩa có bị hỏng hay không mà vấn đề là khi nào nó sẽ hỏng.
Người ta thiết kế RAID để tạo ra một thay đổi lớn về việc quản lý máy tính và cách truy cập vào nơi cất chứa dữ liệu bằng cách cung cấp một hệ thống đĩa có tính dự phòng và không mắc tiền. Ngừơi ta gọi nó là Redundant Array of Inexpensive Disks (RAID). Thay vì phải viết dữ liệu vào một đĩa lớn duy nhất mắc tiền (Single Large Expensive Disk), RAID ghi dữ liệu vào nhiều đĩa rẻ tiền. Nguyên thủy, tên RAID là thế cho Redundant Array of Inexpensive Disks nhưng sau đó người ta hiệu chỉnh thành Independent Disks
Các điều cơ bản về RAID
Để đạt được tính dự phòng và tính chịu lỗi, RAID thực hiện hai điều: một là viết theo sọc và hai là kiểm tra tính chẵn lẽ. Viết theo sọc (striping) nghĩa là các tập tin được viết theo từng khối cùng một lúc trên nhiều ổ đĩa. Kỹ thuật ghi theo sọc phân dữ liệu nằm trên nhiều ổ đĩa và làm tốt hơn tốc độ trao đổi dữ liệu và số lần giao dịch(ghi và đọc) với toàn ổ đĩa. Hệ thống như thế tốt cho việc xử lý các giao dịch, nhưng lại hạn chế về độ tin cậy vì hệ thống có độ tin cậy ngang bằng với sự yếu kém của một ổ đĩa cụ thể trong hệ thống
Việc kiểm tra tính chẵn lẻ đảm bảo dữ liệu là hợp lệ bằng cách thực hiện việc kiểm tra dự phòng trên mọi dữ liệu sau khi đã truyền đi. Bằng tính chẵn lẻ, một trong các đĩa trong hệ thống RAID có thể hư hỏng và những đĩa khác trong hệ thống có khả năng tái tạo lại dữ liệu cho ổ đĩa bị hư. Trong cả hai trường hợp, những chức năng này là trong suốt đối với hệ điều hành. Chương trình quản lý Disk Array Controller (DAC) lo liệu cả hai, vừa ghi theo sọc và kiểm soát tính chẵn lẻ.
Các thành phần
Thành phần chính trong RAID là chương trình Disk Array Controller (DAC) và tập hợp các đĩa vật lý. Hình dưới đây minh họa một ví dụ của RAID-5. Dử liệu được ghi sọc trên khắp 5 ổ đĩa vật lý và tính chẵn lẻ được dùng để phục hồi một ổ đĩa bất kỳ bị hỏng. Có nhiều cấp độ RAID khác nhau. Một số cấp độ được thiết kế cho tốc độ ghi và đọc, một số cho sự bảo vệ dữ liệu, và một số, như là RAID-5 cho việc kết hợp cả hai.
Ghi theo sọc các dữ liệu
Trong quá khứ máy tính thường viết dữ liệu trên một ổ đĩa duy nhất (tại một thời điểm). Ghi theo sọc cho phép phân nhỏ một tập tin và viết nhiều phần khác nhau đó lên nhiều đĩa vật lý đồng thời. Nếu bạn có 5 khối dữ liệu trong một tập tin và phải ghi sọc chúng trên 5 đĩa vật lý, mỗi khối sẽ được viết vào một đĩa riêng biệt một cách đồng thời. Nếu bạn có những giao dịch OLTP (xử lý giao dịch trực tuyến), mỗi giao dịch nằm gọn trong một khối , thì bạn có thể xử lý 5 giao dịch khác nhau đồng thời.
Phần lớn các cấp độ RAID ghi theo sọc ở cấp độ block nhưng RAID có thể ghi theo sọc ở cấp độ bit hay byte. Dung lượng của block được xác định bởi người quản lý hệ thống và được gọi là chiều sâu của sọc.
Để tối đa hoá khả năng xử lý giao dịch của hệ thống, dữ liệu phải được viết và đọc đồng thời qua lại nhiều ổ đĩa. Để làm được điều này, các block dữ liệu của người dùng được ghi theo sọc khắp trên hệ thống các ổ đĩa. Một vạch sọc gồm một hàng các sectors ( một sector có 512 bytes) nằm trên cùng một vị trí trên mỗi đĩa khắp hết bề rộng (số đĩa tạo nên hệ thống RAID) của hệ thống. Bề sâu của vạch sọc hay là số sectors cho mỗi block dữ liệu, được xác định bởi phần mềm của hệ thống.
Bề sâu của vạch sọc ảnh hưởng trực tiếp tới hiệu năng là nếu bề sâu quá cạn đòi hệ thống phải thực thi nhiều lệnh I/O quá mức. Nếu bề sâu được chỉ định quá lớn, khả năng đa nhiệm của bộ vi xử lý và lợi ích có được bởi nhiều ổ đĩa và cần ghi đọc có thể bị phủ định.
Trong một môi trường lý tưởng, mỗi yêu cầu từ máy chủ có liên quan chỉ tới một ổ đĩa, cho phép nhiều giao dịch đồng thời tới nhiều ổ đĩa.
Tiến trình ghi theo sọc dữ liệu tới nhiều ổ đĩa của hệ thống giải quyết được vấn đề được mô tả trước đây về việc một ổ đĩa của hệ thống thì quá tải trong khi đó những ổ đĩa khác thì vẫn nhàn rỗi. việc ghi dữ liệu theo sọc loại trừ đựơc việc sử dụng các ổ đĩa chuyên và đảm bảo trọng tải xử lý dữ liệu được chia đều cho các ổ đĩa hiện có, nhờ đó tăng thêm hiệu năng bằng cách ghi nhiều khối dữ liệu đồng thời.
Tính chẵn lẽ
Người ta thường lẫn lộn parity với mirroring (hay còn gọi là shadowing). Mirroring liên quan tới việc tạo ra một bản sao của ổ đĩa cứng. Mirroring là một kỹ thuật viết dữ liệu trên một cặp ổ đĩa. Hệ thống đĩa này cho độ tin cậy cao và có các kết quả xử lý giao dịch rất tốt vì công việc được thực hiện bởi ổ này hay ổ kia trong cặp. Khuyết điểm là phải mua hai ổ đĩa mà dung lượng chỉ bằng một ổ duy nhất. Chi phí của mirroring là 100% hay nói cách khác là nó phải có không gian đĩa gấp đôi. Khi một ổ đĩa hỏng thì ổ đĩa đã làm mirror với nó được dùng thay thế.
Parity đem lại sự bảo vệ dữ liệu nói chung giống như mirror, nhưng nó ít tốn kém hơn. Nếu một người dùng có một hệ thống 5 đĩa thì 4 đĩa được sử dụng cho dữ liệu và 1 đĩa được dùng cho parity. Chi phí chỉ có 20%. Đây là một ưu điểm khi xét tới phí tổn.
Một máy tính chỉ ghi các con số không hay các con số một để biểu thị dữ liệu. một phương pháp để phát sinh ra parity được gọi là eXclusive OR (XOR). Một bit được lấy ( hoặc là bit 0 hoặc là bit 1) từ mỗi đĩa và tổng cộng lại. Nếu tổng là chẳn thì bit parity đặt là 0. Nếu tổng là số lẻ thì bit parity đặt là số 1. Hình ảnh dưới đây cho thấy một ví dụ về các bit chẵn lẽ. Bốn bit đầu tiên trên đầu cùng mỗi đĩa cộng lại có tổng là 2. Số này chẵn nên bit parity phải là số không. Bốn bit thứ hai ở dưới cùng mỗi đĩa cộng lại cả thảy có tổng là 3. số này lẻ nên bit parity là 1
Phụ thuộc vào cấp độ RAID mà parity sẽ nằm trên một ổ đĩa hay là rãi đều ra giữa mọi đĩa. Cách nào đi nữa nó chỉ chiếm 1/5 hay 20% của không gian đĩa khi chúng ta sử dụng 5 ổ đĩa. Parity chiếm ¼ hay 25% của không gian đĩa khi sử dụng 4 đĩa, và 1/3 hay 33% khi sử dụng 3 đĩa.
Hình ảnh dưới đây cho thấy một ổ đĩa RAID bị hỏng. Mỗi khi thay thế ổ đĩa bị hỏng thì chương trình quản lý Disk Array Controller sẽ xây dựng lại ổ đĩa đó với nội dung như trước.
Các cấp độ cấu hình RAID
Ngành công nghiệp hiện thời thỏa thuận 6 cấp độ cấu hình RAID và chỉ định từ RAID 0 cho tới RAID 5. Mỗi cấp độ RAID được thiết kế cho tốc độ, bảo vệ dữ liệu, hay một sự tổng hợp cả hai. Sau đây là các cấp độ RAID:
RAID-0 hệ thống ghi dữ liệu theo sọc.
RAID-1 hệ thống đĩa làm mirror.
RAID-2 hệ thống song song, Hamming Code.
RAID-3 hệ thống song song có Parity.
RAID-4 hệ thống cần đọc ghi độc lập có một ổ đĩa chuyên làm parity.
RAID-5 hệ thống cần đọc ghi độc lấp có parity trãi khắp mọi ổ đĩa.
Cấp độ RAID phổ biến nhất là RAID-0, RAID-1,RAID-5.
RAID-0 Hệ thống ghi dữ liệu theo sọc.
RAID-0 ghi dữ liệu theo sọc trên mọi ổ đĩa của hệ thống, nhưng không sử dụng parity. Nếu một trong các ổ đĩa bị hỏng, dữ liệu phải được phục hồi trên cả 5 ổ đĩa từ bản backups. Loại RAID này được thiết kế nhằm vào tốc độ, và có hiệu năng nhanh nhất trong các RAID, nhưng bảo vệ dữ liệu thì kém nhất.
RAID - 1 Transparent hay Striped Mirroring
Công nghệ RAID-1 đòi hỏi mỗi ổ đĩa có dữ liệu chủ yếu phải có một ổ đĩa làm mirror. Nội dung của đĩa sơ cấp và của đĩa mirror là giống hệt nhau. RAID-1 đem lại việc bảo vệ dữ liệu tốt nhất, nhưng lại chậm hơn RAIDS 0 hay 5.
Khi dữ liệu ghi lại trên đĩa thứ cấp, thì nó cũng ghi lại trên đĩa mirror. Tiến trình sao chép y hệt trên ổ đĩa mirror là người dùng không thấy được. Vì lý do này, RAID-1 được gọi là transparent mirroring. Người dùng có thể cài đặt RAID-1 kết hợp với RAID-0 để có RAID 1+0, RAID 10 hay còn gọi là Striped mirroring.
RAID - 5 Cần ghi đọc độc lập, Parity trãi đều.
RAID-5 ghi dữ liệu theo sọc ở cấp độ khối và cũng sử dụng parity. Với công nghệ RAID-5, dữ liệu của người dùng và parity được kết hợp trên mỗi đĩa trong hệ thống. hoạt động đọc và ghi dữ liệu là độc lập và/hoăc song song. Đây là loại RAID phổ thông nhất trong các loại RAID. RAID-5 không nhanh bằng RAID-0 và không cho sự bảo vệ nhiều như RAID-1. Nhưng RAID-5 cho một tốc độ tốt và một sự bảo vệ tốt. Đây là lý do mà RAID là một cấp độ đươc nhiều lựa chọn.
Các thành phần của hệ thống đĩa RAID
Những thành phần chính của hệ thống đĩa RAID là Disk Array Controllers, 5 kênh SCSI và một hay nhiều hàng đĩa. Thường thì có 2 Disk Array Controllers (DACs) làm thành một nhóm. Trước đây người ta triển khai một active DAC và một passive DAC để dự phòng một DAC bị hỏng. Bây giờ thì người ta triển khai hai active DAC. Cả hai cùng chia sẻ trách nhiệm kiểm soát điều khiển các đĩa nhưng mỗi cái trong hai sẽ kiểm soát mọi hàng đĩa nếu DAC kia bị hỏng. Trong hình dưới đây cho thấy hai DAC. Chúng cùng chịu trách nhiệm cho bốn hàng đĩa. Bạn có thể cấu hình lại các đĩa thành bất cứ cấp độ đĩa nào được hổ trợ. Bạn có thể phân nhỏ các đĩa để cấu hình nhiều cấp độ RAID trong cùng một hàng.
Hệ thống đĩa nội/ngoại
Trong quá khứ hệ thống đĩa chỉ độc nhất kết nối tới máy tính thông qua dây cáp và luôn nằm trong hộp đặt ngoài. Về giao diện SCSI thì bị giới hạn về chiều dài cho hệ thống đĩa để ngoài là 25 mét. Có thể sử dụng Repeater để kéo dài thêm 25 m nữa nhưng lại đưa đến việc giảm 5% hiệu năng.
Nhiều máy tính ngày nay có RAID đặt trong. CPU liên lạc với các đĩa này một cách nội tại nhưng về cơ bản thì vẫn là một. Dù đặt trong hay ngoài, hệ thống đĩa phải có các hàng đĩa được kiểm soát bởi một hay hai Disk Array Controller (DAC).
Các điểm chủ yếu cần ghi nhớ.
Người ta tạo ra RAID để gia tăng hiệu năng, độ tin cậy và tính sẵn sàng cho dữ liệu.
Ghi theo sọc, kiểm tra tính chẵn lẽ và mirroring (ghi y hệt một ổ đĩa khác) là ba chức năng chủ yếu của hệ thống RAID.
RAID thực hiện chức năng của mình một cách trong suốt đối với hệ điều hành.
Hệ thống tiêu biểu là các hàng đĩa gồm 5 đĩa mỗi hàng kết nối tới một hay hai Disk Array Controllers.
Các cấp độ RAID khác nhau cho các mức độ khác nhau về tốc độ và bảo vệ dữ liệu. |
|