I. TÌM HIỂU VỀ CÁC LOẠI RAID
RAID: (nhóm các chữ đầu của các từ tiếng Anh sau: Redundant Arrays of
Independent Disks) là hình thức ghép nhiều ổ cứng vật lý thành một hệ ổ
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.
LỊCH SỬ
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ờ.
Hội đồng tư vấn phát triển RAID (RAID Advisory Board: Viết tắt là
RAB) đã ra thành lập tháng 7 năm 1992 để định hướng, lập ra các tiêu
chuẩn, định dạng cho RAID. RAB đã phân ra các loại cấp độ RAID (tôi dịch
từ từ: level), các tiêu chuẩn phần cứng sử dụng RAID. RAB đã phân ra 7
loại cấp độ RAID từ cấp độ 0 đến cấp độ 6. Cấp độ ở đây không được hiểu
rằng cứ cấp độ cao là cao cấp hoặc là "đời sau", mà chúng chỉ phân biệt rằng
giữa loại RAID này và loại RAID khác, (nhưng lại được sử dụng để giải
thích giữa các loại với nhau).
Vì RAID mang tính toàn vẹn dữ liệu cao , phục hồi nhanh chóng nên
RAID chủ yếu được ứng dụng vào các máy server , nhưng không vì thế mà
máy trạm không có dùng RAID được , chúng ta cũng có thể hoàn toàn dùng
công nghệ RAID cho các máy trạm . RAID đã được giới thiệu cách đây
khoảng 30 năm và chúng được phát triển qua từng năm .
CÁC LOẠI RAID
Theo RAB thì RAID được chia thành 7 cấp độ (level), 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.
RAID 0
1
RAID 0 là cấp độ cơ bản: Các dữ liệu cần chứa
trên hệ thống RAID 0 được phân tách thành hai phần để
RAID 1 cũng là một cấp độ cơ bản. Từ
các nguyên lý của RAID 0 và RAID 1 có thể
giải thích về các cấp độ RAID khác.
RAID 1 là sự kết hợp của ít nhất hai ổ
cứng trong đó dữ liệu được ghi đồng thời trên
cả hai ổ cứng đó (Mirroring). Lặp lại ví dụ trên:
2
Nếu dữ liệu có nội dung A được phân tách thành A1, A2 thì RAID 1 sẽ ghi
nội dung A được ghi tại đồng thời cả hai ổ cứng 0 và ổ cứng 1.
Mục đích của RAID 1 là tạo ra sự lưu trữ dữ liệu an toàn. Nó không
tạo ra sự tăng tốc độ đọc và ghi dữ liệu (tốc độ đọc/ghi tương đương với chỉ
sử dụng duy nhất một ổ cứng). RAID 1 thường sử dụng trong các máy chủ
lưu trữ các thông tin quan trọng. Nếu có sự hư hỏng ổ cứng xảy ra, người
quản trị hệ thống có thể dễ dàng thay thế ổ đĩa hư hỏng đó mà không làm
dừng hệ thống. RAID 1 thường được kết hợp với việc gắn nóng các ổ cứng
(cũng giống như việc gắn và thay thế nóng các thiết bị tại các máy chủ nói
chung).
RAID 2
RAID 2 thì ít được sử dụng trong thực tế, cũng có ít tài liệu nói về loại
RAID này. RAID 2 gồm hai cụm ổ đĩa, cụm thứ nhất chứa các dữ liệu được
phân tách giống như là RAID 0, cụm thứ hai chứa các mã ECC dành cho sửa
chữa lỗi ở cụm thứ nhất. Sự hoạt động của các ổ đĩa ở RAID 2 là đồng thời
để đảm bảo rằng các dữ liệu được đọc đúng, chính do vậy chúng không hiệu
quả bằng một số loại RAID khác.
RAID 2 không sử dụng bất kỳ công nghệ nào trong số những chuẩn
RAID mang tính chính thức như Mirroring, Striping hay Parity. Cơ chế hoạt
động của RAID 2 có nhiều nét khá giống với những loại RAID kết hợp
Striping và Parity ( bao gồm từ RAID 3 đến RAID 7 ). Điểm khác biệt là
ngoài các đĩa cứng dùng trong việc lưu trữ, các đĩa cứng còn lại nhận nhiệm
vụ tính toán và sửa các lỗi trong quá trình đọc và ghi đĩa. RAID 2 chỉ là một
Tốc độ ĐỌC dữ liệu (READ) rất cao. Tỉ lệ của ECC (Parity) disk /
data disk càng thấp thì càng hiệu quả. Tốc độ Ghi tổng thể (aggregate Read)
cao. Chúng cũng yêu cầu tối thiểu 3 đĩa cứng (ít nhất hai đĩa dành cho chứa
dữ liệu và ít nhất 1 đĩa dùng cho lưu trữ dữ liệu tổng thể). RAID 4 rất ít khi
được sử dụng.
RAID 5
RAID 5 thực hiện chia đều dữ liệu trên các ổ đĩa giống như RAID 0
nhưng với một cơ chế phức tạp hơn. Đây có thể coi là dạng RAID mạnh mẽ
nhất cho người dùng văn phòng và gia đình với 3 hoặc 5 đĩa cứng riêng biệt.
Dữ liệu và bản sao lưu được chia lên tất cả các ổ cứng. Ví dụ về 8 đoạn dữ
liệu (1-8) và giờ đây là 3 ổ đĩa cứng. Đoạn dữ liệu số 1 và số 2 sẽ được ghi
vào ổ đĩa 1 và 2 riêng rẽ, đoạn sao lưu của chúng được ghi vào ổ cứng 3.
Đoạn số 3 và 4 được ghi vào ổ 1 và 3 với đoạn sao lưu tương ứng ghi vào ổ
đĩa 2. Đoạn số 5, 6 ghi vào ổ đĩa 2 và 3, còn đoạn sao lưu được ghi vào ổ đĩa
1 và sau đó trình tự này lặp lại, đoạn số 7,8 được ghi vào ổ 1, 2 và đoạn sao
lưu ghi vào ổ 3 như ban đầu. Như vậy RAID 5 vừa đảm bảo tốc độ có cải
thiện, vừa giữ được tính an toàn cao. Dung lượng đĩa cứng cuối cùng bằng
tổng dung lượng đĩa sử dụng trừ đi một ổ. Tức là nếu bạn dùng 3 ổ 80GB thì
dung lượng cuối cùng sẽ là 160GB.
5
RAID 5 cũng yêu cầu tối thiểu có 3 ổ cứng. Chi phí dành cho RAID 5
cũng khá cao.
RAID 6
Sử dụng các đĩa dữ liệu độc lập
(independent data disk) và hai hệ thống mã kiểm
tra độc lập phân tán (two independent distributed
parity schemes): Là công nghệ RAID có mức độ
tin cậy (an toàn) cao nhất (highest reliability)
nhưng không được sử dụng rộng rãi. Nó là công
nghệ RAID tương tự như RAID Level 5 nhưng có cơ chế thực hiện 2 tính
SNMP cho phép theo dõi và quản lý từ xa.
Hiệu suất Ghi cao hơn từ 25% - 90% so với đĩa đơn và từ 1.5 - 6 lần
tốt hơn các mức RAID khác. Các giao diện chính có thể được mở rộng để
kết nối thêmhoặc để tăng cường băng thông truyền dữ liệu qua giao diện
chính. Các tác vụ Đọc ít trong môi trường đa người dùng có tỉ lệ sử dụng bộ
nhớ cache rất cao dẫn đến thời gian truy cập gần bằng 0. Hiệu suất Ghi được
tăng cường khi số đĩa trong dãy tăng lên. Thời gian truy cập giảm mỗi khi
tăng số trục quay trong dãy. Không phát sinh việc truyền dữ liệu cho tác vụ
điều khiển kiểm tra lỗi dữ liệu. RAID 7 là một thương hiệu được đăng ký
của Storage Computer Corporation. Chi phí triển khai tính trên một MB dữ
liệu là “cực kỳ” cao. Bộ nguồn hệ thống cần phải sử dụng UPS để tránh
trường hợp bị mất dữ liệu lưu trữ trong bộ nhớ truy cập nhanh (cache data).
7
RAID 10
Độ tin cậy rất cao và hiệu suất (về tốc độ) cao. Là công nghệ RAID
kết hợp giữa "Tạo đĩa ảnh" - mirroing (RAID 1) và "Phân tán dữ liệu trên
nhiều đĩa" - stripping (RAID 0), sự kết hợp này mang lại độ an toàn dữ liệu
rất cao bên cạnh khả năng truy cập được cải thiện rất đáng kể.
RAID 10 được thực hiện với các thành phần của dãy phân tán
(stripped array) là các dãy đĩa RAID 1. Nghĩa là trong RAID 0, dữ liệu được
phân tán trên các "đĩa" khác nhau; còn ở RAID 10, dữ liệu được phân tán
trên nhiều "dãy đĩa" khác nhau (các dãy đĩa này đã được "sao chép" ra nhiều
đĩa "ảnh" khác nhau). RAID 10 có khả năng chịu lỗi tương tự RAID 1. Tốc
độ nhập xuất cao do phân tán các dãy đĩa RAID 1. Trong một số trường hợp,
RAID 10 có thể "chịu đựng" được sự cố nhiều ổ đĩa hư đồng thời. Đây là
giải pháp phù hợp cho các ứng dụng có nhu cầu sử dụng RAID 1 vì mục
đích an toàn dữ liệu và lại muốn có thêm "một chút xíu cải thiện về hiệu
suất". RAID Level 10 cần sử dụng ít nhất là 4 đĩa cứng. Các ứng dụng đề
nghị sử dụng RAID 10: các máy chủ dữ liệu (database server) đòi hỏi hiệu
suất (tốc độ) và khả năng chịu lỗi cao.
cứng khi thực hiện hệ thống; việc phân tán dữ liệu theo từng byte (byte
stripping) sẽ kéo theo khả năng sử dụng không hiệu quả dung lượng đĩa đã
được định dạng.
10
Bảng so sánh về một số công nghệ RAID
Mức RAID
(RAIDLevel)
Mô tả
(Description)
Chi phí
về Đĩa
(Disk
cost)
Độ an toàn
dữ liệu
(Data
Reliability)
Truyền dữ
liệu
(Data
Transfer)
Tốc độ Nhập/Xuất
tối đa
(Max. I/O rate)
0
Phân tán đĩa
(Disk stripping)
Dữ liệu được
phân tán trên
nhiều đĩa trong
Ghi: tương tự
đĩa đơn.
Đọc: lên tới 2 lần
đĩa đơn.
Ghi: tương tự đĩa
đơn.
2
Dữ liệu được
bảo vệ bởi mã
sửa lỗi (ECC
Hamming
code). Các
thông tin sữa
lỗi được phân
tán trên m đĩa
(m: số đĩa chứa
mã sửa lỗi)
N+m
Cao hơn
nhiều so với
đĩa đơn.
Có thể so
sánh với các
mức 3,4 hoặc
5.
Cao nhất.
Tương đương 2 lần
tốc độ đĩa đơn.
3
Truyền dữ liệu
lỗi được lưu trữ
trên một đĩa
riêng.
N+1
Cao hơn
nhiều so với
đĩa đơn.
Có thể so
sánh với các
mức 2,3 hoặc
5.
Đọc: tương
tự như
trường hợp
phân tán đĩa
(disk
stripping).
Ghi: chậm
hơn nhiều so
với đĩa đơn.
Đọc: tương tự như
trường hợp phân tán
đĩa (disk stripping).
Ghi: thường chậm
hơn đĩa đơn.
11
5
Dữ liệu được
phân tán theo
từng khối. Các
hệ thông thông
tin sửa lỗi độc
lập.
N+1 Cao nhất
Đọc: tương
tự như
trường hợp
phân tán đĩa
(disk
stripping).
Ghi: chậm
hơn so với
RAID 5.
Đọc: tương tự như
trường hợp phân tán
đĩa (disk stripping).
Ghi: chậm hơn
nhiều so với RAID
5.
12
II. SO SÁNH KIẾN TRÚC CỦA CISC VÀ RISC
1, CISC (Complex Instruction Set Computer - Máy tính có tạp lệnh phức
tạp ).
Các kiến trúc với tập lệnh phức tạp CISC được nghĩ ra từ những năm
1960. Vào thời kỳ này, người ta nhận thấy các chương trình dịch khó dùng
các thanh ghi, rằng các vi lệnh được thực hiện nhanh hơn các lệnh và cần
thiết phải làm giảm độ dài các chương trình. Các đặc tính nầy khiến người ta
ưu tiên chọn các kiểu ô nhớ - ô nhớ và ô nhớ - thanh ghi, với những lệnh
phức tạp và dùng nhiều kiểu định vị. Điều này dẫn tới việc các lệnh có chiều
dài thay đổi và như thế thì dùng bộ điều khiển vi chương trình là hiệu quả
420 KB 480 KB 64 KB
Chiều dài lệnh
(tính bằng bit)
16 - 48 16 - 456 6 - 321
Kỹ thuật chế
tạo
ECL - MSI TTl - MSI NMOS VLSI
Cách thực
hiện lệnh
Thanh ghi- thanh
ghiThanh ghi - bộ
nhớBộ nhớ - bộ nhớ
Thanh ghi - thanh
ghiThanh ghi - bộ
nhớBộ nhớ - bộ nhớ
Ngăn xếpBộ
nhớ- bộ nhớ
Dung lượng
cache
64 KB 64 KB 0
14
có chiều dài các lệnh cố định (32 bits), có một kiểu thi hành lệnh (kiểu thanh
ghi - thanh ghi) và chỉ có một số ít lệnh.
Bảng II : Đặc tính của ba mẫu đầu tiên máy RISC
Bộ xử lý IBM 801 RISC1 MIPS
Năm sản xuất 1980 1982 1983
Số lệnh 120 39 55
Dung lượng bộ nhớ vi
chương trình
0 0 0
dạng).
15
- Thời gian cần thiết để thiết kế bộ điều khiển là ít. Điều này góp phần làm
giảm chi phí thiết kế.
- Bộ điều khiển trở nên đơn giản và gọn làm cho ít rủi ro mắc phải sai sót mà
ta gặp thường trong bộ điều khiển.
Trước những điều lợi không chối cãi được, kiến trúc RISC có một số bất lợi:
Các chương trình dài ra so với chương trình viết cho bộ xử lý CISC. Điều
này do các nguyên nhân sau :
- Cấm thâm nhập bộ nhớ đối với tất cả các lệnh ngoại trừ các lệnh đọc và ghi
vào bộ nhớ. Do đó ta buộc phải dùng nhiều lệnh để làm một công việc nhất
định.
- Cần thiết phải tính các địa chỉ hiệu dụng vì không có nhiều cách định vị.
- Tập lệnh có ít lệnh nên các lệnh không có sẵn phải được thay thế bằng một
chuỗi lệnh của bộ xử lý RISC.
- Các chương trình dịch gặp nhiều khó khăn vì có ít lệnh làm cho có ít lựa
chọn để diễn dịch các cấu trúc của chương trình gốc. Sự cứng nhắc của kỹ
thuật ống dẫn cũng gây khó khăn.
- Có ít lệnh trợ giúp cho ngôn ngữ cấp cao.
- Các bộ xử lý CISC trợ giúp mạnh hơn các ngôn ngữ cao cấp nhờ có tập
lệnh phức tạp. Hãng Honeywell đã chế tạo một máy có một lệnh cho mỗi
động từ của ngôn ngữ COBOL.
- Các tiến bộ gần đây cho phép xếp đặt trong một vi mạch, một bộ xử lý
RISC nền và nhiều toán tử chuyên dùng.
Thí dụ, bộ xử lý 860 của Intel bao gồm một bộ xử lý RISC, bộ làm
tính với các số lẻ và một bộ tạo tín hiệu đồ hoạ.
Một số bộ vi sử lý có kiến trúc RISC là: Power PC, SPARC, ALPHA,
…
16