Chạy thử nghiệm hiệu suất COSBench trên PowerScale

Bắt đầu từ OneFS phiên bản 9.0, PowerScale cho phép truy cập dữ liệu thông qua giao diện lập trình ứng dụng (API) Amazon Simple Storage Service (Amazon S3) một cách tự nhiên. PowerScale triển khai API S3 như một giao thức hạng nhất cùng với các giao thức NAS khác trên hệ thống tệp OneFS phân tán của nó.

COSBench là một công cụ đánh giá chuẩn phổ biến để đo hiệu suất của các dịch vụ Cloud Object Storage và hỗ trợ giao thức S3. Trong blog sau, chúng tôi sẽ hướng dẫn cách thiết lập COSBench để kiểm tra hiệu suất S3 của cụm PowerScale.

Bước 1: Chọn phiên bản v0.4.2.c4

Tôi khuyên bạn nên chọn phiên bản ứng viên phát hành v0.4.2 4 thay vì phiên bản v0.4.2 mới nhất , đặc biệt nếu bạn nhận được thông báo lỗi như sau và dịch vụ COSBench của bạn không thể khởi động:

# cat driver-boot.log     
Đang lắng nghe trên cổng 0.0.0.0/0.0.0.0:18089 ...
!PHIÊN HỌP 2020-06-03 10:12:59.683 --------------------------------------------------
eclipse.buildId=không xác định
java.phiên bản=1.7.0_261
java.vendor=Tập đoàn Oracle
Hằng số BootLoader: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Đối số dòng lệnh: -console 18089
!ENTRY org.eclipse.osgi 4 0 2020-06-03 10:13:00.367
!MESSAGE Không tìm thấy gói plugin/cosbench-castor.
!ENTRY org.eclipse.osgi 4 0 2020-06-03 10:13:00.368
!MESSAGE Không tìm thấy gói plugin/cosbench-log4j.
!ENTRY org.eclipse.osgi 4 0 2020-06-03 10:13:00.368
!TIN NHẮN Không tìm thấy gói plugin/cosbench-log@6:start.
!ENTRY org.eclipse.osgi 4 0 2020-06-03 10:13:00.369
!TIN NHẮN Không tìm thấy gói plugin/cosbench-config@6:start.

Bước 2: Cài đặt Java

Cả Java 1.7 và 1.8 đều hoạt động tốt với COSBench.

Bước 3: Cấu hình ncat

Ncat là cần thiết để COSBench hoạt động. Nếu không có nó, bạn sẽ nhận được thông báo lỗi sau:

[root]hopisdtmelabs14# bash ./start-driver.sh  
Khởi chạy khung osgi ...
Đã khởi chạy thành công osgi framework!
Đang khởi động trình điều khiển cosbench ...
trong đó: không có nc trong (/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/tme/bin:/usr/local/tme/tme_portal/perf_web/bin)
Không tìm thấy công cụ phù hợp để phát hiện trạng thái trình điều khiển cosbench.

Sử dụng các lệnh sau để cài đặt Ncat (ví dụ ở đây là CentOS 7) và cấu hình nó cho COSBench:

yum -y cài đặt wget
wget [https://nmap.org/dist/ncat-7.80-1.x86_64.rpm](https://nmap.org/dist/ncat-7.80-1.x86_64.rpm)
yum localinstall ncat-7.80-1.x86_64.rpm
cd /usr/bin
ln -s ncat nc

Bước 4: Giải nén các tập tin COSBench

Sau khi tải xuống 0.4.2.c4.zip , bạn có thể giải nén nó vào một thư mục:

giải nén 0.4.2.c4.zip

Cấp quyền thực thi cho tất cả các tập lệnh bash:

chmod +x /tmp/cosbench/0.4.2.c4/*.sh

Bước 5: Khởi động trình điều khiển và bộ điều khiển

Trên trình điều khiển và bộ điều khiển, hãy tìm cosbench-start.sh . Xác định vị trí dòng khởi chạy java, sau đó thêm hai tùy chọn sau:

-Dcom.amazonaws.services.s3.disableGetObjectMD5Validation=đúng
-Dcom.amazonaws.services.s3.disablePutObjectMD5Validation=đúng

Công cụ COSBench có hai vai trò: bộ điều khiển và trình điều khiển. Bạn có thể sử dụng lệnh sau để khởi động trình điều khiển:

bash ./cosbench/start-driver.sh

Trước khi khởi động bộ điều khiển, chúng ta cần thay đổi cấu hình để cho bộ điều khiển biết có bao nhiêu trình điều khiển và địa chỉ của chúng. Điều này được thực hiện bằng cách điền thông tin vào tệp cấu hình chính của bộ điều khiển. Tệp cấu hình nằm trong ./conf và tên của tệp là controller.conf . Sau đây là ví dụ về controller.conf :

[người điều khiển]
tài xế = 4
log_level = THÔNG TIN
log_file = nhật ký/hệ thống.log
archive_dir = lưu trữ
 
[tài xế1]
tên = driver1
url = [http://10.245.109.115:18088/driver](http://10.245.109.115:18088/driver)
 
[tài xế2]
tên = driver2
url = [http://10.245.109.116:18088/driver](http://10.245.109.116:18088/driver)
 
[tài xế3]
tên = driver3
url = [http://10.245.109.117:18088/driver](http://10.245.109.117:18088/driver)
 
[tài xế4]
tên = driver4
url = [http://10.245.109.118:18088/driver](http://10.245.109.118:18088/driver)

Chạy start-controller.sh để bắt đầu vai trò điều khiển:

bash ./khởi động-controller.sh

Bước 6: Chuẩn bị PowerScale

Trước tiên, bạn cần chuẩn bị cụm PowerScale của mình cho bài kiểm tra S3. Đảm bảo ghi lại khóa bí mật của người dùng mới tạo, s3. Chạy các lệnh sau để chuẩn bị PowerScale cho bài kiểm tra hiệu suất S3:

dịch vụ isi s3 cho phép
isi s3 cài đặt toàn cầu sửa đổi --https-only=false
isi auth người dùng tạo s3 --enabled=true
isi s3 keys tạo s3
mkdir -p -m 777 /ifs/s3/bkt1  
chmod 777 /ifs/s3
thùng isi s3 tạo --owner=s3 --name=bkt1 --path=/ifs/s3/bkt1

Soạn tệp XML khối lượng công việc và sử dụng tệp này để chỉ định chi tiết về thử nghiệm bạn muốn chạy. Sau đây là một ví dụ:

<?xml phiên bản="1.0" mã hóa="UTF-8"?>
<workload name="S3-F600-Test1" description="Isilon F600 với cấu hình ban đầu">
        <loại lưu trữ="s3" cấu hình="accesskey=1_s3_accid;khóa bí mật=wEUqWNWkQGmgMos70NInqW26WpGf;điểm cuối=http://f600-2:9020/bkt1;đường dẫn_phong_cách_truy_cập=true"/>
        <quy trình làm việc>
               <workstage name="init-for-write-1k">
                       <work type="init" workers="1" config="cprefix=write-bucket-1k; containers=r(1,6)"/>
               </sân khấu làm việc>
               <workstage name="init-for-read-1k">
                       <work type="init" workers="1" config="cprefix=read-bucket-1k; containers=r(1,6)"/>
               </sân khấu làm việc>
               <workstage name="chuẩn bị-1k">
                       <work type="prepare" workers="1" config="cprefix=read-bucket-1k;containers=r(1,6);oprefix=1kb_;objects=r(1,1000);sizes=c(1)KB"/>
               </sân khấu làm việc>
               <workstage name="write-1kb">
                       <work name="main" type="normal" interval="5" division="container" chunked="false" rampup="0" rampdown="0" workers="6" totalOps="6000">
                               <operation type="write" config="cprefix=write-bucket-1k; containers=r(1,6); oprefix=1kb_; objects=r(1,1000); sizes=c(1)KB"/>
                       </làm việc>
               </sân khấu làm việc>
               <workstage name="đọc-1kb">
                       <work name="main" type="normal" interval="5" division="container" chunked="false" rampup="0" rampdown="0" workers="6" totalOps="6000">
                               <operation type="read" config="cprefix=read-bucket-1k; containers=r(1,6); oprefix=1kb_; objects=r(1,1000)"/>
                       </làm việc>
               </sân khấu làm việc>
        </ quy trình làm việc>
</khối lượng công việc>

Bước 7: Chạy thử nghiệm

Bạn có thể trực tiếp gửi XML trong COSBench WebUI hoặc có thể sử dụng dòng lệnh sau trong bảng điều khiển bộ điều khiển để bắt đầu thử nghiệm:

bash ./cli.sh gửi ./conf/my-s3-test.xml

Bạn sẽ thấy bài kiểm tra đã hoàn tất thành công như hình dưới đây.

Hình này hiển thị nhật ký các giai đoạn trong khối lượng công việc. Cột Trạng thái, nằm thứ hai từ dưới lên, hiển thị từng giai đoạn trong khối lượng công việc là đã hoàn tất.

Hình 1. Màn hình hoàn tất sau khi thử nghiệm

Chúc bạn thử nghiệm vui vẻ!