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
- 相关命令
- 无