Centos7はバージョン5.4カーネルをインストールします

1.はじめに

同社のサーバーには、10Gネットワ​​ークカードとnvmeが新たにインストールされ、cephクラスターを構築する準備が整いました。しかし、DellR620はそれを心配するのに十分古いです。ここに踏まれた穴を記録します。

2、elrepoのインストール

当初、ネットワークチェックの結果は同じで、elrepoを使用してカーネルを更新しました。しかし、elrepoのltバージョンは4.4にしか達していないため、cephfsのカーネル要件を満たしていません。

mlバージョン5.9.8を試してみてください。その結果、レイドは認識できますが、igbと10Gは認識できません。カーネルのみを変更できます。

elrepoのアップグレード方法を記録する

elrepoソースとGPGキーをインストールします

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum -y install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
yum -y --enablerepo=elrepo-kernel install kernel-ml kernel-ml-devel

Elrepoには、kernel-mlとkernel-ltの2つのバージョンのカーネルが含まれています。

  • kernel-mlはメインラインバージョンであり、最新バージョン(現在は5.9.8)に準拠しています。

  • kernel-ltは長期バージョン、長期サポート、現在4.4.243です。

CephFSでは最小カーネルが4.17である必要があるため、kernel-mlのインストールを選択してください

:ドライバーのインストールの問題に関して、elrepoは関連するパッケージとメソッドも提供しています:http://elrepo.org/tiki/DeviceIDs でも練習してみたらダメだったので、公式サイトで最新のドライバーを探しましょう

3、centosの公式アルターチソース

centos7の公式カーネルバージョンは3.10で、大きなバージョンをどのように更新しても、3.10です。このとき、私はセントのアルターチソースについて考えました。このソースのパッケージは比較的新しいものです。当局はこれを使用して以前の実験を置き換えます。そして、その安定性と互換性は、elrepoよりも優れているはずです。

カーネルをダウンロードしてインストールします

cd ~
wget https://mirrors.tuna.tsinghua.edu.cn/centos-altarch/7/kernel/x86_64/Packages/kernel-5.4.65-200.el7.x86_64.rpm
wget https://mirrors.tuna.tsinghua.edu.cn/centos-altarch/7/kernel/x86_64/Packages/kernel-core-5.4.65-200.el7.x86_64.rpm
wget https://mirrors.tuna.tsinghua.edu.cn/centos-altarch/7/kernel/x86_64/Packages/kernel-devel-5.4.65-200.el7.x86_64.rpm
wget https://mirrors.tuna.tsinghua.edu.cn/centos-altarch/7/kernel/x86_64/Packages/kernel-modules-5.4.65-200.el7.x86_64.rpm
yum install kernel-*

カーネルパッケージ構造の説明

  • カーネル
  • カーネルコアカーネルコア機能
  • kernel-modulesカーネルの基本モジュール(最も一般的に使用されるドライバーはここにあります)

もちろん、yumレポの形で作ることもできます。

altarch.repo

[altarch]
name=CentOS-$releasever - altarch
baseurl=http://mirror.centos.org/altarch/$releasever/kernel/$basearch/
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

カーネルのブートシーケンスを設定します

現在のブートカーネルを表示する

grub2-editenv list

指定したカーネルを選択して開始します

grub2-set-default 0

新しいカーネルをインストールした後、通常は最初に起動する場所に配置されます。上記のコマンドを実行して、最初のカーネルを起動するように設定する必要があります。次のコマンドを使用して、順序を表示できます。

egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'

システムを再起動します

拡張コンテンツ

5のカーネルを交換した後、サーバーのネットワークカード名が変更されます。次の方法で、正しいネットワークカード名を見つけてください。

NICウェイクオン

ウェイクオンを使用して、サーバーのネットワークカードのどのギガビットポートがネットワークケーブルで接続されているかを確認します。電源を入れた後、ethtoolはネットワークカードに速度があるかどうかを確認できます。速度がある場合は、ネットワークケーブルが接続されています。

ネットワークカードがWOLをサポートしているかどうかを確認します

ethtool eth0 

wake-onの値がdの場合、それはwake on lan
無効であることを意味し、値はgであり、これはwake onlanが有効であることを意味します。

次のコマンドを使用して、lanでウェイクを有効にします

ethtool -s eth0 wol g

10Gネットワ​​ークカードはdmesgから見つけることができます

[root@]# grep Up dmesg
[    2.549298] microcode: Microcode Update Driver: v2.2.
[    3.859307] i40e 0000:04:00.1 eth2: NIC Link is Up, 10 Gbps Full Duplex, Flow Control: Non

使用しているネットワークカードドライバを確認してください

ネットワークカードのモデルとドライバーのバージョンを表示できます

lspci -nn|grep Eth
01:00.0 Ethernet controller [0200]: Intel Corporation I350 Gigabit Network Connection [8086:1521] (rev 01)
01:00.1 Ethernet controller [0200]: Intel Corporation I350 Gigabit Network Connection [8086:1521] (rev 01)
01:00.2 Ethernet controller [0200]: Intel Corporation I350 Gigabit Network Connection [8086:1521] (rev 01)
01:00.3 Ethernet controller [0200]: Intel Corporation I350 Gigabit Network Connection [8086:1521] (rev 01)
04:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 02)
04:00.1 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 02)

ドライブパスを表示

このコマンドを使用して、2つのカーネルのレイドがネットワークカードドライバーと一致しているかどうかを比較します

]# lsinitrd -k 5.4.65-200.el7.x86_64|grep igb
-rw-r--r--   1 root     root         3618 Oct 31  2018 usr/lib/kbd/keymaps/xkb/ng-igbo.map.gz
drwxr-xr-x   2 root     root            0 Nov 16 11:41 usr/lib/modules/5.4.65-200.el7.x86_64/kernel/drivers/net/ethernet/intel/igb
-rw-r--r--   1 root     root        94760 Sep 16 22:30 usr/lib/modules/5.4.65-200.el7.x86_64/kernel/drivers/net/ethernet/intel/igb/igb.ko.xz

BBRをオンにする

echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

検証

sysctl net.ipv4.tcp_available_congestion_control
lsmod | grep bbr

出力あり

tcp_bbr                20480  880 

それは成功したことを意味します。

成功しなかった場合はuname -r、カーネルのバージョンを実行して確認します。4.9より大きいと判断された場合は、マシンを再起動して確認します。

おすすめ

転載: blog.51cto.com/foxhound/2551477