0°

TKperf 完整安装与验证手册

🚀 TKperf 完整安装与验证手册

📌 一、前置条件(Ubuntu环境)

  • Ubuntu Server 22.04+
  • Python 3.8 已安装(路径 /usr/local/python3.8/bin/python3.8
  • pip 3.8 已安装(路径 /usr/local/python3.8/bin/pip3.8

✅ 二、一键式安装脚本(推荐放入自动化部署脚本)

文件名:install_tkperf.sh

#!/bin/bash
install_tkperf() {
    set -e

    PYTHON_BIN="/usr/local/python3.8/bin/python3.8"
    PIP_BIN="/usr/local/python3.8/bin/pip3.8"

    echo "🔧 更新 apt 源并安装系统依赖..."
    apt update
    apt install -y git gcc make libaio-dev rst2pdf hdparm sg3-utils nvme-cli

    echo "🐍 安装 Python 依赖..."
    $PIP_BIN install numpy matplotlib lxml simplejson setuptools --upgrade

    echo "🛠️ 安装最新版本的 FIO (>=2.0.3)..."
    if ! command -v fio >/dev/null; then
        git clone https://github.com/axboe/fio.git /tmp/fio
        cd /tmp/fio
        make -j$(nproc)
        make install
        cd /
        rm -rf /tmp/fio
    fi

    echo "✅ 检查 FIO 版本:$(fio --version)"

    echo "🛠️ 安装 TKperf 工具..."
    if ! command -v tkperf >/dev/null; then
        git clone https://github.com/thomas-krenn/TKperf.git /tmp/tkperf
        cd /tmp/tkperf
        $PYTHON_BIN setup.py install
        ln -sf /usr/local/python3.8/bin/tkperf /usr/local/bin/tkperf
        ln -sf /usr/local/python3.8/bin/tkperf-cmp /usr/local/bin/tkperf-cmp
        cd /
        rm -rf /tmp/tkperf
    fi

    echo "✅ TKperf 安装完成,版本信息:"
    tkperf --version
    which tkperf
}

🔔 使用方式:

sudo bash install_tkperf.sh
install_tkperf

📌 三、安装完成后验证方法

✅ 验证TKperf命令存在:

tkperf --version
tkperf -h
  • 若能看到帮助信息与版本号,即成功 ✅

🧪 四、验证 TKperf 测试(两种方式)

📌 (1) 安全的虚拟盘测试方式(推荐)

此方式不会影响真实硬盘数据:

➡️ 创建虚拟盘并测试:

# 创建1G虚拟盘
fallocate -l 1G /tmp/fake.img
losetup -fP /tmp/fake.img
loopdev=$(losetup -a | grep fake.img | cut -d ':' -f1)
echo "虚拟盘创建在: $loopdev"

# 快速测试(约30秒内完成)
sudo tkperf ssd test_loop $loopdev -ft -nj 1 -iod 1 -rt 10

参数含义:

  • -ft 强制测试
  • -nj 1 单任务
  • -iod 1 IO深度为1
  • -rt 10 每项测试10秒

➡️ 验证测试结果:

ls test_loop.*
# test_loop.log  test_loop.pdf  test_loop.rst  test_loop.xml

✅ 成功即会产生这些文件。

➡️ 清理虚拟盘:

losetup -d $loopdev
rm -f /tmp/fake.img

📌 (2) 使用真实盘测试方式(请谨慎!)

⚠️ 警告:此测试会擦除指定磁盘的数据!请确保目标盘无数据!

➡️ 执行真实盘测试:

# 假设/dev/sdx是空闲盘,请务必确认!
sudo tkperf ssd real_test /dev/sdx -ft -nj 1 -iod 1 -rt 10

约30秒~1分钟即可完成。

➡️ 验证结果:

ls real_test.*
# real_test.log  real_test.pdf  real_test.rst  real_test.xml

📌 (3) 验证TKperf的XML重载功能(可选)

执行测试后,可使用XML重载验证功能:

sudo tkperf ssd real_test none -xml

此命令将重新加载XML数据生成报告(不会重复测试)。

🚩 五、常见错误处理方式

  • command not found: tkperf
    解决:确认是否已创建软链接到/usr/local/bin或添加路径到环境变量。

    ln -sf /usr/local/python3.8/bin/tkperf /usr/local/bin/tkperf
  • XMLSyntaxError 错误
    解决:确保执行过实际测试并生成了.xml文件。

📌 六、快速验证脚本(进阶可选)

如果经常需要一键快速验证环境,可以创建如下脚本:

文件名:quick_verify_tkperf.sh

#!/bin/bash
set -e
echo "🔍 快速验证TKperf..."

fallocate -l 500M /tmp/quick.img
losetup -fP /tmp/quick.img
loopdev=$(losetup -a | grep quick.img | cut -d ':' -f1)

echo "🔧 测试设备: $loopdev"
sudo tkperf ssd quick_verify $loopdev -ft -nj 1 -iod 1 -rt 5

if [ -f quick_verify.xml ]; then
    echo "✅ TKperf环境验证成功!"
else
    echo "❌ 测试失败,请检查环境!"
fi

losetup -d $loopdev
rm -f /tmp/quick.img

执行方法:

sudo bash quick_verify_tkperf.sh

🎯 七、总结表格(安装与验证)

步骤 内容 脚本/命令
1 安装 bash install_tkperf.sh; install_tkperf
2 验证命令 tkperf --version
3 虚拟盘测试 fallocate, losetup, tkperf ssd ...
4 真实盘测试 tkperf ssd real_test /dev/sdx ...
5 XML 重载 tkperf ssd testname none -xml
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论