所以...全新安装 Sles 12.3、内核 4.4.73-5-default、x64、使用 zypper 从官方 SUSE 存储库安装的 Oracle 支持包...
~:rpm -qa | grep orac
oracleasm-support-2.1.8-1.SLE12.x86_64
oracleasmlib-2.0.12-1.SLE12.x86_64
oracleasm-kmp-default-2.0.8_k4.4.73_5-2.35.x86_64
但我无法 modprobe oracleasm 模块
# modprobe oracleasm
modprobe: ERROR: could not insert 'oracleasm': Unknown symbol in module, or unknown parameter (see dmesg)
当我检查时dmesg
[183106.200221] oracleasm: loading out-of-tree module taints kernel.
[183106.200692] oracleasm: Unknown symbol bio_unmap_user (err 0)
[184399.043815] oracleasm: Unknown symbol bio_unmap_user (err 0)
[184544.509230] oracleasm: Unknown symbol bio_unmap_user (err 0)
[184698.192950] oracleasm: Unknown symbol bio_unmap_user (err 0)
这是在 Sles 12.2 上运行的。
重新安装到 Sles 12.2 还是...?
答案1
简单的解决方案:安装 SLES 12.1。以上版本根本无法与 oracleasm 一起使用
答案2
此问题是由于更新的 SUSE 内核中未导出 bio_unmap_user 内核函数导致的。有 oracleasm 更新可用于修复 SLES12 SP3 上的此问题:oracleasm-kmp-default-2.0.8_k4.4.92_6.18-3.6.1.x86_64.rpm