Tải bản đầy đủ (.doc) (7 trang)

Software RAID Linux

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (140.27 KB, 7 trang )

Software RAID Linux
Khái niệm raid được đưa ra lần đầu tiên bởi University of California Berkeley vào năm 1987. Ý
tưởng cơ bản của RAID là tổng hợp nhiều ổ đĩa nhỏ độc lập thành một mảng những ổ đĩa nhằm
tăng hiệu năng sử dụng ổ đĩa, mảng những ổ đĩa có khả năng chịu lỗi và được hệ điều hành xem
như một ổ đĩa lớn duy nhất.
RAID có thể được thực hiện ở mức operating system software (software raid) hoặc thực hiện
thông qua chức năng tạo RAID của card điều khiển ổ đĩa (hardware raid).
Ở đây tôi xin giới thiệu software raid trên Linux.
Một số khái niệm về các mode raid.
Linear mode:
Hai hay nhiều ổ đĩa được nối liên tiếp nhau thành một ổ đĩa duy nhất, dữ liệu được ghi vào theo
kiểu tuần tự, ghi đầy disk1 thì ghi tiếp vào disk2 và cứ thế. Các ổ đĩa không cần phải có kích thước
giống nhau. Ở Linear mode ổ đĩa không chứa thông tin dư thừa để tăng khả năng chịu lỗi do đó
nếu một trong các ổ đĩa thành phần hỏng bạn có thể mất dữ liệu và hiệu năng sử dụng ổ đĩa hầu
như không được cải thiện.
RAID-0:
Còn được gọi là stripe mode, các ổ đĩa nên có cùng kích thước, thao tác truy xuất được phân chia
trên các thiết bị ví dụ một thao tác ghi dữ liệu lớn được thực hiện như sau:
4KB được ghi lên disk0, 4KB được ghi lên disk1, 1.4 KB được ghi lên disk2, 4KB được ghi lên
disk0 và cứ thế tiếp tục. Giống như linear mode RAID0 không chứa thông tin dư thừa để có khả
năng chịu lỗi nên nếu một ổ đĩa hỏng thì chắc chắn bạn sẽ mất toàn bộ dữ liệu (không giống linear
mode).
thao tác đọc ghi được tăng lên bởi vì chúng được thực hiện song song trên các ổ đĩa.
RAID-1
Đây là mode có khả năng chịu lỗi, nó sử dụng hai hay nhiều ổ đĩa để tạo thành một ổ raid, nếu các
các ổ đĩa có kích thước không giống nhau thì ổ raid tạo ra sẽ có kích thước của ổ đĩa bé nhất.
RAID1 thực hiện việc ánh xạ chính xác những thông tin trên một ổ đĩa lên các ổ đĩa còn lại. Hệ
thống vẫn làm việc ngay cả khi chỉ còn một ổ đĩa (các ổ còn lại lỗi).
RAID-4
Không thường xuyên được sử dụng, nó đòi hỏi ít nhất phải có 3 ổ đĩa. Nó dành một ổ đĩa để chứa
các thông tin parity và ghi dữ liệu lên các ổ đĩa còn lại theo cách giống như RAID0. Dung lượng ổ


đĩa RAID sẽ là (N-1)*S với N là số lượng ổ đĩa S là dung lượng ổ đĩa, nếu các ổ đĩa có dung lượng
không giông nhau thì S là dung lượng ổ đĩa bé nhất.
Nếu một ổ đĩa lỗi thông tin parity sẽ được sử dụng để xây dựng lại toàn bộ dữ liệu, nếu hai ổ đĩa
lỗi bạn sẽ mất toàn bộ dữ liệu.
Lý do RAID4 không thường xuyên được sử dụng là do nó dùng một ổ đĩa để chứa thông tin parity
nên có thể xẩy ra trường hợp khi có nhiều thao tác ghi vào các ổ, mỗi thao tác đều yêu cầu phải
ghi thông tin paity nên dễ xẩy ra tác nghẽn đối với ổ chưa thông tin parity.
Bạn có thể tránh khả năng này bằng cách dùng ổ đĩa chứa thông tin parity có tốc độ cao hơn các ổ
đĩa còn lại.
RAID-5
Là mode raid được sử dụng nhiều nhất, cần ít nhất ba ổ đĩa cứng, có thể kết hợp sử dụng spare-
disk, cũng giống như RAID4 dung lượng ổ đĩa RAID5 là (N-1)*S, điểm khác so với RAID4 là thông
tin parity được lưu đều trên các ổ đĩa thành phần để tránh trường hợp tắc nghẽn.
nếu một ổ đĩa bị hỏng dữ liệu tự động được khôi phục lại, nếu sử dụng spare-disk cấu trúc RAID
được xây dựng lại để ổ đĩa spare-disk thay thế ổ đĩa lỗi, nếu hai ổ đĩa cùng hỏng một lúc bạn sẽ
không có khả năng khôi phục lại dữ liệu.
Linux Software RAID làm việc được với hầu hết các block devices như IDE, SCSI thậm chí là sự
kết hợp của cả hai loại này hay là sử dụng với Network block devices.
do Linux Software RAID tự nó đã là một block device nên bạn hoàn toàn có thể tạo RAID trên các
thiết bị RAID, do đó bạn có thể tạo ra các kiểu raid khác như RAID-10 bằng cách tạo RAID1 trên
các thiết bị RAID0.
RAID là hoàn toàn độc lập với filesystem, bạn có thể đặt cho thiết bị RAID bất kỳ loại filesystem
nào mà bạn muốn.
Swap với RAID:
Bạn có thể đặt một RAID device làm swap partition hoặc bạn có thể tạo RAID trên một file swap
của file system tuy nhiên với cùng mục đích đơn giản và hiệu quả nhất là bạn đặt swapping trên
nhiều thiết bị cùng một lúc với cùng một mức ưu tiên, khi đó hệ thống sẽ song song thực hiện
swap trên tất cả các thiết bị đó.
ví dụ bạn có thể đặt cho hệ thống thực hiện swap trên cả 7 partition bằng cách sửa file /etc/fstab
như sau:

/dev/sda2 swap swap defaults,pri=1 0 0
/dev/sdb2 swap swap defaults,pri=1 0 0
/dev/sdc2 swap swap defaults,pri=1 0 0
/dev/sdd2 swap swap defaults,pri=1 0 0
/dev/sde2 swap swap defaults,pri=1 0 0
/dev/sdf2 swap swap defaults,pri=1 0 0
/dev/sdg2 swap swap defaults,pri=1 0 0
Spare disks:
Spare disk là một đặc điểm mở rộng của RAID-5, spare disks là ổ đĩa không thuộc thành phần của
RAID, nó đóng vai trò dự phòng cho những những ổ đĩa thành phần của RAID. khi một ổ đĩa thành
phần của RAID hỏng câu trúc của RAID sẽ được xây dựng lại và ổ đĩa spare disk sẽ thay thế cho
ổ đĩa lỗi.
khi đó ổ đĩa lỗi vẫn được xem là một thành phần của RAID và sẽ được đánh dấu như là một thành
phần inactive của filesystem.
Sau đây là một ví dụ tạo RAID-5 .
Chuẩn bị các partition thành phần để tạo RAID.
umount /dev/hde1
umount /dev/hdf2
umount /dev/hdg1
đặt các partition type của các partition về dạng FD (Linux raid autodetect)
fdisk /dev/hde
The number of cylinders for this disk is set to 8355.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help):
gõ t để yêu cầu đổi partition type, gõ 1 để xác định partition cần đổi là 1, nhập fd để chuyển
partition type về dạng Linux raid autodetectCommand (m for help): t

Partition number (1-5): 1
Hex code (type L to list codes): L
..........
..........
16 Hidden FAT16 61 SpeedStor f2 DOS secondary
17 Hidden HPFS/NTF 63 GNU HURD or Sys fd Linux raid auto
18 AST SmartSleep 64 Novell Netware fe LANstep
1b Hidden Win95 FA 65 Novell Netware ff BBT
Hex code (type L to list codes): fd
Changed system type of partition 1 to fd (Linux raid autodetect)Command (m for help):
gõ p để xem thông tin partition sau khi thay đổi
Command (m for help): p
Disk /dev/hde: 4311 MB, 4311982080 bytes
16 heads, 63 sectors/track, 8355 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System
/dev/hde1 1 4088 2060320+ fd Linux raid autodetect
/dev/hde2 4089 5713 819000 83 Linux
/dev/hde4 6608 8355 880992 5 Extended
/dev/hde5 6608 7500 450040+ 83 Linux
/dev/hde6 7501 8355 430888+ 83 Linux
Command (m for help):
gõ w để save những sửa đổi trên partition
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

quá trình này lặp lại cho cac partition còn lại.
mdadm là công cụ tạo và quản lý RAID phổ biến hiện nay, bạn có thể dùng mdadm để tạo RAID-5
trên các partition đã chuẩn bị.
mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/hde1 /dev/hdf2 /dev/hdg1

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×