DB2 LXC Multiarch and ZFS Impediments

quartzeye

Member
Nov 29, 2019
10
0
6
64
I am in a bit of a pickle. I am attempting to install DB2 Enterprise Server into an LXC container and not having much success. I have tried both CentOs and Ubuntu containers.

With CentOs I can get it installed and running and can even create a database, however when I attempt to connect to a database, DB2 crashes in what apears to be an error related to a loopback connection to the data store. I suspect this may be related to ZFS as I suspect that DB2 doesn't play well with it. I plan to attempt to recreate the container using a disk on shared storage vs the host zfs pool to see if I can get past it. Is there a way to force a container to use a specific file system, ect4, xfs, etc.?

https://www.ibm.com/support/pages/w...nt-down-suddenly-without-any-diagnostic-dumps

With Ubuntu, I cannot get past the install as the requirement for 32-bit libs cannot be satisfied. When I try to add in the 32 bit repos using, "dpkg --add-architecture i386" I get an error in the container. Do I need to add the 32 bit libs on the host first? Is that even possible with Proxmox? Shouldn't I be able to pull into the container any lib I need and isolate it to the container instance, should it not be on the host?

So to keep it simple, as I need LXC container instead of VM's for the required use case, has anyone had experience in getting something like DB2 with mandated 32 bit dependencies installed properly into an LXC container? Preferably on a host running a ZFS pool. Same for WebSphere as that is the next hurdle to clear after DB2.
 
Could you provide any insight on how you managed to get the 32 bit libs into the 64 bit lxc container? Also, what is your underlying storage structure that the container is on, ext4, glusterfs, ceph, xfs, zfs, etc? Iam a bit concernerd that I might need to reconfigure to use ceph for the cluster however the only thing preventing me from doing that is that proxmox doesn't supprt erasure coded ceph pools AND my Dell R820 doesn't support s pure HBA. This force me to set up each disk as a raid0 array then manually create the ZFS pool at the OS level.
 
Could you provide any insight on how you managed to get the 32 bit libs into the 64 bit lxc container? Also, what is your underlying storage structure that the container is on, ext4, glusterfs, ceph, xfs, zfs, etc?

In RHEL-based distributions, you can just install it with yum, on Debian-based ones with its multi-arch support.

Also, what is your underlying storage structure that the container is on, ext4, glusterfs, ceph, xfs, zfs, etc?

Normally, LX(C) containers abstract the filesystem away, you just have a file storage that hopefully understand all commands you'll send to it. This was not the case for ZFS in previous ZFS versions: missing O_DIRECT, which is supported now.

Iam a bit concernerd that I might need to reconfigure to use ceph for the cluster[..] manually create the ZFS pool at the OS level.

ZFS and cluster? It cannot be a HA cluster if you use local storage, for HA you will need a shared storage (e.g. CEPH, glusterfs as distributed shared storage, or NFS/FC/iSCSI SAN as dedicated shared storage).
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!