Software RAID Linux

7 527 1
Software RAID Linux

Đang tải... (xem toàn văn)

Thông tin tài liệu

Software RAID Linux

Software RAID LinuxKhá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-4Khô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-5Là 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 0Spare 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/hde1umount /dev/hdf2umount /dev/hdg1đặt các partition type của các partition về dạng FD (Linux raid autodetect)fdisk /dev/hdeThe 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): tPartition number (1-5): 1Hex code (type L to list codes): L 16 Hidden FAT16 61 SpeedStor f2 DOS secondary17 Hidden HPFS/NTF 63 GNU HURD or Sys fd Linux raid auto 18 AST SmartSleep 64 Novell Netware fe LANstep1b Hidden Win95 FA 65 Novell Netware ff BBTHex code (type L to list codes): fdChanged system type of partition 1 to fd (Linux raid autodetect)Command (m for help):gõ p để xem thông tin partition sau khi thay đổiCommand (m for help): pDisk /dev/hde: 4311 MB, 4311982080 bytes16 heads, 63 sectors/track, 8355 cylindersUnits = cylinders of 1008 * 512 = 516096 bytesDevice 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 LinuxCommand (m for help):gõ w để save những sửa đổi trên partitionCommand (m for help): wThe 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 mdadm: layout defaults to left-symmetricmdadm: chunk size defaults to 64Kmdadm: /dev/hde1 appears to contain an ext2fs file systemsize=48160K mtime=Sat Jan 27 23:11:39 2007mdadm: /dev/hdf2 appears to contain an ext2fs file systemsize=48160K mtime=Sat Jan 27 23:11:39 2007mdadm: /dev/hdg1 appears to contain an ext2fs file systemsize=48160K mtime=Sat Jan 27 23:11:39 2007mdadm: size set to 48064KContinue creating array? ymdadm: array /dev/md0 started.xem thông tin về thiết bị RAID vừa tạo để đảm bảo thiết bị RAID được tạo thành côngcat /proc/mdstatPersonalities : [raid5]read_ahead 1024 sectorsmd0 : active raid5 hdg1[2] hde1[1] hdf2[0]4120448 blocks level 5, 32k chunk, algorithm 3 [3/3] [UUU]unused devices:tạo filesystem trên thiết bị RAID vừa tạomkfs.ext3 /dev/md0mke2fs 1.39 (29-May-2008)Filesystem label=OS type: LinuxBlock size=1024 (log=0)Fragment size=1024 (log=0)36144 inodes, 144192 blocks7209 blocks (5.00%) reserved for the super userFirst data block=1 Maximum filesystem blocks=6737100818 block groups8192 blocks per group, 8192 fragments per group2008 inodes per groupSuperblock backups stored on blocks:8193, 24577, 40961, 57345, 73729Writing inode tables: doneCreating journal (4096 blocks): doneWriting superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 33 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.tạo file configuration cho thiết bị RAID vừa tạomdadm --detail --scan --verbose > /etc/mdadm.confđến đây bạn có thể mount thiết bị RAID vừa tạo vào một thư mục nào đó để sử dụng hoặc đặt tự động mount trong /etc/fstab mỗi khi hệ thống boot.Theo Vnexperts Research Department. . 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. ổ đĩ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

Ngày đăng: 18/09/2012, 14:04

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan