Date: Thu, 10 Jul 1997 22:46:11 -0700 (PDT) From: Simon Shapiro <Shimon@i-Connect.Net> To: Tom Samplonius <tom@sdf.com> Cc: FreeBSD-Hackers@FreeBSD.ORG Subject: Re: Make World Explodes Message-ID: <XFMail.970710224611.Shimon@i-Connect.Net> In-Reply-To: <Pine.BSF.3.95q.970710214458.25974K-100000@misery.sdf.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Tom Samplonius; On 11-Jul-97 you wrote: ... > /usr/sup database said they were up to date. > Crashes during a cvsup can cause this problem. Here, it is actually /usr/local/etc/cvsup. I thought you were thinking about the archive itself. > > reading and writing to disk. Performance with RAID-5 is a constant > > 8.9MB/Sec writing/reading mix. RAID-0 is closer to 18-20MB/Sec. > > 8.9MB/s for RAID-5? Is this is a controller limitation or a drive > limitation? Could the controller do better with faster drives, or more > channels and drives to spread io over? This is really an algorithm limitation. there are two methods for upating the ``parity'' in a WRITE. One involved reading from evry drive, XORing with the data and writing the data and the XOR back out. this gets progressively worse with size. The better way is to read the old data, XOR with the new, take this bitmask, XOR it with the old parity and write the new result. It still takes a read-XOR-write-compute-read-XOR-write per write operation. Since it involves (exactly) two drives, it is only so fast. This is the cost of trying to beat the cost associated with RAID-1 and obtain READ performance in the process. The solution is to take a group of RAID-5 arrays, treating each as a single ``disk'' and build a RAID-0 array form these. You can do it easily with CCD. IMPORTANT: (I am, again, inviting an argument here, plus ``my system is better that your junk'' comments :-) put as many busses on the DPT as you can (3 is a good number (the maximum too ;-) Then put as few disks on each bus as possible (I say 4-6 with wide-ultra, and doing file system stuff). Let us say you have three busses and 10 disks: Bus 0: 0, 1, 2, 3 Bus 1: 0, 1, 2, 3 Bus 2: 0, 1, 2, 3, 4 If we call Tarket zer on bus 0 0-0 and disk 4 on bus 2 2-4, specify the rais array to dptmgr, in EXACTLY this order: 0-0 1-0 2-0 0-1 1-1 2-1 0-2 1-2 2-2 0-3 1-3 2-3 Designate 2-4 as a Hot Spare. If the drives are 4GB, you will have a 36GB ``disk'' on 0-0 and 2-4 will be invisible to the O/S. Remember! If an array element (say 1-3) fails, 2-4 will not only go into service, but will actually BECOME 1-3 (if in a StorageWorks/DPT cabinet). Now go partition this and see, that for normal Unix installation you have a strange limit: How many partitions does disklabel allow you to have per drive? The rest of this should move to -SCSI ML? Simon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.970710224611.Shimon>