Cephテストアーキテクチャ


1、概要
a、ceph-testパッケージのインストール
b、実行プログラム
例:
radosキャッシュプール機能のテスト:ceph_test_rados_api_tier
メッセージ層機能のテスト:ceph_test_msgr
プログラム分析:
a、すべてのテストコードはsrc/testディレクトリの下にある
b、Makefile:Makefile-client.amとMakefile-server.am制御
c、中には多くのユニットテストが開発時に参考になる
たとえばlibradosに基づいて開発するには、src/test/librados/のテストプログラムを参照します.
d、librbdに関する制御はMakefile-client.amファイル
2、発表前の全体テスト
    make check-local 
>~/test/result.txt 2>&1
    make check 
>~/test/result.txt 2>&1
failedのテストが表示されると、src/out/の下に詳細なログが記録されます.
このログを開発チームに送信
    http://tracker.ceph.com
メモの注意事項:
この場合のコンパイル環境:cephのバージョン、osのバージョン、linuxカーネルのバージョンなどを説明します.
3、単項テスト
./configure --with-debug
make -j4
sudo MON=1 OSD=4 MDS=1 ./vstart.sh -n -X
./ceph_test_librbd
または
make check
./unittest_librbd
4、単一使用例のテスト
./ceph_test_librbd TestLIBRBDEC.
TestCreateLsDeletePP
TEST_F(ClassAUnitTest, DISABLED_testCase1){// Assign .. Act .. Assert.}

--gtest_filter=ClassAUnitTest.*
sudo ./ceph_test_librbd --gtest_filter=TestLibRBDEC.TestIOPPWRITE
libradosのaio機能をテストします(プログラムディレクトリ:
test/librados
)
 sudo ./ceph_test_rados_api_aio
 sudo ./ceph_test_rados_api_io
     
5、クラスターテストの構築
(1)ceph_smalliobench
基本的な使い方:
ceph_smalliobench --num-concurrent-ops 16 --io-size 4096 --num-objects=1000 --write-ratio=1 >/tmp/osd_0_write_4194304
テスト結果に基づいて、図面を描画します.
(2)ceph_smalliobenchfs
(3)ceph_smalliobenchrbd
(4)ceph_smalliobenchdumb
(5)admin socketの使用
(6)rados benchテスト
rados -p POOL  bench 300 write -t 32 --no-cleanup --run-name benchwrite
rados -p POOL bench 300 seq -t 32 --no-cleanup --run-name benchwrite
rados -p POOL cleanup --run-name benchwrite
例えばdataレプリカプールのテスト
rados -p data  bench 300 write -t 32 --no-cleanup --run-name benchwrite
rados -p data bench 300 seq -t 32 --no-cleanup --run-name benchwrite
rados -p data cleanup --run-name benchwrite