すべてのプロダクト
Search
ドキュメントセンター

:Alibaba Cloud Linux 3とCentOS 7の違い

最終更新日:Jul 10, 2024

CentOS 7がEOL (EOL) に達したため、CentOS 7をAlibaba Cloud Linux 3に移行できます。 このトピックでは、Alibaba Cloud Linux 3とCentOS 7の違いについて説明します。

説明

カーネルとコアのツールチェーンの違い

コンポーネント

CentOS 7 x86

Alibaba Cloud Linux 3 x86

Alibaba Cloud Linux 3 Arm64

説明

gcc

4.8.5_44.el7

10.2.1_3.8.al8

10.2.1-3.5.al8

CentOS 7をAlibaba Cloud Linux 3に移行した後、アプリケーションを再コンパイルして、Alibaba Cloud Linux 3で使用されるダイナミックリンクライブラリ (DLL) に適合させ、DLLファイルの識別に失敗しないようにする必要があります。

glibc

2.17_326.el7_9

2.32_1.16.al8

2.32-1.12.al8

カーネル

3.10.0-1160.114.2.el7

5.10.134-16.1.al8

カーネルの違いの詳細については、このトピックの「カーネルの違い」をご参照ください。

binutils

2.27_44.base.el7_9.1

2.35_12.2.al8

なし。

systemd

219_78.el7_9.9

239_74.0.3.al8

なし。

grub2

2.02_0.87.0.2.el7.centos.14

2.02-148.0.1.al8.1

なし。

重要なシステムコンポーネントの違い

説明

Yellowdog Updater Modified (YUM) リポジトリで利用可能なバージョンを使用するのではなく、CentOS 7でそれ以降のバージョンのコンポーネントをコンパイルしてインストールした場合、CentOS 7をAlibaba Cloud Linux 3に移行した後にシステムにログインできないか、アプリケーションを実行できない場合があります。 問題を解決するには、Alibaba Cloud Linux 3でコンポーネントをコンパイルするか、Alibaba Cloud Linux 3 YUMリポジトリからコンポーネントを取得する必要があります。

コンポーネント

CentOS 7 x86

Alibaba Cloud Linux 3x86およびArm64

説明

Python

Python 2、Python 3.4、およびPython 3.6

Python 2、Python3.6、Python 3.8、およびPython 3.11

デフォルトでは、/usr/bin/python行はCentOSのPython 2とAlibaba Cloud LinuxのPython 3を指します。 python xxx.pyコマンドを実行してプログラムでPythonコードを実行すると、互換性の問題が発生する可能性があります。

java-1.8.0-alibaba-dragonwell

なし

3:8.15.16.372-2.al8

デフォルトでは、yum install javaコマンドを実行すると、java-1.8.0-openjdkはCentOSにインストールされ、java-1.8.0-alibaba-dragonwellはAlibaba Cloud Linuxにインストールされます。 Alibaba Cloud LinuxにOpenJDKをインストールするには、yum install java-1.8.0-openjdkコマンドを実行します。

java-1.8.0-openjdk

1:1.8.0.412.b08-1.el7_9

1:1.8.0.412.b08-2.0.1.1.al8

ゴラン

1.20.12-1.el7

1.20.12-8.0.1.al8

なし。

nginx

1:1.20.1-10.el7

1:1.20.1-1.0.3.al8

なし。

php

5.4.16-48。el7

7.4.33-1.0.1.al8

なし。

mysql

なし

8.0.36-1.0.1.1.al8

デフォルトでは、yum install mysqlコマンドを実行すると、MariaDBはCentOSにインストールされ、MySQLはAlibaba Cloud Linuxにインストールされます。

mariadb

5.5.68-1.el7

3:10.5.22-1.0.1.al8

postgresql

9.2.24-9。el7_9

13.14-1.0.1.al8

なし。

redis

3.2.12-2。el7

6.2.7-1.0.2。al8

なし。

openssl

1.0.2 k_26.el7_9

1.1.1 k_12.0.1.al8

なし。

重要なシステムコンポーネントの違い

コンポーネント

CentOS 7 x86

Alibaba Cloud Linux 3x86およびArm64

パッケージ管理

yum

dnf

ネットワークパケットフィルタリングフレームワーク

iptables

nftables

コンテナコンポーネント

ドッカー

ポッドマン

説明

また、セルフデプロイメント用にDocker Community Edition (CE) を導入することもできます。

ポートの違い

配布

プロトコル

ポート

サービス

CentOS 7

TCP/UDP

111

rpcbind

TCP

22

SSH

TCP

25

smtp

UDP

68

説明

このポートは、NetworkManagerプロセスによってリッスンされます。

dhcp

UDP/UDP6

323

クロノイド

Alibaba Cloud Linux 3

TCP/UDP/TCP6/UDP6

111

rpcbind

TCP

22

SSH

UDP

68

説明

このポートはdhclientプロセスによってリッスンされます。

dhcp

UDP/UDP6

323

クロノイド

TCP/UDP

5355

systemd-resolve

カーネルの違い

sysctlシステムパラメータ

説明

次の表に、重要なsysctlパラメーターのみの違いを示します。

変更された設定オプション

sysctlシステムパラメーター

CentOS 7 x86

Alibaba Cloud Linux 3x86およびArm64

説明

Linuxコミュニティパッチ情報

読み取りおよび書き込み権限

読み取りおよび書き込み権限

kernel.panic

0

rw

1

rw

CentOS 7とAlibaba Cloud Linux 3のデフォルトの動作は異なります。

このオプションは、パニックが発生した場合にカーネルがn (sysctlの値) 秒待って自動的に再起動するかどうかを制御します。 nの有効値:

  • n > 0: カーネルはn秒待ってから再起動します。

  • n = 0: カーネルが再起動しません。

  • n < 0: カーネルがすぐに再起動します。

なし

kernel.watchdog_thresh

10

rw

50

rw

2つのバージョン間のウォッチドッグタイムアウト期間 (秒) は異なります。

クラウドリンクはより複雑です。 Alibaba Cloud Linuxでパラメーターの値が変更され、誤検出警告の可能性が低くなります。

なし

kernel.nmi_watchdog

1

rw

0

rw

2つのバージョン間のハードロックアップ検出状態は異なる。

非マスク可能割り込み (NMI) はElastic Compute Service (ECS) ではサポートされていないため、ハードロックアップ検出機能は必要ありません。

ベアメタルデバイスを使用し、ハードロックアップ検出機能が必要な場合は、ハードロックアップ検出機能を手動で有効にすることができます。

なし

kernel.hung_task_timeout_secs

120

rw

240

rw

D (TASK_UNINTERRUPTIBLE) 状態のプロセスがスケジュールされていないタイムアウト期間 (秒) は、2つのバージョン間で異なります。

クラウドリンクはより複雑です。 Alibaba Cloud Linuxでパラメーターの値が変更され、誤検出警告の可能性が低くなります。

なし

vm.drop_caches

0

rw

なし

-w

2つのバージョン間の読み取り権限と書き込み権限は異なります。

このオプションは、CentOS 7で最後に書き込まれた値を読み取る動作をサポートします。このオプションは、キャッシュをクリアするタスクを開始するのではなく、非キャッシュモードを指定することをユーザーに誤解させます。 誤解を防ぐため、読み取り権限はAlibaba Cloud Linux 3から削除されています。

  • コミットID: 204cb79ad42f015312a5bbd7012d09c93d9b46fb

  • 件名情報: kernel:sysctl: drop_cachesを書き込み専用にする

vm.dirty_ratio

30

rw

40

rw

このオプションの値は、パフォーマンスのチューニングに使用されるプロファイルまたはモードによって異なります。 CentOS 7では、tuneDデーモンが仮想ゲストプロファイルを使用してパフォーマンスを調整する場合、このオプションの値は30に設定されます。 Alibaba Cloud Linuxでは、ECSパフォーマンスモードを使用してパフォーマンスを調整する場合、このオプションの値は40に設定されます。

なし

vm.numa_zonelist_order

default

rw

ノード

rw

このオプションは、Linuxコミュニティバージョンの反復中に無効になります。

このオプションは、システムメモリ割り当て中の各ノードとゾーンからの選択順序を制御します。 Linuxコミュニティバージョンの反復により、手動制御は不要になりました。

  • コミットID: c9bff3eebc09be23fbc868f5e6731666d23cbea3

  • 件名情報: mm、page_alloc: リップアウトZONELIST_ORDER_ZONE

net.ipv4.tcp_mem

なし

rw

なし

rw

このオプションは、次の整数値で構成されます。

  • low: TCPによって割り当てられたページ数が低い値未満の場合、システムはメモリ割り当てを調整しません。

  • pressure: TCPによって割り当てられたページ数が圧力値を超えると、システムはメモリ使用量を減らし、圧力モードに入ります。

  • max: TCPがソケットに割り当てることができるページの最大数を指定します。

このオプションのデフォルト値は、システムメモリのサイズによって異なります。 ただし、同じメモリ仕様の場合、Alibaba Cloud Linux 3のバッファサイズはCentOS 7のバッファサイズの約半分です。 これは、デフォルト値の初期化アルゴリズムが、Linuxコミュニティバージョンの反復中に変更されたためです。

  • コミットID: b66e91ccbc34ebd5a2f90f9e1bc1597e2924a500

  • 件名情報: tcp: halvestcp_mem[] limit

net.ipv4.tcp_fastopen

0

rw

1

rw

デフォルト値は、Linuxコミュニティのバージョンによって異なります。

このオプションは、システムがTCP Fast Openに関連するメッセージを送受信できるかどうかを制御します。 有効な値:

  • 0: TCP Fast Openに関連するメッセージを送受信できません。

  • 1: TCP Fast Openに関連するメッセージのみ送信できます。

  • コミットID: e1cfcbe82b4534bd0f99fef92a6d33843fd85e0e

  • 件名情報: ipv4: Namespaceify tcp_fastopen knob

net.ipv4.tcp_fack

1

rw

0

rw

このオプションは、Linuxコミュニティバージョンの反復中に無効になります。

このオプションは、TCP Forward Acknowledgment (FACK) 機能をサポートするために使用されます。 FACK機能は、Recent Acknowledgment (RACK) 機能に置き換えられます。 したがって、このオプションはAlibaba Cloud Linux 3では無効になります。

  • コミットID: 713bafea92920103cd3d361657406cf04d0e22dd

  • 件名情報: tcp: 引退FACKロス検出

net.core.somaxconn

128

rw

4,096

rw

デフォルト値は、Linuxコミュニティのバージョンによって異なります。

このオプションは、ソケットリスニングキューの最大長を指定するために使用されます。 サーバーの要件を満たすために、ソケットリスニングキューの最大長が128から4,096に変更されます。

  • コミットID: 19f92a030ca6d772ab44b22ee6a01378a8cb32d4

  • 件名: net: SOMAXCONNを4096に増やす

net.core.de fault_qdisc

pfifo_fast

rw

fq_codel

rw

2つのバージョンでは、デフォルトのQueuing Disciplines (qdiscs) モデルが異なります。 Alibaba Cloud Linux 3では、qdisks値がFair Queuing Controlled Delay (FQ_Codel) に設定されているため、bufferbloatの問題を防ぐことができます。

なし

削除された設定オプション

次の表に、CentOS 7で使用されているが、Alibaba Cloud Linux 3から削除された設定オプションを示します。

sysctlシステムパラメーター

読み取りおよび書き込み権限

説明

Linuxコミュニティパッチ情報

kernel.panic_on_stackoverflow

0

rw

このオプションは、Linuxコミュニティバージョンのイテレーション中に削除されました。

このオプションは、カーネルスタックのオーバーフロー検出を制御するために使用します。 その後のカーネルバージョンの反復では、カーネルスタックには、デフォルトで検出を実行するためのガードページ機能があります。 したがって、このオプションは無効です。

  • コミットID: 117ed45485413b1977bfc638c32bf5b01d53c62b

  • 件名: x86/irq/64: スタックオーバーフローのデバッグコードを削除する

kernel.random.read_wakeup_threshold

64

rw

このオプションは、Linuxコミュニティバージョンのイテレーション中に削除されました。

  • コミットID: c95ea0c69ffda19381c116db2be23c7e654dac98

  • 件名情報: random: remove kernel.random.read_wakeup_threshold

kernel.com pat-log

1

rw

このオプションは、Linuxコミュニティバージョンのイテレーション中に削除されました。

仮想8086モードは、x86 64ビットアーキテクチャではサポートされません。 このオプションを設定すると、vm86old() とvm86() が呼び出されたときに警告ログが出力されます。 不要な警告ログは削除されます。 このオプションも削除されます。

  • コミットID: 9dcfcda5768eda793e15a1a73da38cfd1fc1a47a

  • サブジェクト情報: compat: compat_printk() を削除

kernel.numa_balancing_settle_count

4

rw

このオプションは、Linuxコミュニティバージョンのイテレーション中に削除されました。

Linuxは、より科学的なメトリックを使用して、さまざまなタイプのタスクの負荷を区別します。 したがって、このオプションは周波数しきい値の制御には使用されません。

  • コミットID: 1bd53a7efdc988163ec4c25f656df38dbe500632

  • 件名情報: sched/numa: Drop sysctl_numa_balancing_settle_count sysctl

kernel.sched_shares_window_ns

10,000,000

rw

このオプションは、Linuxコミュニティバージョンのイテレーション中に削除されました。 CentOS 7ではこの機能は無効です。

  • コミットID: 3c3fcb45d524feb5d14a14f332e3eec7f2aff8f3

  • 件名: sched/fair: 未使用の 'sched_shares_window_ns 'チューニング可能

kernel.sched_time_avg_ms

1,000

rw

このオプションは、Linuxコミュニティバージョンのイテレーション中に削除されました。

Linuxは、リアルタイム (RT) スケジューリングクラスにエンティティごとのロードトラッキング (PELT) アルゴリズムを使用します。 オプションを含む先行アルゴリズムと関連パラメータは使用されなくなりました。

  • コミットID: 5fd778915ad29184a5ff8eb82d1118f6916b79e4

  • 件名: sched/sysctl: 未使用のsched_time_avg_ms sysctlを削除する

vm.hugepages_treat_as_movable

0

rw

このオプションは、Linuxコミュニティバージョンのイテレーション中に削除されました。

このオプションは、ZONE_MOVABLE領域から移行できないラージページを割り当てて、メモリフラグメントを減らすことを目的としています。 この機能はメモリホットスワッピング機能に深刻な影響を与えるため、削除されました。

  • コミットID: d6cb41cc44c63492702281b1d329955ca767d399

  • 件名情報: mm, hugetlb: remove hugepages_treat_as_movable sysctl

vm.nr_pdflush_threads

0

r-

このオプションは、Linuxコミュニティバージョンのイテレーション中に削除されました。 CentOS 7ではこの機能は無効です。

  • コミットID: b35bd0d9f8a8ea17aae40893e18274d191a2d2c5

  • サブジェクト情報: sysctl: remove /proc/sys/vm/nr_pdflush_threads

net.ipv4.tcp_tw_recycle

0

rw

このオプションは、Linuxコミュニティバージョンのイテレーション中に削除されました。

このオプションにより、システムはTIME-WAIT状態のソケットをすばやく再利用できます。 この機能は、同じリモートアドレスのタイムスタンプが単調に増加するという条件に基づいて実装されますが、NATとTCPのタイムスタンプのランダムドリフト機能は条件と競合します。 その結果, net.ipv4.tcp_tw_recycleオプションは使用できないため削除されました。

  • コミットID: 4396e46187ca5070219b81773c4e65088dac50cc

  • 件名情報: tcp: tcp_tw_recycleを削除

net.ipv4.tcp_thin_dupack

0

rw

このオプションは、Linuxコミュニティバージョンのイテレーション中に削除されました。 この機能はTCP RACK機能に置き換えられます。

  • コミットID: 4a7f6009441144783e5925551c72e3f2e1b0839b

  • 件名情報: tcp: thin_dupack機能を削除する

net.ipv4.tcp_max_ssthresh

0

rw

このオプションは、Linuxコミュニティバージョンのイテレーション中に削除されました。 このオプションは、TCPスロースタート速度を変更することを目的としており、より効果的で自動化された方法に置き換えられています。 したがって、オプションは削除されます。

  • コミットID: 9f9843a751d0a2057f9f3d313886e7e5e6ebaac9

  • 件名情報: tcp: スロースタートでストレッチACKを適切に処理する

fs.negative-dentry-limit

0

rw

このオプションはCentOS 7で開発された社内機能であり、Linuxコミュニティの一般的な機能ではありません。 このオプションはCentOS 8から削除されます。

Red Hat Enterprise Linux 8でnegative-dentry-limit sysctlパラメーターを使用できないのはなぜですか?

fs.may_detach_mounts

0

rw

このオプションはCentOS 7で開発された社内機能であり、Linuxコミュニティの一般的な機能ではありません。 このオプションはCentOS 8から削除されます。

Red Hat Enterprise Linux 7のパラメータfs.may_detach_mountsとは何ですか?

/sys /パラメータ

パス

CentOS 7 x86

Alibaba Cloud Linux 3x86およびArm64

説明

/sys/block/<blk>/queue/read_ahead_kb

128

4,096

  • 新しいバージョンのtuneDはこのパラメータを調整します。

  • このパラメーターの値は、ディスクの先読みに影響します。 値が大きすぎると、データベース関連のビジネスパフォーマンスが低下し、ディスクI/Oが増加する可能性があります。

  • この場合、値を128に変更できます。

/sys/module/virtio_net/parameters/napi_tx

なし

Enabled

  • このパラメーターは、virtio_netの送信キューにNew API (NAPI) メカニズムを使用するかどうかを制御します。

  • 一部の極端なベンチマークシナリオでは、このパラメーターが1 (有効) に設定されていると、TCPパケットを組み立てることができず、ベンチマークの結果が減少します。

  • NAPIメカニズムを無効にするには、virtio_net.napi_txパラメーターを0に設定します。

カーネルcmdlineパラメーター

cmdlineパラメーター

CentOS 7 x86

Alibaba Cloud Linux 3x86およびArm64

説明

cgroup.memory=nokmem

未設定

設定済み

このパラメーターは、cgroupsのカーネルメモリアカウンティング (CONFIG_MEMCG_KMEM) を無効にするために使用されます。 カーネルメモリアカウンティングを無効にすると、システムパフォーマンスが向上します。 詳細については、OpenAnolisコミュニティにアクセスしてください。

  • CentOS: このパラメーターはデフォルトでは設定されていません。

  • Alibaba Cloud Linux 3: このパラメーターはデフォルトで設定されています。

crashkernel=auto

設定済み

未設定

カーネルのKdumpサービスのために確保されたメモリのサイズを自動的に計算するために使用されます。

  • CentOS: このパラメーターはデフォルトで設定されています。

  • Alibaba Cloud Linux 3: このパラメーターはデフォルトでは設定されていません。 Alibaba Cloud Linux 3には、イメージ用に事前設定されたクラッシュカーネルの予約メモリサイズがあります。 したがって、デフォルト設定からパラメータを削除しても影響はありません。

net.ifnames=0

設定済み

設定済み

このパラメーターは、ネットワークインターフェイスの命名機能のeth0やeth1などのレガシーモードを復元し、systemdの予測可能なネットワークインターフェイスの命名機能を無効にするために使用されます。

デフォルトでは、このパラメーターはCentOSおよびAlibaba Cloud Linuxで設定されています。

説明

ネットワークインターフェイスの名前変更は、互換性に簡単に影響します。 詳細については、「「サポートされていないネットワーク設定」エラーメッセージが表示された場合はどうすればよいですか? 」をご参照ください。

カーネルKconfigパラメーター

説明

次の表に、重要なカーネルKconfigパラメーターのみの違いを示します。

Kconfigパラメーター

CentOS 7 x86

Alibaba Cloud Linux 3 x86

Alibaba Cloud Linux 3 Arm64

説明

CONFIG_NR_CPUS

5,120

1,024

1,024

サポートされるCPUコアの最大数。

Alibaba Cloudに1,024を超えるコアを持つインスタンスは存在しません。 2つのバージョン間のこのパラメータの違いは影響を与えません。

CONFIG_NODES_SHIFT

10

6

6

サポートされる非均一メモリアクセス (NUMA) ノードの最大数。

Alibaba Cloudには、64を超えるNUMAノードを持つインスタンスは存在しません。 2つのバージョン間のこのパラメータの違いは影響を与えません。

CONFIG_PREEMPT_NONE

設定されていない

y

設定されていない

カーネルのプリエンプションモード。

ノンプリエンプションモードはクラウドでのパフォーマンスを向上させますが、Alibaba cloud Linux 3 for Arm64では過去の理由により無効になっています。

Alibaba Cloud Linux 3のカーネルバージョン5.10.134-17から、cmdlineパラメーターを使用してデフォルトのプリエンプションモードを動的に変更できます。

CONFIG_PREEMPT_VOLUNTARY

y

設定されていない

y

CONFIG_BTRFS_FS

m

設定されていない

設定されていない

Alibaba Cloud Linux 3はExt4およびXFSファイルシステムをサポートしていますが、b-treeファイルシステム (Btrfs) はサポートしていません。