RE: Informix: Informix cooked files filesystem layout
Posted in 2026
Topics: Storage & Space Management, Server Administration, Networking & sqlhosts Configuration, Migration, Import/Export & Data Conversion, Platform-Specific Issues
Hello,
I did the raw disks to cooked files conversion today in UAT environment and i will note the main steps that i followed in case anyone has a similar need:
Before the rollout
1) Since i enabled DIRECT_IO in the end of the procedure it means that the Linux OS filesystem cache will no longer buffer the 2k/16k data blocks. Informix must handle all of it internally so i think it is a good practice to review the values set for SHMTOTAL and BUFFERPOOL in informix onconfig file and make sure you give informix the appropriate resources
2) For my informix version it was already mentioned here by Art and Doug that you need to ensure that the physical LUN logical block size is less than 4k. To do that, you can run the command smartctl -a /dev/XXX on your linux system to find out
3) Another important point that was raised here was the setting for aio counter. You can run sysctl fs.aio-max-nr on your RHEL system to find out the current value maximum aio counter. Then you can compare that value with the used aio counter by running cat /proc/sys/fs/aio-nr. If you think that you need to raise the max value you can do so. In RHEL8 and later you can use a drop-in configuration file in /etc/sysctl.d directory specifying the desired value for fs.aio-max-nr. To reload the system configurations after the change you can use sysctl --system command and confirm that the new value is set. Note that by default, when you bring informix instance up it will automatically lock 50% of the maximum i/o slots. Then, according to the number of CPUs that you defined in VPCLASS onconfig parameter informix will divide equally the i/o slots
Rollout day
1) Assign new disks for the filesystems that will host the cooked files. In the end i decided to assign 2 new disks, 1 for system/admin dbspaces chunks and 1 disk for data dbspace. Make sure that the disks are thick-provisioned
2) Create the 2 filesystems (use xfs filesystem). I think it is nice to set the noatime mount option in /etc/fstab for these filesystems as i think it is appropriate for this occassion
3) You can make a backup of several files and command outputs at this point before starting the conversion (save onconfig and sqlhosts files, ixbar - if available-, onstat -d, onstat -g cfg)
4) When you are ready to begin the migration bring informix instance down
5) Run blockdev command on raw disk to get the exact disk size (eg. blockdev --getsize64 <raw_disk>). Use dd command to copy data from raw disks to the cooked file. (eg. dd if=<raw_disk> of=<cooked_file_fullpath> bs=4M status=progress).
6) After the copy is completed you can run sync and then get the size of cooked file (eg. stat -c %s <cooked_file>). Now you can compare the size between the blockdev output and stat output to make sure that both devices have the same size.
7) Once you make sure that both raw disk and cooked file have same size you can unlink the informix chunk and do a new symbolic link pointing to the cooked file. Set the appropriate permissions on the cooked file (informix:informix, 660).
8) Steps 5-7 need to be executed for each chunk that you want to convert to cooked file. When you finish with all chunks you can modify your onconfig file to set the value for DIRECT_IO to 5.
9) Bring informix instance up. As Doug mentioned before when you run onstat -d at this point you should see the D flag in each chunk.
I think i included the main tasks here, of course if anyone wants to make a correction or add anything else please feel free to do it.
Best Regards,
Stavros
You are subscribed to "Informix" as paul.cdi@oninit.com. To change your subscriptions, go to http://community.ibm.com/community/user/preferences?section=Subscriptions. To unsubscribe from this community discussion, go to [link removed]
Related threads
- IDS 10 table-level restore
- DBPATH & INFORMIXSERVER - HELP
- Informix Development Webinar December 11, 2007
- ontape -p/r with changed ROOTPATH
- Migrate from HP PA-RISC to HP ITANIUM by ontape