thb7
1 Copper

ScaleIO scini.ko kernel version mismatch

Hi,

I'm trying to install a 3 node converged test cluster on Ubuntu 14.04. However, we seem to run into a kernel version mismatch:

     Verifying scini.ko against current system kernel.

     Module kernel version: 4.4.0-36-generic

     Running kernel version: 4.4.0-47-generic

     Current scini.ko seems to be incompatible with your kernel.

That was after running "apt-get install --install-recommends linux-generic-lts-xenial"; before that we had a kernel version mismatch against a 4.2.0-x kernel.

Is there a way that we could get a working download for current kernel security releases? And please don't suggest we go the Red Hat route, because we're evaluating wether ScaleIO fits into our infrastructure, and on the other way around.

Regards,

Thomas

Tags (1)
0 Kudos
6 Replies
RHasleton1
2 Bronze

Re: ScaleIO scini.ko kernel version mismatch

Hi Thomas,

Try using this location to get your specific SDC kernel modules:

ftp://QNzgdxXix:Aw3wFAwAq3@ftp.emc.comAw3wFAwAq3@ftp.emc.com

This is available in the Deployment Guides, and you can also set up the driver_sync.sh to automatically download the version you are looking for. Instructions can be found in the same deployment guide.

2.0.1.1 Documentation Set

Let us know if that helps. Thanks!

0 Kudos
osaddict
2 Iron

Re: ScaleIO scini.ko kernel version mismatch

Let me add some more details here. The SDC (Client driver), when is starts does the kerne check. If it doesn't match, it tries to go out to ftp.emc.com and grab a matching version. If direct internet access is not possible, you can setup an internal mirror with the driver_sync.sh script and then point your SDCs to that internal mirror.

More details are in the deployment guide included in the download.

The version you are looking for does existing in the FTP repo.

Thank you,

Jason

0 Kudos
thb7
1 Copper

Re: ScaleIO scini.ko kernel version mismatch

Thank you RickH, osaddict,

I was able to download a scinit.ko module built for my kernel version. It did not work automatically as part of the init script because the ftp site details hadn't been configured.

The module now loads, but now there's something else wrong:

# dmesg

[ 5503.385135] ScaleIO R2_0 drvMain_Init:61 :Driver starting load process. HZ 250...

[ 5503.385135]

[ 5503.385146] ScaleIO R2_0 mosCpu_Init:80 :eax=00000000, ebx=00000000, ecx=00000000, edx=00000000

[ 5503.385257] ScaleIO R2_0 mosT10Dif_Init:705 :(T10DIF) T10DIF layer using CPU (PCLMUL) acceleration !!!

[ 5503.385612] ScaleIO R2_0 drvMain_Init:63 :Load process done. Status SUCCESS

[ 5503.385612]

[ 5503.397099] ScaleIO R2_0 ioctl_HandleSetIniGuid:635 :Set GUID (43073F0F-8490-4085-BBBF-BA6D249A56D8) finished . status 65 (SUCCESS)

[ 5503.397099]

[ 5503.397173] ScaleIO R2_0 mapMdm_Create:1409 :Error: Requested to add MDM with illegal number of IPs (0)

[ 5503.397173]

[ 5503.397179] ScaleIO R2_0 ioctl_HandleAddMdm:460 :Create finish for MDM. First IP 192.168.85.87.Number of IP addresses 0. Status 435 (INVALID_ARG)

[ 5503.397179]

[ 5503.405842] ScaleIO R2_0 drvMain_Destroy:100 :Driver starting unload process...

[ 5503.405842]

[ 5503.406126] DIAGNOSTIC COUNTERS

[ 5503.406126]

[ 5503.406131]

[ 5503.406134] Component::  Counter                          ::  Value               :: ExtData               :: Last Counted(Ms)   

[ 5503.406134]

[ 5503.406288] ScaleIO R2_0 drvMain_Destroy:102 :Unload process done.

[ 5503.406288]

# /etc/init.d/scini start

###############################################################################

Verifying scini.ko against current system kernel.

Module kernel version: 4.4.0-47-generic

Running kernel version: 4.4.0-47-generic

scini.ko is up to date.

###############################################################################

Success loading module /bin/emc/scaleio/scini.ko

Found device special file /dev/scini

Loading MDMs from configuration file /bin/emc/scaleio/drv_cfg.txt

Successfully set GUID 43073F0F-8490-4085-BBBF-BA6D249A56D8

Failed to execute ADD_MDM: Invalid argument

Error (1) loading config file /bin/emc/scaleio/drv_cfg.txt

Success unloading module

*

# cat /bin/emc/scaleio/drv_cfg.txt

#Configuration file for the kernel module.

# One line stating the client GUID.

#ini_guid d9b8a46d-4abd-4ec9-abb2-7bd74f6b0ebe

# Additional line for MDM (Meta-data servers)

#mdm 10.20.30.40

ini_guid 43073f0f-8490-4085-bbbf-ba6d249a56d8

mdm 192.168.85.87,192.168.85.8

192.168.85.87 and 192.168.85.8 are my primary and standby mdms.

Any ideas?

0 Kudos
c0redump
1 Nickel

Re: Re: ScaleIO scini.ko kernel version mismatch

Hello Thomas,

you could try this procedure:

1) make sure that the scini is stopped running the command:

/etc/init.d/scini stop

2) backup your current /bin/emc/scaleio/drv_cfg.txt file

3) remove the file /bin/emc/scaleio/drv_cfg.txt executing the command:

rm /bin/emc/scaleio/drv_cfg.txt

4) create an empty /bin/emc/scaleio/drv_cfg.txt file executing the command:

touch /bin/emc/scaleio/drv_cfg.txt

5) run the scini daemon executing the command:

/etc/init.d/scini start

6) At this point the scini kernel module will be loaded without configuration. Your have to configure it adding the initiator GUID executing the command (this command add the GUID at runtime and updates the configuration file):

/opt/emc/scaleio/sdc/bin/drv_cfg --set_guid --file /bin/emc/scaleio/drv_cfg.txt

7) Configure the MDMs used by the scini module executing the command (this command add the MDMs at runtime and updates the configuration file):

/opt/emc/scaleio/sdc/bin/drv_cfg --add_mdm --ip "192.168.85.87,192.168.85.8" --file /bin/emc/scaleio/drv_cfg.txt

😎 Now without reloading the scini daemon double check if the module was configured correctly running the commands:

/bin/emc/scaleio/drv_cfg --query_guid

/bin/emc/scaleio/drv_cfg --query_mdms

Check also the content of the /bin/emc/scaleio/drv_cfg.txt executing:

cat /bin/emc/scaleio/drv_cfg.txt

9) Now the SDC should be configured are fully working but check that restarting the daemon the module will be loaded successfully executing:

/etc/init.d/scini restart


Please let me know if this procedure fix your specific issue.


Kind Regards,

Davide


thb7
1 Copper

Re: Re: ScaleIO scini.ko kernel version mismatch

Hello Davide,

Summary: Solved, wetware problem, documentation could be improved, though.

So I set out an tried your suggestions, and ran afoul of the "ADD_MDM" problem again:

# /opt/emc/scaleio/sdc/bin/drv_cfg --add_mdm --ip "192.168.85.87,192.168.85.8" --file /bin/emc/scaleio/drv_cfg.txt

Updating file /bin/emc/scaleio/drv_cfg.txt with MDM (192.168.85.87,192.168.85.8)

Calling kernel module to connect to MDM (192.168.85.87,192.168.85.8)

Failed to execute ADD_MDM: Invalid argument

Setting the GUID did work, though:

# /bin/emc/scaleio/drv_cfg --query_guid

E3C17971-008A-4E09-B29B-EE572F8FF9E1

I then had the bright idea to check the guid on the other nodes and it didn't match 😞 Apparently there was some cruft left over from a previous effort to install the system, so I went ahead and wiped my test machines and did another fresh install.

After the installation, I had problems with the scini.ko kernel module version again ;-(

I did check and I can say that ScaleIO_v2.0_Linux_Windows_Quick_Start_Guide.pdf doesn't have instructions on modifying /bin/emc/scaleio/scini_sync/driver_sync.conf. I would have expected a quick start guide to include all of the pertinent information to get to a working system 😉

To summarize my changes to that file:

repo_address = ftp://ftp.emc.com/

repo_user = QNzgdxXix

repo_password = Aw3wFAwAq3

module_sigcheck = 0

Disabling the signature check hurt, but I could not find a suitable PGP public key with key-id D3B04FFEFF8E3367 to put into emc_key.pub.

After that change, /etc/init.d/scini restart did work and I was able to map my first volume onto a SDC. Now unto the tweaking and testing!

Thank y'all for your help in getting this to work.

Cordially,

Thomas

0 Kudos
c0redump
1 Nickel

Re: ScaleIO scini.ko kernel version mismatch

Hi Thomas,

if you need informations regarding the driver_sync.conf you can find them in the Deployment Guide you can find included in the ScalIO distribution. At Chapter 3 there is a section called "Deploying on Ubuntu, OEL, or CoreOS servers", then the subsection "Creating the configuration file manually" includes the instructions. I had some problem about this topic too when I started to work with ScaleIO.

I think that you will always have different GUID in the SDC configuration file because I think it is the initiator GUID. That identifies the different initiators.

Anyway my driver_sync.conf is configured exactly as yours and works perfectly.

Kind regards,

Davide

0 Kudos