From: Ken-ichi M. <k-m...@pd...> - 2002-06-04 01:04:51
|
Hi, Tony san On Fri, 31 May 2002 07:43:38 -0400 "Tony Dziedzic" <Ton...@st...> wrote: >Hello Ken-ichi san: > >I've scanned the specification provided in your e-mail, and it appears that no provision has been made for high-availability configurations that use the Linux "mddriver". Our high-availability ECDN servers typically use paired system disks in a RAID 1 (mirrored) configuration. For example, our swap partition is created on /dev/md7, which is in turn comprised of /dev/hda7 and /dev/hdc7. The drives are always split across two controllers to minimize single points of failure. > About the setting for MD driver: Please write the name of Chip driver (Low Level driver, ide0, aic7xxx, and so on). So in your case(hda7, hdc7), hda7 is in ide0, hdc7 is in ide1, so write the converting file as follows. ------ /etc/sysconfig/dump_dedicated_devices --------------------------------- # # The table translate major number for dump dedicated devices to their names. # #Major number of dump device(decimal notation) # | Minor number of dump device(decimal notation) # | | Directory name of /proc/sys/dump_dedicated/xxx0/ # | | | #xx xx xxx0, xxx1 # # 9 7 ide0, ide1 # ------------------------------------------------------------------------------- >The 2.4.17 patch for LKCD handles /dev/dump => /dev/md7 very well; the dump I/O code in dump_base.c dispatches to mddriver, where parallel I/O requests are sent to each of the mirror set members. (It is necessary to let mddriver perform the writes so both halves of the mirror set stay in sync, since there is no guarantee which member would be chosen for a read operation when lcrash copies the dump.) > >Could you clarify how this would fit into the mechanism that you've designed? Our method can sent pararel I/O requests. Our I/O request routine is as almost same as LKCD I/O request routine. (The only diffence is to wait for the interruption and to calling the interrupt handler directly.) And we poll the I/O completion check in the upper layer than md layer. So we don't touch the md layer, and leave the md layer as it is. The md layer processes the followings. (1) md driver makes buffer_head structures for its own from a buffer_head structure of dump driver. (In the above case, make 2 buffer_head per 1 buffer_head) (2) By using the made buffer_head, md driver requests I/O to the chip driver. (3) md driver processes I/O completion routine in interruption routine, and hands back the buffer_head to dump driver. >Thanks, >Tony Dziedzic >Storigen Systems, Inc. > best regards, ================================================================== Kenichi Matsuoka 2nd Engineering Department k-m...@pd... Servers Software Division Platform Development Operations Unit Tel +81 78-991-5578 NEC System Technologies, Ltd. FAX +81 78-992-5080 ================================================================== |