环境:
X86_64 Centos6.5 内核:2.6.32-431.el6.x86_64
存储映射给主机多块硬盘,通过LVM进行卷管理;
Informix 12.10FC8
安装过程:
1、数据库安装 ./ids_install 一切正常,不用描述;
2、touch rootchk ; chown informix.informx rootchk;chmod 660 rootchk ;
3、初始化数据库oninit -ivy一切正常;
卷管理的操作:
1、创建PV pvcreate /dev/mapper/mpathg
2、创建VG vgcreate wg2019 /dev/mapper/mpathg
vgextend wg2019 /dev/mapper/mpathh
3、创建LV lvcreate -L 500M -n rootchk wg2019
4、创建裸设备 raw /dev/raw/raw1 /dev/wg2019/rootchk
chown informix.informx /dev/raw/raw1
5、创建软连接 ln -s /dev/raw/raw1 /opt/informix/chunks/rootchk
6、初始化数据库报错如下:
百思不得其解,为什么不能启用KAIO。后来百度发现,原来是这个操作系统内核的问题;我之前在REDHAT 6.5 也是同样内核版本的OS上启用过KAIO是可以成功的。
7、export KAIOOFF=1 数据库可以初始化成功
测试2:
1、更换不同版本的数据库,均发现不能启用KAIO;
2、重新安装OS的代价太大了,不可接受,另外一个主要原因是无法量化和评估KAIO和AIO的性能差异;
测试3:
既然/dev/raw不可用,那么直接用/dev/wg2019/rootchk 是否可以呢?
#ls -l /dev/wg2019/rootchk
#lrwxrwxrwx .......................... /dev/wg2019/rootchk -> /dev/dm-16
$ln -l /dev/wg2019/rootchk /opt/informix/chunks/rootchk
#chown informix.informix /dev/dm-16
居然初始化失败。。。。。。。。这个是我到现在也无法理解的;
测试4:
1、仍然使用raw创建raw设备
2、修改raw设备的权限和属主
3、ln -s /dev/raw/raw1 /opt/informix/chunks/root
4、export KAIOOFF=1
5、数据库可以初始化成功
疑问:
1、/dev/raw/raw1 这样的字符设备和 /dev/dm-16 这样的块设备在数据库的使用上到底有什么区别呢?
2、为什么要使用不能/dev/dm-16把他修改属主和权限之后,数据库正常使用;
3、在ids*machine*.txt明确提出了对操作系统内核和相关关键包的安装,为什么我使用的操作系统都满足,但是在使用KAIO的时候却无法初始化?