Implementation of Informix on 3 hdd
Posted in 2012
A user asked how to lay out Informix 11.50 across three disks (OS+logs mirrored on two, data unmirrored on the third) for performance plus crash resilience, and whether Informix/RAID mirror writes are truly synchronous. Respondents said the plan is wrong: unmirrored data isn't safe, and his split makes all three disks busy on each write. Advice was to add a fourth drive (even external) and mirror data separately, or otherwise put OS, logs and all data chunks on the RAID1 pair and only temp dbspaces/PSORT_DBTEMP and non-critical filesystems on the lone disk, plus consider HDR/RSS for real redundancy. Art explained mirror writes are issued simultaneously but not spindle-synchronous. The suggested RAM disk as mirror partner was rejected as dangerous.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Performance & Tuning, Logging & Checkpoints
Hi guys, I'm looking for your view about a physical implementation of Informix. I want to implement Informix 11.50 on 3 hdd for a better performances , but my aim is also to have a crashproof system with solid performances. The goal is to maintain the instance working even if a hdd crash (physically) without any looses. hdd1 (OS) : System RAID hdd2 (OS) : System RAID logical logs + mirroring hdd3 (datas) : dbs_data For doing this i will mount 2 hdd for OS in RAID, so if one of both crash we can directly change it on the fly. If the dbs_data hdd crash then the mirror can be use even if the performance will be poor because everything is on the same hdd. Is this a clean infrastructure ? The bonus question is the documentation the mirroring is describe a one request and 2 simultaneous write on both disks but is this a full synchronous mecanism.
If it were me and I was forced to use 3 drives on a single server like this, I would probably: HD1/HD2 - Raid 1 mirror with OS, Informix logs and data HD3 - temp dbspaces, a file system for PSORT_DBTEMP and other non critical file systems space. In your setup, you have the llogs and mirrored dbspaces on HD1/HD2 and the primary dbspaces on HD3 in an attempt to balance the I/O, but I think this has the opposite effect of what you want. When you write data you'll be writing to the llogs on HD1/HD2, the primary dbspaces on HD3 and the mirrored spaces on HD1/HD2 so basically you're not really balancing the IO since a write causes all 3 HDs to be used. I could be wrong tho, I don't have much experience with Informix mirroring so maybe Art will come in here and say your way is better. For me, the performance gain would have to be significant to do it your way since I'd be giving up the ability to recover from a data dbspace HD failure by replacing the failed HD behind the scenes. If I could add a 4th drive, I would puts OS and logs on one RAID 1 pair and Data on another RAID 1 pair and if I could add a HDR Secondary server I would.
Marc: I would agree with Andrew on most points: - Try to get a fourth drive to mirror your #3 drive for safety. - If your data is not on a mirrored drive it is not safe, even if the logs are on mirrored drives. - If you do mirror #3, then your plan should be: 1. Place OS, database logical and physical logs on the mirror formed from drives #1 & #2 2. Place data on the mirror formed from drives #3 & #4 - If you do not mirror #3, then follow Andrew's plan: 1. Place important OS filesystems (like root and boot) on the mirrored pair (#1 & #2) along with all database chunks except temp dbspaces 2. Place temp dbspaces and non-critical filesystems on drive #3 To answer your question about mirroring, the mirror writes in a RAID1 or RAID10 configuration are simultaneous but not synchronous. In the old days mirrored drives were spindle locked. They connected to each other so that their spindles spun at the identical speed with the same sector on each drive under the read-write heads at the same time by sharing a timing pulse so that writes were purely synchronous. That is no longer done for many reasons. One of the most important of those is that without the synchronization, the firmware or software can read different sectors from each drive in the mirror in parallel effectively doubling the read throughput from the pair for short periods of time. This means that even though the two writes are issued to the controller simultaneously, the physical writes to the two drives many not happen at the same instant because of the different head positions and platter rotational positions. Art Art S. Kagel Advanced DataTools (www.advancedatatools.com) Blog: http://informix-myview.blogspot.com/ Disclaimer: Please keep in mind that my own opinions are my own opinions and do not reflect on my employer, Advanced DataTools, the IIUG, nor any other organization with which I am associated either explicitly, implicitly, or by inference. Neither do those opinions reflect those of other individuals affiliated with any entity with which I am affiliated nor those of the entities themselves. On Mon, Oct 29, 2012 at 11:27 AM, MARC SAETTEL <m.saettel@greenivory.com>wrote: > Hi guys, > > I'm looking for your view about a physical implementation of Informix. > > I want to implement Informix 11.50 on 3 hdd for a better performances , > but my > aim is also to have a crashproof system with solid performances. > The goal is to maintain the instance working even if a hdd crash > (physically) > without any looses. > > hdd1 (OS) : System RAID > hdd2 (OS) : System RAID logical logs + mirroring > hdd3 (datas) : dbs_data > > For doing this i will mount 2 hdd for OS in RAID, so if one of both crash > we > can directly change it on the fly. > If the dbs_data hdd crash then the mirror can be use even if the > performance > will be poor because everything is on the same hdd. > > Is this a clean infrastructure ? > > The bonus question is the documentation the mirroring is describe a one > request and 2 simultaneous write on both disks but is this a full > synchronous > mecanism. > > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. > > --e89a8f3ba783e806f704cd34ee2a
Does the HW raid not suppor extended RAID10 - if it does then you could raid all three drives Cheers Paul -----Original Message----- From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of Art Kagel Sent: Monday, October 29, 2012 11:12 AM To: ids@iiug.org Subject: Re: Implementation of Informix on 3 hdd [28664] Marc: I would agree with Andrew on most points: - Try to get a fourth drive to mirror your #3 drive for safety. - If your data is not on a mirrored drive it is not safe, even if the logs are on mirrored drives. - If you do mirror #3, then your plan should be: 1. Place OS, database logical and physical logs on the mirror formed from drives #1 & #2 2. Place data on the mirror formed from drives #3 & #4 - If you do not mirror #3, then follow Andrew's plan: 1. Place important OS filesystems (like root and boot) on the mirrored pair (#1 & #2) along with all database chunks except temp dbspaces 2. Place temp dbspaces and non-critical filesystems on drive #3 To answer your question about mirroring, the mirror writes in a RAID1 or RAID10 configuration are simultaneous but not synchronous. In the old days mirrored drives were spindle locked. They connected to each other so that their spindles spun at the identical speed with the same sector on each drive under the read-write heads at the same time by sharing a timing pulse so that writes were purely synchronous. That is no longer done for many reasons. One of the most important of those is that without the synchronization, the firmware or software can read different sectors from each drive in the mirror in parallel effectively doubling the read throughput from the pair for short periods of time. This means that even though the two writes are issued to the controller simultaneously, the physical writes to the two drives many not happen at the same instant because of the different head positions and platter rotational positions. Art Art S. Kagel Advanced DataTools (www.advancedatatools.com) Blog: http://informix-myview.blogspot.com/ Disclaimer: Please keep in mind that my own opinions are my own opinions and do not reflect on my employer, Advanced DataTools, the IIUG, nor any other organization with which I am associated either explicitly, implicitly, or by inference. Neither do those opinions reflect those of other individuals affiliated with any entity with which I am affiliated nor those of the entities themselves. On Mon, Oct 29, 2012 at 11:27 AM, MARC SAETTEL <m.saettel@greenivory.com>wrote: > Hi guys, > > I'm looking for your view about a physical implementation of Informix. > > I want to implement Informix 11.50 on 3 hdd for a better performances , > but my > aim is also to have a crashproof system with solid performances. > The goal is to maintain the instance working even if a hdd crash > (physically) > without any looses. > > hdd1 (OS) : System RAID > hdd2 (OS) : System RAID logical logs + mirroring > hdd3 (datas) : dbs_data > > For doing this i will mount 2 hdd for OS in RAID, so if one of both crash > we > can directly change it on the fly. > If the dbs_data hdd crash then the mirror can be use even if the > performance > will be poor because everything is on the same hdd. > > Is this a clean infrastructure ? > > The bonus question is the documentation the mirroring is describe a one > request and 2 simultaneous write on both disks but is this a full > synchronous > mecanism. > > > > **************************************************************************** *** > Forum Note: Use "Reply" to post a response in the discussion forum. > > --e89a8f3ba783e806f704cd34ee2a **************************************************************************** *** Forum Note: Use "Reply" to post a response in the discussion forum.
Thanks for your accurate answers especially for the historical reminder about mirroring. Unfortunaly the server that i look have only 3 disk and is not expandable. So if i follow your minds, the 4th hard drive is the final piece for aiming the crashproof server, but nowadays with the big amount of RAM in server is it possible the make this 4th disk as a RamDisk ? I think about other filesystem too like sshfs witch is robust even if i read that Informix just manage local file systems. If this case can work, i assume that this 'virtual disk' have to carry the less important part witch can be a mirror part, and it may need to have specific script to manage the case of loosing this 4th disk. Is that a acceptable solution at your eyes ?
I'm not even sure if you can make a RAID1 Pair with a physical HDD and a RamDisk. Even if you could, I wouldn't classify this as crash proof, more like a recipe for disaster. Consider this scenario, HDD fails and you replace it and RAID1 starts to rebuild based on mirror in the RamDisk and then you have a power outage, or lose a power supply or someone does a shutdown before the RAID1 can be restored, aren't you totally hosed now? I don't think there is a server that is 100% crash proof (sure the disks are redundant, but are your power supplies, your NICs, etc. What if someone just makes a mistake and shuts down the wrong server, it happens), but you can make your architecture fully redundant by implementing an HDR Secondary server which is easy to do and requires very little administration. You can even take this a step further and have a 3rd RSS node in a different geographical location in case the data center that holds your Primary and Secondary instances is hit by a natural disaster and 99.99999% uptime is your goal. I think in your situation, you are best off doing what I said earlier. Put your critical OS filesystems, your Informix logs and Informix data on the RAID1 pair and put your temp dbspaces, filesystems for PSORT_DBTEMP and non critical OS filesystems on the stand alone drive. When the stand alone drive fails the engine will be crippled (no temp space until the problem is fixed) but it will stay online and none of your data will be lost. Also be sure to take regular backups and continuously backup the logs in case you need to recover from a total system failure, blah, blah, blah...
Grt an external drive cabinet for the fourth drive. Or best, add two external drives and mirror an external drive to an internal one to get power redundancy. Put all critical files and chunks on the mirrors and trivial filesystems and temp spaces on the singleton drive. Art On Oct 30, 2012 4:20 AM, "MARC SAETTEL" <m.saettel@greenivory.com> wrote: > Thanks for your accurate answers especially for the historical reminder > about > mirroring. > Unfortunaly the server that i look have only 3 disk and is not expandable. > > So if i follow your minds, the 4th hard drive is the final piece for aiming > the crashproof server, but nowadays with the big amount of RAM in server > is it > possible the make this 4th disk as a RamDisk ? > I think about other filesystem too like sshfs witch is robust even if i > read > that Informix just manage local file systems. > > If this case can work, i assume that this 'virtual disk' have to carry the > less important part witch can be a mirror part, and it may need to have > specific script to manage the case of loosing this 4th disk. > > Is that a acceptable solution at your eyes ? > > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. > > --90e6ba6147747bf3a904cd4c266a