跳转至

seabox system-check

seabox system-check

检查系统各种配置,验证指定主机的基准硬件性能。

语法

``` bash seabox check tool for system configuration.

Options: -c CONFIG_YML_FILE, –config-yml-file=CONFIG_YML_FILE the seabox-site.yml file which includes cluster hosts and datadir -d TEST_DIR, –test-dir=TEST_DIR a directory on which to test I/O performance (multiple -d is okay). Or a single directory for other test -f FILE, –file=FILE a file listing all hosts to connect to -h HOST, –host=HOST the host to connect to (multiple -h is okay) -i ITEM, –item=ITEM test item, can be ['parameter', 'version', 'time', 'package_loss', 'hostname', 'locale', 'disk', 'stream', 'netperf', 'all'] (default is 'all'), multiple items are split with ',' -m MODE, –mode=MODE netperf test mode, can be ['serial', 'parallel', 'matrix'] (default is 'parallel') -B BLOCK_SIZE, –block-size=BLOCK_SIZE the block size for disk I/O performance test (default to 32KB, e.g. 1KB, 4MB) -S FILE_SIZE, –file-size=FILE_SIZE the file size for disk I/O performance test (default to 16GB, e.g. 500MB, 32GB) -D, –disk-stat print per host disk stats on disk read/write tests –basecheck test base item: ['parameter', 'version', 'time', 'package_loss', 'hostname', 'locale'] –duration=DURATION how long to run netperf test (default 15 seconds) –perfcheck test perf item: ['disk', 'stream', 'netperf'] –fix fix system parameter issues, must be executed by user 'root' -v, –verbose enable verbose -?, –help show this help, then exit ```

描述
检查系统各种配置,验证指定主机的基准硬件性能。
  • 系统参数配置检查 — 检查指定主机上的系统参数是否与预期最佳值一致,不一致的均以warning形式打印在屏幕上,并提示用户可指定–fix进行修复。

  • 系统内核版本检查 — 检查所有指定主机的内核版本是否一致。

  • 系统时间检查 — 检查所有指定主机的系统时间是否一致。

  • 网络丢包率检查 — 对指定的所有主机地址通过ping命令检查网络丢包率,低于默认阈值(1%)时检查通过。

  • 集群主机名配置检查 - 检查seabox-site.yml配置文件中的hostname与机器hostname是否一致,不区分大小写。

  • 系统语言环境检查 — 检查所有指定主机的locale是否一致。

  • 磁盘I/O测试(dd测试) — 测试逻辑磁盘或文件系统的顺序吞吐性能,该工具使用dd命令,该命令是一个标准的UNIX工具。它记录花费多长时间在磁盘上读写一个大文件,并以兆字节(MB)每秒为单位计算磁盘I/O性能。默认情况下,用于测试的文件尺寸(-S)是16GB。默认情况下,用于测试的块大小(-B)是32KB。

  • 内存带宽测试(流) — 为了测试内存带宽,该工具使用STREAM基准程序来测量可持续的内存带宽(以MB/s为单位)。这测试用户的系统在不涉及CPU计算性能情况下是否受系统内存带宽的限制。在数据集较大的应用程序中(如在Seabox数据库中),低内存带宽是一个主要的性能问题。如果内存带宽明显低于CPU的理论带宽,则会导致CPU花费大量的时间等待数据从系统内存到达。

  • 网络性能测试(scnetbench*) — 为了测试网络性能,该工具运行一种网络基准测试程序,该程序当前主机发送5秒钟的数据流到测试中包含的每台远程主机。数据被并行传输到每台远程主机,并以兆字节(MB)每秒报告最小、最大、 平均和中位网络传输速率。如果汇总的传输速率比预期慢,则可以使用 -m serial 选项串行地运行该网络测试以获取每台主机的结果。要运行全矩阵带宽测试,用户可以指定 -m parallel, 这将导致每台主机都发送和接收来自指定的每台其他主机的数据。该测试最适用于验证交换结构是否可以承受全矩阵负载。默认情况下,用于网络性能测试的持续时间(–duration)为15秒。

    • 注1: seabox system-check 中的所有检查和测试项目都需要主机环境,可显式指定 -c/-h/-f 选项来指定主机;大多数检查项目(除了系统内核版本(version)、系统时间(time)、集群主机名配置检查(hostname)和系统语言环境检查(locale))都需要测试目录,可显式指定 -c/-d 选项来指定测试目录。

    当未指定主机或测试目录时,会尝试从集群拓扑和 $SDHOME/etc/seabox-site.yml 获取二者(主机使用集群配置中的所有主机,测试目录使用集群数据目录)。若均获取失败,则提示用户需要显式指定对应选项。

    因此,在安装后运行 seabox system-check 一般不需要显式指定主机和测试目录,除非用户需要在非集群所在的host运行该工具。

    • 注2: 在使用 seabox system-check 之前,用户必须在所有指定的主机之间建立可信的主机设置。 用户可以使用 seabox ssh-exkeys 工具更新已知主机文件并在主机之间交换公钥 (如果尚未这样做的话)。
选项

该命令支持选项说明如下:

Options

命令支持的选项

-c
使用该选项时表示显式指定集群配置文件seabox-site.yml,即主机使用集群配置中的所有主机,测试目录使用集群数据目录
-d
使用该选项时表示指定测试目录位置。用户必须具有对检查中涉及的所有主机上该目录的写入权限。对于磁盘I/O测试,用户可以多次使用 -d 选项指定多个测试目录
-f
使用该选项时表示指定主机文件,该文件列出所有的主机名或主机地址。用户可以选择指定每个主机的后补用户名和/或SSH端口号。主机文件的语法是每行一台主机, 如下所示:
[username@]hostname[:ssh_port]
-h
使用该选项时表示指定主机名或主机地址。用户可以多次使用 -h 选项来指定多个主机名
-i
使用该选项时表示指定要检查的项目,可以是系统参数(parameter)、系统内核版本(version)、系统时间(time)、网络丢包率(package_loss)、磁盘I/O测试(disk)、内存带宽测试(stream)、网络性能测试(netperf) 或者 全部项目(all)。指定多个项目时以逗号隔开,缺省时默认为'all',即检查所有项目
-m
使用该选项时表示指定用于网络性能测试的模式,可以是串行(serial)、并行(parallel)或全矩阵(matrix)模式。缺省时默认为并行((parallel)模式
-B
使用该选项时表示指定用于磁盘I/O测试的块大小(以KB或MB为单位)。缺省值是32KB,最大块大小是1MB
-S
使用该选项时表示指定用于磁盘I/O测试时 -d 所指定的所有目录的总文件尺寸。缺省值是16GB。用户可以以KB、MB或GB为单位指定尺寸
-D
使用该选项时表示报告每个主机的磁盘I/O测试或内存带宽测试的性能结果。缺省情况下,仅报告具有最低和最高性能的主机的结果,以及所有主机的总体(和平均)性能
--basecheck
使用该选项时表示检查所有的基础项目,包括系统参数配置检查、系统内核版本检查、系统时间检查、网络丢包率检查、集群主机名配置检查和系统语言环境检查。
--duration
使用该选项时表示指定用于网络性能测试的持续时间,单位可以是秒(s)、分钟(m)、小时(h)或天数(d)。默认值是15秒
--perfcheck
使用该选项时表示进行所有的性能测试,包括磁盘I/O测试、内存带宽测试和网络性能测试。
--fix
使用该选项时表示修复系统参数配置,会以root用户将指定的所有主机上的系统参数设置到最佳值
-v
使用该选项时表示详细显示该工具生成的所有输出消息
-h, --help
使用该选项时返回 seabox system-check 命令的帮助信息
注解

如有具体的使用限制及注意事项,在这部分列出。

  • 注意: seabox system-check 命令要求使用SeaboxMPP数据库集群安装用户seabox,或root用户,且需通过以下命令设置正确的环境变量:
source $SDHOME/seaboxmpp_path.sh

其中,$SDHOME为安装SeaboxMPP数据库服务的主目录。

示例

以下是seabox system-check --help的执行结果:

[seabox@mpp-test-1 bin]$ seabox check tool for system configuration.

Usage: 
  seabox system-check [OPTIONS]

Options:
  -c CONFIG_YML_FILE, --config-yml-file=CONFIG_YML_FILE
                        the seabox-site.yml file which includes cluster hosts
                        and datadir
  -d TEST_DIR, --test-dir=TEST_DIR
                        a directory on which to test I/O performance (multiple
                        -d is okay). Or a single directory for other test
  -f FILE, --file=FILE  a file listing all hosts to connect to
  -h HOST, --host=HOST  the host to connect to (multiple -h is okay)
  -i ITEM, --item=ITEM  test item, can be ['parameter', 'version', 'time',
                        'package_loss', 'hostname', 'locale', 'disk',
                        'stream', 'netperf', 'all'] (default is 'all'),
                        multiple items are split with ','
  -m MODE, --mode=MODE  netperf test mode, can be ['serial', 'parallel',
                        'matrix'] (default is 'parallel')
  -B BLOCK_SIZE, --block-size=BLOCK_SIZE
                        the block size for disk I/O performance test (default
                        to 32KB, e.g. 1KB, 4MB)
  -S FILE_SIZE, --file-size=FILE_SIZE
                        the file size for disk I/O performance test (default
                        to 16GB, e.g. 500MB, 32GB)
  -D, --disk-stat       print per host disk stats on disk read/write tests
  --basecheck           test base item: ['parameter', 'version', 'time',
                        'package_loss', 'hostname', 'locale']
  --duration=DURATION   how long to run netperf test (default 15 seconds)
  --perfcheck           test perf item: ['disk', 'stream', 'netperf']
  --fix                 fix system parameter issues, must be executed by user
                        'root'
  -v, --verbose         enable verbose
  -?, --help            show this help, then exit

For recommended setting of system parameter, see _parameter_configuration
context in $SDHOME/bin/sc_system_all_check.

以下命令在集群所在的所有host上检查所有项目,测试目录为集群数据目录

$ seabox system-check

以下命令在集群所在的所有host上检查所有的基础项目

$ seabox system-check --basechek

以下命令使用测试目录$PWD/data检查主机host1和host2上的参数配置

$ seabox system-check -i parameter -h host1 -h host2 -d $PWD/data

以下命令修复集群所有host上的参数配置

$ seabox system-check --fix

以下命令使用data1和data2目录在hostfile中的所有主机上测试磁盘I/O和内核版本

$ seabox system-check -i disk,version -f hostfile -d data1 -d data2

以下命令可指定集群配置文件somepath/seabox-site.yml来测试内存带宽,并报告每个主机的性能结果

$ seabox system-check -c somepath/seabox-site.yml -i stream -D

以下命令可在集群所在的所有host上以全矩阵模式测试网络性能,测试目录为集群数据目录

$ seabox system-check -i netperf -m matrix
check system kernel version passed between all cluster hosts
相关命令