Largest chunk size < largest extent size?!?
Posted in 1993
We're moving our data to its production platform, which includes a raid5 array to house the data. (In regards to the question here about how well does a raid5 array perform, I'll let you know!) Now following the advice of the online admin manual, which says "make your chunks large" (since you can have only a small number of them), I set up the raid array to be one logical disk as 4Gb (it's 5 x 1.2Gb disks, with 1/5 of it used for parity information). This is brand new, so I'm just initializing the db on there for the first time. I go into tbmonitor, do param/init, enter the size of the raid array (which is 4620858K) and it says (when I try to leave the offset at 0), that this is larger than the max size for a chunk. Tech support says chunks can only be 2^20 pages (1048576), and since our page size is 2k, that's 2Gb for a max size chunk. That is, online uses a 20 bit number for the page# in a chunk. Umm, guys, page 2-102 of the online 5.00 admin guide seems to imply otherwise, saying that the max size of an extent is 16M pages (or 32Gb), and since an extent must be contiguous disk space, it must reside on one chunk, so one chunk, by implication, must be at least this large. Questions: 1) Is this pure horse-puckey or what? What *is* the size of the max chunk (in #pages)? 2) If it's 16M pages, not 1M, then how can I convince tbmonitor to let me have a rootdbs with 4M pages? 3) If it's really 1M pages, why?!?!? Shouldn't it be 16M as the docs imply? Are we being misled here? 4) How does informix allocate space among multiple partitions? That is, I could split the 4.6Gb into two 2Gb (or three 1.5s) but if online is going to try to spread the work evenly among them, that would *decrease* performance, since it would make the heads travel quite a bit more since they're on the same physical units. 5) How would *you* set up a 4.6Gb disk to work with online? (Bear in mind, it will be mostly full of data very soon, so any scheme that relies on it not using it all right now, planning for growth, etc., is pointless). Also bear in mind the raid array can't be partitioned efficiently to use less than the 5 drives, so saying "use one drive for rootdbs and..." won't cut it. 6) We actually have two stripes of these (9Gb total, but with an estimated load of about 7Gb usage), so my plan (unless I get better advice from netlanders) will be to (a) assume there's no way to get a larger chunk; (b) partition the 2 4.6Gb's into smaller units (say, 1.5Gb); (c) fill them one-chunk-from-raid1, one-chunk-from-raid2, raid1, raid2, etc.; (d) Hope informix doesn't try to be too clever trying to get chunks 1,3,5 or 2,4,6 going in parallel. :-( (e) Hope I can fit enough chunks Thoughts? -- Andrew Burt aburt@du.edu "But if he was dying he wouldn't bother to carve "Aaaaargh", he'd just say it."