Lustre Client on Linux Kernel 4+ - lustre

Does anyone know if it is possible to install lustre client software on a linux machine that has kernel 4+? From what I have experimented so far, all the working examples are on kernel 3.10. And if I try to install kmod-luster-client on 4+ machine, it fails with:
rpm -ivh kmod-lustre-client-2.10.5-1.el7.x86_64.rpm
error: Failed dependencies:
kernel < 3.10.0-863 is needed by kmod-lustre-client-2.10.5-1.el7.x86_64
kernel(PDE_DATA) = 0x44f0d59d is needed by kmod-lustre-client-2.10.5-1.el7.x86_64

According to lustre/ChangeLog in the b2_10 branch, it works with kernels at least 4.4.133-94.33 (SLES12SP3) and 4.4.0-131 (Ubuntu 16.04).
If you are using a newer kernel, you also need to use a newer version of Lustre. The lustre/ChangeLog on the tip of master (almost 2.12 release) reports support for kernels 4.15.0-32 (Ubuntu 18.04).
It looks like you are trying to install a binary kernel module RPM built for the RHEL7 kernel on a non-RHEL kernel. That is never going to work. You need to either get the right RPMs/Debs for your kernel from https://lustre.org/download/ or download the source and rebuild it for your kernel.
The 2.10.x kernels are currently the LTS maintained releases (bugfixes backported to that release), while 2.11.0 is a feature release that does not have bugfixes backported.

Related

How to rebuild Lustre Properly for MOFED

I've been struggling lately in how to get o2ib to function properly with a particular MOFED version. What I've tried so far is to install the Lustre kernel, rebuild MOFED for that Lustre kernel (which appears to be working) and then observe that ib0 is listed upon a reboot, and install the generic Lustre kmod-lustre kmod-lustre-osd-ldiskfs lustre-osd-ldiskfs-mount lustre lustre-resource-agents. However just because ib0 is there, does not mean that o2ib presents itself in Lustre. Even running "lnetctl net add --net o2ib --if ib0" gives nothing but errors that the interface cannot be found.
I have tried rebuilding Lustre serveral times to try and get the o2ib interface, but to no avail. The rpms are built, but when I install them the situation is no better. My process is as follows (for Lustre 2.12):
git clone git://git.whamcloud.com/fs/lustre-release.git
cd lustre-release
git checkout 2.12.0
sh autogen.sh
./configure --with-o2ib=/usr/src/ofa_kernel/default/
make rpms
Would anyone have any suggestons?
Thanks!
Actually you should do the other way around: you should compile Lustre to properly use your MOFED and your kernel. This is the order of dependencies:
Your kernel (e.g: 3.10.0-1127.8.2.el7.x86_64)
Your MOFED has to be compiled for your kernel. If your kernel is one of the ones available from Mellanox you just need to install the rpms or let the MOFED installer do it for you:
# ./mlnxofedinstall
If you're using a different kernel you need to recompile MOFED (you need to install kernel-devel for this) with support for your kernel:
# ./mlnxofedinstall --add-kernel-support
Last, you'll have to rebuild Lustre against your kernel (kernel-devel) AND your MOFED (mlnx-ofa_kernel-devel):
# ./configure --with-linux=/usr/src/kernels/3.10.0-1127.8.2.el7.x86_64/ --with-o2ib=/usr/src/ofa_kernel/default/
Now your MOFED is ready to run on top of your kernel and your Lustre RPMs are ready to run on top of your kernel and the o2ib driver will use the symbols compiled for your MOFED.

IBM Blockchain platform cannot rebuild native dependencies

I trying to get the IBM Blockchain platform to work in Visual studio code (on Linux), but it keeps coming back with:
Could not rebuild native dependencies Failed to execute command "npm" with arguments
"rebuild, grpc, --target=6.1.5, --runtime=electron, --update-binary, --fallback-to-build, --
target_arch=x64, --dist-url=https://atom.io/download/electron" return code 1. Please ensure
that you have node and npm installed
I have node and npm installed
node -v
v10.17.0
and
npm -v
6.11.3
satisfying the constraints. I have visual studio code version 1.41.1. What could be thie issue?
The problem you are experiencing is described in this issue https://github.com/IBM-Blockchain/blockchain-vscode-extension/issues/1621
The issue is that there are no pre-built versions of grpc used by the fabric node sdk for electron 6 currently and due to changes in newer versions of gcc the grpc node module fails to compile when it falls back to using source because of no pre-built versions
The easiest solution is to downgrade for vscode 1.39 and install the extension.
Alternative options are to install gcc version 7 and make that the default in your linux environment or you could install a version of linux that has gcc version 7 as the default for example ubuntu 18.04 (which would allow grpc to compile from source)

Error: No module named 'PyQt5.sip' - When installing eric6-19.03

I have noticed a number of similar questions on stackoverflow, but none that really helped me with my current challenge. I have been attempting to install eric6 on my Raspberry Pi setup. And then I encountered the following messages:
Checking dependencies
Python Version: 3.6.8
PyQt5 could not be detected.
Error: No module named 'PyQt5.sip'
Shall 'PyQt5' be installed using pip? (Y/n) Y
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: PyQt5 in /usr/local/lib/python3.6/site-packages (5.12)
Sorry, please install PyQt5.
Error: No module named 'PyQt5.sip'
And when I attempt to use the pip list to look at what has been installed (as I previously already managed to make and install the PyQt5 from source code):
Package Version
---------- -------
pip 19.0.3
PyQt5 5.12
setuptools 40.6.2
sip 4.19.14
So, how do I overcome the issue that I am currently facing? By the way, I am using the following command when attempting to install eric6:
python3 install.py
Thought you might need to know that if it helps.
Python 3.6 isn't available in any Raspbian distribution, so I assume you installed this yourself. You can't install an out-of-distribution Python version and expect distribution Python packages to work. You have PyQt5 installed, yes, but it's the version of PyQt built for Python 3.5 (I'm assuming you're on Raspbian Stretch).
Sometimes you can install Python libraries with pip, and in theory that could work to install the correct version of PyQt for your version of Python, but PyQt only provides wheels for x86 on PyPI, not for Arm, so PyQt is not pip installable on the Pi. The only way to get PyQt on Raspberry Pi is via apt, where your choices are Jessie (old stable - with Python 3.4), Stretch (current stable - with Python 3.5), and Buster (unstable/testing - with Python 3.7). If there's a need for Python >3.5, your best bet is to try upgrading to Buster, but bear in mind it's not ready for release yet.

Cannot update kernel-devel in CentOS 6.5

First of all I want to note that I am booting CentOS from a flash drive (if it matters).
Now I am trying to install Nvidia drivers for my GPU but the problem is that I must update kernel-devel first. I did the following:
yum update
yum install kernel-devel kernel-headers gcc make
yum -y upgrade kernel kernel-devel
After that I checked which kernel I am using:
uname -r
Which gave me this: 2.6.32-431.el6.x86_64
Then I did: rpm -q kernel-devel , with the following result: kernel-devel-2.6.32-504.el6.x86_64
I tried to upgrade again, but it said "No Packages marked for Update
"
When I tried to install the kernel again, it said that I already have installed the latest version:
Package kernel-devel-2.6.32-504.el6.x86_64 already installed and latest version
Package kernel-headers-2.6.32-504.el6.x86_64 already installed and latest version
Package gcc-4.4.7-11.el6.x86_64 already installed and latest version
Package 1:make-3.81-20.el6.x86_64 already installed and latest version
Nothing to do
I am confused and I don't know how to make the lates kernel active, so I can install my Nvidia drivers.
Usually which kernel to use is selected via grub at boot time. If you have both installed its most likely that grub is still starting the older kernel.
You can look at /etc/grub.conf to make sure "default" is set to what you would expect. Default is 0 keyed off the "Title" entry.
Did you reboot? most of the time the latest kernel is set to default in grub.conf and a reboot is all you need.
Also https://serverfault.com/a/623755 might be the answer.

difference between qemu-kvm?

what is different between the following type i get qemu-kvm ? boths are use centos 6.4.
yum install qemu-kvm ,then show the version:
[root#centos6 qemu-kvm]# /usr/local/bin/qemu-system-x86_64 --version
QEMU emulator version 1.2.50 (qemu-kvm-devel), Copyright (c) 2003-2008 Fabrice Bellard
get the source code and build it by gcc.
[root#centos6 qemu-kvm]# /usr/libexec/qemu-kvm --version
QEMU PC emulator version 0.12.1 (qemu-kvm-0.12.1.2), Copyright (c) 2003-2008 Fabrice Bellard
Qemu uses 2 kinds of cpu virtualization, TCG (tiny code generator) and KVM. TCG emulates all instruction of guest code with plain c code, it translates guest code to host code in real-time. While KVM lets the host directly runs guest code, KVM requires the guest and the host to have the same instruction set (basically, the same cpu), not every cpu can do this, for intel cpus, it requires VMX feature. Which I assume you have understood these.
Qemu-kvm is obsolete, KVM comes with QEMU now if you download the latest code, you just have to compile it with "--enable-kvm" option. Your QEMU source code is very old, the latest version of QEMU is AFAIK, 1.7.
Your yum source provide 1.2.50 version of qemu. Try "yum install qemu", and try running with -enable-kvm if you don't want to build from source code (I haven't tried though)..
Qemu is Hypervisor.
KVM isn't. It is an accelerator(linux module which does the code translation fast) and used with Qemu, because Qemu when used with TCG is slow.