Reinstall the Driver of Mellanox Infiniband When Kernel Is Changed

When kernel changes, we need to rebuild and install the Mellanox Infiniband driver by adding “–add-kernel-support” parameter.

Below shows this processing.

[root@node6 ~]# mount -o ro,loop MLNX_OFED_LINUX-4.4-2.0.7.0-rhel7.4-x86_64.iso /mnt
[root@node6 ~]# cd /mnt
[root@node6 mnt]# ls
common.pl                       distro  is_kmp_compat.sh  mlnx_add_kernel_support.sh  RPM-GPG-KEY-Mellanox  RPMS_UPSTREAM_LIBS  uninstall.sh
create_mlnx_ofed_installers.pl  docs    LICENSE           mlnxofedinstall             RPMS                  src
[root@node6 mnt]# ./mlnx
mlnx_add_kernel_support.sh  mlnxofedinstall             
[root@node6 mnt]# ./mlnxofedinstall 
Logs dir: /tmp/MLNX_OFED_LINUX.31162.logs
General log file: /tmp/MLNX_OFED_LINUX.31162.logs/general.log
The 3.10.0-693.21.1.el7_lustre.x86_64 kernel is installed, MLNX_OFED_LINUX does not have drivers available for this kernel.
You can run mlnx_add_kernel_support.sh in order to to generate an MLNX_OFED_LINUX package with drivers for this kernel.
Or, you can provide '--add-kernel-support' flag to generate an MLNX_OFED_LINUX package and automatically start the installation.
[root@node6 mnt]# ./mlnxofedinstall --add-kernel-support
Note: This program will create MLNX_OFED_LINUX TGZ for rhel7.4 under /tmp/MLNX_OFED_LINUX-4.4-2.0.7.0-3.10.0-693.21.1.el7_lustre.x86_64 directory.
See log file /tmp/MLNX_OFED_LINUX-4.4-2.0.7.0-3.10.0-693.21.1.el7_lustre.x86_64/mlnx_iso.32606_logs/mlnx_ofed_iso.32606.log

Checking if all needed packages are installed...

Error: One or more required packages for installing OFED-internal are missing.
Please install the missing packages using your Linux distribution Package Management tool.
Run:
yum install python-devel redhat-rpm-config rpm-build
Failed to build MLNX_OFED_LINUX for 3.10.0-693.21.1.el7_lustre.x86_64
[root@node6 mnt]# yum install python-devel redhat-rpm-config rpm-build
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.aliyun.com
 * updates: mirror.bit.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package python-devel.x86_64 0:2.7.5-69.el7_5 will be installed
--> Processing Dependency: python(x86-64) = 2.7.5-69.el7_5 for package: python-devel-2.7.5-69.el7_5.x86_64
---> Package redhat-rpm-config.noarch 0:9.1.0-80.el7.centos will be installed
--> Processing Dependency: dwz >= 0.4 for package: redhat-rpm-config-9.1.0-80.el7.centos.noarch
--> Processing Dependency: perl-srpm-macros for package: redhat-rpm-config-9.1.0-80.el7.centos.noarch
---> Package rpm-build.x86_64 0:4.11.3-32.el7 will be installed
--> Processing Dependency: rpm = 4.11.3-32.el7 for package: rpm-build-4.11.3-32.el7.x86_64
--> Processing Dependency: patch >= 2.5 for package: rpm-build-4.11.3-32.el7.x86_64
--> Processing Dependency: perl(Thread::Queue) for package: rpm-build-4.11.3-32.el7.x86_64
--> Running transaction check
---> Package dwz.x86_64 0:0.11-3.el7 will be installed
---> Package patch.x86_64 0:2.7.1-10.el7_5 will be installed
---> Package perl-Thread-Queue.noarch 0:3.02-2.el7 will be installed
---> Package perl-srpm-macros.noarch 0:1-8.el7 will be installed
---> Package python.x86_64 0:2.7.5-58.el7 will be updated
---> Package python.x86_64 0:2.7.5-69.el7_5 will be an update
--> Processing Dependency: python-libs(x86-64) = 2.7.5-69.el7_5 for package: python-2.7.5-69.el7_5.x86_64
---> Package rpm.x86_64 0:4.11.3-25.el7 will be updated
--> Processing Dependency: rpm = 4.11.3-25.el7 for package: rpm-libs-4.11.3-25.el7.x86_64
--> Processing Dependency: rpm = 4.11.3-25.el7 for package: rpm-python-4.11.3-25.el7.x86_64
---> Package rpm.x86_64 0:4.11.3-32.el7 will be an update
--> Running transaction check
---> Package python-libs.x86_64 0:2.7.5-58.el7 will be updated
---> Package python-libs.x86_64 0:2.7.5-69.el7_5 will be an update
---> Package rpm-libs.x86_64 0:4.11.3-25.el7 will be updated
--> Processing Dependency: rpm-libs(x86-64) = 4.11.3-25.el7 for package: rpm-build-libs-4.11.3-25.el7.x86_64
---> Package rpm-libs.x86_64 0:4.11.3-32.el7 will be an update
---> Package rpm-python.x86_64 0:4.11.3-25.el7 will be updated
---> Package rpm-python.x86_64 0:4.11.3-32.el7 will be an update
--> Running transaction check
---> Package rpm-build-libs.x86_64 0:4.11.3-25.el7 will be updated
---> Package rpm-build-libs.x86_64 0:4.11.3-32.el7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================================================================================
 Package                                       Arch                               Version                                         Repository                           Size
============================================================================================================================================================================
Installing:
 python-devel                                  x86_64                             2.7.5-69.el7_5                                  updates                             397 k
 redhat-rpm-config                             noarch                             9.1.0-80.el7.centos                             base                                 79 k
 rpm-build                                     x86_64                             4.11.3-32.el7                                   base                                147 k
Installing for dependencies:
 dwz                                           x86_64                             0.11-3.el7                                      base                                 99 k
 patch                                         x86_64                             2.7.1-10.el7_5                                  updates                             110 k
 perl-Thread-Queue                             noarch                             3.02-2.el7                                      base                                 17 k
 perl-srpm-macros                              noarch                             1-8.el7                                         base                                4.6 k
Updating for dependencies:
 python                                        x86_64                             2.7.5-69.el7_5                                  updates                              93 k
 python-libs                                   x86_64                             2.7.5-69.el7_5                                  updates                             5.6 M
 rpm                                           x86_64                             4.11.3-32.el7                                   base                                1.2 M
 rpm-build-libs                                x86_64                             4.11.3-32.el7                                   base                                105 k
 rpm-libs                                      x86_64                             4.11.3-32.el7                                   base                                276 k
 rpm-python                                    x86_64                             4.11.3-32.el7                                   base                                 82 k

Transaction Summary
============================================================================================================================================================================
Install  3 Packages (+4 Dependent packages)
Upgrade             ( 6 Dependent packages)

Total size: 8.2 M
Total download size: 1.0 M
Is this ok [y/d/N]: y
Downloading packages:
No Presto metadata available for base
Delta RPMs reduced 93 k of updates to 65 k (29% saved)
(1/9): perl-Thread-Queue-3.02-2.el7.noarch.rpm                                                                                                       |  17 kB  00:00:00     
(2/9): python-2.7.5-58.el7_2.7.5-69.el7_5.x86_64.drpm                                                                                                |  65 kB  00:00:00     
(3/9): perl-srpm-macros-1-8.el7.noarch.rpm                                                                                                           | 4.6 kB  00:00:00     
(4/9): patch-2.7.1-10.el7_5.x86_64.rpm                                                                                                               | 110 kB  00:00:00     
(5/9): dwz-0.11-3.el7.x86_64.rpm                                                                                                                     |  99 kB  00:00:00     
(6/9): redhat-rpm-config-9.1.0-80.el7.centos.noarch.rpm                                                                                              |  79 kB  00:00:00     
(7/9): python-devel-2.7.5-69.el7_5.x86_64.rpm                                                                                                        | 397 kB  00:00:00     
(8/9): rpm-build-4.11.3-32.el7.x86_64.rpm                                                                                                            | 147 kB  00:00:00     
(9/9): rpm-build-libs-4.11.3-32.el7.x86_64.rpm                                                                                                       | 105 kB  00:00:00     
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                       2.4 MB/s | 1.0 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : rpm-4.11.3-32.el7.x86_64                                                                                                                                1/19 
  Updating   : rpm-libs-4.11.3-32.el7.x86_64                                                                                                                           2/19 
  Updating   : python-libs-2.7.5-69.el7_5.x86_64                                                                                                                       3/19 
  Updating   : python-2.7.5-69.el7_5.x86_64                                                                                                                            4/19 
  Updating   : rpm-build-libs-4.11.3-32.el7.x86_64                                                                                                                     5/19 
  Installing : perl-srpm-macros-1-8.el7.noarch                                                                                                                         6/19 
  Installing : patch-2.7.1-10.el7_5.x86_64                                                                                                                             7/19 
  Installing : dwz-0.11-3.el7.x86_64                                                                                                                                   8/19 
  Installing : redhat-rpm-config-9.1.0-80.el7.centos.noarch                                                                                                            9/19 
  Installing : perl-Thread-Queue-3.02-2.el7.noarch                                                                                                                    10/19 
  Installing : rpm-build-4.11.3-32.el7.x86_64                                                                                                                         11/19 
  Updating   : rpm-python-4.11.3-32.el7.x86_64                                                                                                                        12/19 
  Installing : python-devel-2.7.5-69.el7_5.x86_64                                                                                                                     13/19 
  Cleanup    : rpm-python-4.11.3-25.el7.x86_64                                                                                                                        14/19 
  Cleanup    : rpm-build-libs-4.11.3-25.el7.x86_64                                                                                                                    15/19 
  Cleanup    : rpm-libs-4.11.3-25.el7.x86_64                                                                                                                          16/19 
  Cleanup    : rpm-4.11.3-25.el7.x86_64                                                                                                                               17/19 
  Cleanup    : python-2.7.5-58.el7.x86_64                                                                                                                             18/19 
  Cleanup    : python-libs-2.7.5-58.el7.x86_64                                                                                                                        19/19 
  Verifying  : rpm-python-4.11.3-32.el7.x86_64                                                                                                                         1/19 
  Verifying  : python-2.7.5-69.el7_5.x86_64                                                                                                                            2/19 
  Verifying  : rpm-build-4.11.3-32.el7.x86_64                                                                                                                          3/19 
  Verifying  : rpm-libs-4.11.3-32.el7.x86_64                                                                                                                           4/19 
  Verifying  : rpm-build-libs-4.11.3-32.el7.x86_64                                                                                                                     5/19 
  Verifying  : perl-Thread-Queue-3.02-2.el7.noarch                                                                                                                     6/19 
  Verifying  : python-libs-2.7.5-69.el7_5.x86_64                                                                                                                       7/19 
  Verifying  : dwz-0.11-3.el7.x86_64                                                                                                                                   8/19 
  Verifying  : patch-2.7.1-10.el7_5.x86_64                                                                                                                             9/19 
  Verifying  : redhat-rpm-config-9.1.0-80.el7.centos.noarch                                                                                                           10/19 
  Verifying  : python-devel-2.7.5-69.el7_5.x86_64                                                                                                                     11/19 
  Verifying  : perl-srpm-macros-1-8.el7.noarch                                                                                                                        12/19 
  Verifying  : rpm-4.11.3-32.el7.x86_64                                                                                                                               13/19 
  Verifying  : rpm-build-libs-4.11.3-25.el7.x86_64                                                                                                                    14/19 
  Verifying  : rpm-4.11.3-25.el7.x86_64                                                                                                                               15/19 
  Verifying  : python-2.7.5-58.el7.x86_64                                                                                                                             16/19 
  Verifying  : python-libs-2.7.5-58.el7.x86_64                                                                                                                        17/19 
  Verifying  : rpm-libs-4.11.3-25.el7.x86_64                                                                                                                          18/19 
  Verifying  : rpm-python-4.11.3-25.el7.x86_64                                                                                                                        19/19 

Installed:
  python-devel.x86_64 0:2.7.5-69.el7_5                   redhat-rpm-config.noarch 0:9.1.0-80.el7.centos                   rpm-build.x86_64 0:4.11.3-32.el7                  

Dependency Installed:
  dwz.x86_64 0:0.11-3.el7            patch.x86_64 0:2.7.1-10.el7_5            perl-Thread-Queue.noarch 0:3.02-2.el7            perl-srpm-macros.noarch 0:1-8.el7           

Dependency Updated:
  python.x86_64 0:2.7.5-69.el7_5    python-libs.x86_64 0:2.7.5-69.el7_5 rpm.x86_64 0:4.11.3-32.el7 rpm-build-libs.x86_64 0:4.11.3-32.el7 rpm-libs.x86_64 0:4.11.3-32.el7
  rpm-python.x86_64 0:4.11.3-32.el7

Complete!
[root@node6 mnt]# 
[root@node6 mnt]# ./mlnxofedinstall --add-kernel-support
Note: This program will create MLNX_OFED_LINUX TGZ for rhel7.4 under /tmp/MLNX_OFED_LINUX-4.4-2.0.7.0-3.10.0-693.21.1.el7_lustre.x86_64 directory.
See log file /tmp/MLNX_OFED_LINUX-4.4-2.0.7.0-3.10.0-693.21.1.el7_lustre.x86_64/mlnx_iso.535_logs/mlnx_ofed_iso.535.log

Checking if all needed packages are installed...
Building MLNX_OFED_LINUX RPMS . Please wait...
Creating metadata-rpms for 3.10.0-693.21.1.el7_lustre.x86_64 ...
WARNING: If you are going to configure this package as a repository, then please note
WARNING: that it contains unsigned rpms, therefore, you need to disable the gpgcheck
WARNING: by setting 'gpgcheck=0' in the repository conf file.
Created /tmp/MLNX_OFED_LINUX-4.4-2.0.7.0-3.10.0-693.21.1.el7_lustre.x86_64/MLNX_OFED_LINUX-4.4-2.0.7.0-rhel7.4-ext.tgz
Uninstalling the previous version of MLNX_OFED_LINUX
Installing /tmp/MLNX_OFED_LINUX-4.4-2.0.7.0-3.10.0-693.21.1.el7_lustre.x86_64/MLNX_OFED_LINUX-4.4-2.0.7.0-rhel7.4-ext
/tmp/MLNX_OFED_LINUX-4.4-2.0.7.0-3.10.0-693.21.1.el7_lustre.x86_64/MLNX_OFED_LINUX-4.4-2.0.7.0-rhel7.4-ext/mlnxofedinstall --force  
Logs dir: /tmp/MLNX_OFED_LINUX.30728.logs
General log file: /tmp/MLNX_OFED_LINUX.30728.logs/general.log
This program will install the MLNX_OFED_LINUX package on your machine.
Note that all other Mellanox, OEM, OFED, RDMA or Distribution IB packages will be removed.
Those packages are removed due to conflicts with MLNX_OFED_LINUX, do not reinstall them.


rpm --nosignature -e --allmatches --nodeps mft

Starting MLNX_OFED_LINUX-4.4-2.0.7.0 installation ...

Installing mlnx-ofa_kernel 4.4 RPM
Preparing...                          ########################################
Updating / installing...
mlnx-ofa_kernel-4.4-OFED.4.4.2.0.7.1.g########################################
Installing mlnx-ofa_kernel-modules 4.4 RPM
Preparing...                          ########################################
Updating / installing...
mlnx-ofa_kernel-modules-4.4-OFED.4.4.2########################################
Installing mlnx-ofa_kernel-devel 4.4 RPM
Preparing...                          ########################################
Updating / installing...
mlnx-ofa_kernel-devel-4.4-OFED.4.4.2.0########################################
Installing kernel-mft 4.10.0 RPM
Preparing...                          ########################################
Updating / installing...
kernel-mft-4.10.0-104.kver.3.10.0_693.########################################
Installing knem 1.1.3.90mlnx1 RPM
Preparing...                          ########################################
Updating / installing...
knem-1.1.3.90mlnx1-OFED.4.3.0.1.4.1.g8########################################
Installing knem-modules 1.1.3.90mlnx1 RPM
Preparing...                          ########################################
Updating / installing...
knem-modules-1.1.3.90mlnx1-OFED.4.3.0.########################################
Installing iser 4.0 RPM
Preparing...                          ########################################
Updating / installing...
iser-4.0-OFED.4.4.2.0.7.1.gee7aa0e.kve########################################
Installing srp 4.0 RPM
Preparing...                          ########################################
Updating / installing...
srp-4.0-OFED.4.4.2.0.7.1.gee7aa0e.kver########################################
Installing isert 4.0 RPM
Preparing...                          ########################################
Updating / installing...
isert-4.0-OFED.4.4.2.0.7.1.gee7aa0e.kv########################################
Installing mpi-selector RPM
Preparing...                          ########################################
Updating / installing...
mpi-selector-1.0.3-1.44207            ########################################
Installing user level RPMs:
Preparing...                          ########################################
ofed-scripts-4.4-OFED.4.4.2.0.7       ########################################
Preparing...                          ########################################
libibverbs-41mlnx1-OFED.4.4.2.0.1.4420########################################
Preparing...                          ########################################
libibverbs-devel-41mlnx1-OFED.4.4.2.0.########################################
Preparing...                          ########################################
libibverbs-devel-static-41mlnx1-OFED.4########################################
Preparing...                          ########################################
libibverbs-utils-41mlnx1-OFED.4.4.2.0.########################################
Preparing...                          ########################################
libmlx4-41mlnx1-OFED.4.4.2.0.0.44207  ########################################
Preparing...                          ########################################
libmlx4-devel-41mlnx1-OFED.4.4.2.0.0.4########################################
Preparing...                          ########################################
libmlx5-41mlnx1-OFED.4.4.2.0.1.44207  ########################################
Preparing...                          ########################################
libmlx5-devel-41mlnx1-OFED.4.4.2.0.1.4########################################
Preparing...                          ########################################
librxe-41mlnx1-OFED.4.1.0.1.7.44207   ########################################
Preparing...                          ########################################
librxe-devel-static-41mlnx1-OFED.4.1.0########################################
Preparing...                          ########################################
libibcm-41mlnx1-OFED.4.1.0.1.0.44207  ########################################
Preparing...                          ########################################
libibcm-devel-41mlnx1-OFED.4.1.0.1.0.4########################################
Preparing...                          ########################################
libibumad-43.1.1.MLNX20180612.87b4d9b-########################################
Preparing...                          ########################################
libibumad-devel-43.1.1.MLNX20180612.87########################################
Preparing...                          ########################################
libibumad-static-43.1.1.MLNX20180612.8########################################
Preparing...                          ########################################
libibmad-5.0.0.MLNX20180328.afe7c88-0.########################################
Preparing...                          ########################################
libibmad-devel-5.0.0.MLNX20180328.afe7########################################
Preparing...                          ########################################
libibmad-static-5.0.0.MLNX20180328.afe########################################
Preparing...                          ########################################
ibsim-0.6mlnx1-0.9.gdc7d44e.44207     ########################################
Preparing...                          ########################################
ibacm-41mlnx1-OFED.4.3.3.0.0.44207    ########################################
Preparing...                          ########################################
librdmacm-41mlnx1-OFED.4.2.0.1.3.44207########################################
Preparing...                          ########################################
librdmacm-utils-41mlnx1-OFED.4.2.0.1.3########################################
Preparing...                          ########################################
librdmacm-devel-41mlnx1-OFED.4.2.0.1.3########################################
Preparing...                          ########################################
opensm-libs-5.2.0.MLNX20180620.a0b90c5########################################
Preparing...                          ########################################
opensm-5.2.0.MLNX20180620.a0b90c5-0.1.########################################
Preparing...                          ########################################
opensm-devel-5.2.0.MLNX20180620.a0b90c########################################
Preparing...                          ########################################
opensm-static-5.2.0.MLNX20180620.a0b90########################################
Preparing...                          ########################################
dapl-2.1.10mlnx-OFED.3.4.2.1.0.44207  ########################################
Preparing...                          ########################################
dapl-devel-2.1.10mlnx-OFED.3.4.2.1.0.4########################################
Preparing...                          ########################################
dapl-devel-static-2.1.10mlnx-OFED.3.4.########################################
Preparing...                          ########################################
dapl-utils-2.1.10mlnx-OFED.3.4.2.1.0.4########################################
Preparing...                          ########################################
perftest-4.4-0.2.g4942ab6.44207       ########################################
Preparing...                          ########################################
multiperf-3.0-0.12.gbb02555.44207     ########################################
Preparing...                          ########################################
mstflint-4.10.0-2.44207               ########################################
Preparing...                          ########################################
mft-4.10.0-104                        ########################################
Preparing...                          ########################################
srptools-41mlnx1-5.44207              ########################################
Preparing...                          ########################################
ibutils2-2.1.1-0.96.MLNX20180627.g53bb########################################
Preparing...                          ########################################
ibutils-1.5.7.1-0.12.gdcaeae2.44207   ########################################
Preparing...                          ########################################
cc_mgr-1.0-0.36.g7078b7d.44207        ########################################
Preparing...                          ########################################
dump_pr-1.0-0.32.g7078b7d.44207       ########################################
Preparing...                          ########################################
ar_mgr-1.0-0.37.g7078b7d.44207        ########################################
Preparing...                          ########################################
ibdump-5.0.0-1.44207                  ########################################
Preparing...                          ########################################
infiniband-diags-5.0.0.MLNX20180711.3f########################################
Preparing...                          ########################################
infiniband-diags-compat-5.0.0.MLNX2018########################################
Preparing...                          ########################################
qperf-0.4.9-9.44207                   ########################################
Preparing...                          ########################################
mxm-3.7.3111-1.44207                  ########################################
Preparing...                          ########################################
ucx-1.4.0-1.44207                     ########################################
Preparing...                          ########################################
ucx-devel-1.4.0-1.44207               ########################################
Preparing...                          ########################################
ucx-static-1.4.0-1.44207              ########################################
Preparing...                          ########################################
sharp-1.7.1.MLNX20180618.7c14dc0-1.442########################################
Preparing...                          ########################################
hcoll-4.1.2355-1.44207                ########################################
Preparing...                          ########################################
openmpi-3.1.1rc1-1.44207              ########################################
Preparing...                          ########################################
libibprof-1.1.44-1.44207              ########################################
Preparing...                          ########################################
mlnx-ethtool-4.2-1.44207              ########################################
Preparing...                          ########################################
mlnx-iproute2-4.7.0-1.44207           ########################################
Preparing...                          ########################################
mlnxofed-docs-4.4-2.0.7.0             ########################################
Preparing...                          ########################################
mpitests_openmpi-3.2.19-84f02b3.44207 ########################################
Device (81:00.0):
	81:00.0 Network controller: Mellanox Technologies MT27500 Family [ConnectX-3]
	Link Width: x8
	PCI Link Speed: 8GT/s


Installation finished successfully.


Preparing...                          ################################# [100%]
Updating / installing...
   1:mlnx-fw-updater-4.4-2.0.7.0      ################################# [100%]

Added 'RUN_FW_UPDATER_ONBOOT=no to /etc/infiniband/openib.conf

Attempting to perform Firmware update...
Querying Mellanox devices firmware ...

Device #1:
----------

  Device Type:      ConnectX3
  Part Number:      MCX354A-FCB_A2-A5
  Description:      ConnectX-3 VPI adapter card; dual-port QSFP; FDR IB (56Gb/s) and 40GigE; PCIe3.0 x8 8GT/s; RoHS R6
  PSID:             MT_1090120019
  PCI Device Name:  81:00.0
  Port1 GUID:       7cfe900300917da1
  Port2 GUID:       7cfe900300917da2
  Versions:         Current        Available     
     FW             2.42.5000      2.42.5000     
     PXE            3.4.0752       3.4.0752      

  Status:           Up to date


Log File: /tmp/MLNX_OFED_LINUX.30728.logs/fw_update.log
To load the new driver, run:
/etc/init.d/openibd restart
[root@node6 mnt]# /etc/init.d/openibd restart
Unloading HCA driver:                                      [  OK  ]
Loading HCA driver and Access Layer:                       [  OK  ]
[root@node6 mnt]#

 

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

您正在使用您的 WordPress.com 账号评论。 注销 /  更改 )

Facebook photo

您正在使用您的 Facebook 账号评论。 注销 /  更改 )

Connecting to %s

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理