Kami mencari penyimpanan kecepatan resonable. Karena anggaran yang rendah, kami memutuskan untuk menggunakan perangkat lunak iSCSI atau target AoE. Sebelum kami mengubah infrastruktur produksi kami, kami melakukan beberapa tes untuk memilih teknologi terbaik.
Untuk pengujian kami menggunakan:
- Fujitsu Siemens RX200 S4 sebagai target
- Fujitsu Siemens RX200 S4 sebagai inisiator
- NetGear mengelola sakelar 1GBit
- NIC onboard (Broadcom dg TOE), NIC EdiMax, Broadcom NIC dg TOE - semua 1GBit
- server target menggunakan pengontrol QLogic dengan 6 drive 2TB WD Blue SATA.
- sistem operasi target dan inisiator adalah Ubuntu 16.04 LTS dengan semua pembaruan. Switch didedikasikan untuk tujuan penyimpanan. Kami menguji obligasi dan multipathing.
Masalah kami adalah kecepatan baca yang rendah. Untuk pengujian kami menggunakan dd
dan file 40-100GB.
- baca dan tulis lokal pada server target lebih dari 300MB / s.
- menulis ke server oleh iSCSI atau AoE lebih dari 200MB / s yang memuaskan kami.
- membaca dari server selalu 95-99MB / s.
Kami telah mencoba ietd, aoetools, LIO. Kami telah menggunakan obligasi 2 NIC: balance-rr dan LACP, multipathing dengan rr. Digunakan frame normal dan jumbo. Akhirnya kami bahkan melakukan koneksi ethernet langsung antara target dan host (tidak ada saklar).
Semua tes memberikan hasil yang kurang lebih sama (tentu saja menggunakan NIC umum tanpa TOE dan iSCSI memberi hasil 20-30% lebih buruk).
Jaringan pengujian dengan iperf menunjukkan transfer sekitar 200MB / s (2GBit). Menonton penggunaan NIC pada target dengan bmon menunjukkan pemanfaatan yang sama dari kedua perangkat (masing-masing sekitar 50MB / s untuk membaca, sekitar 100MB / s untuk menulis).
Karena kami tidak beruntung, kami memutuskan untuk menggunakan NIC ketiga (kedua sisi tentu saja). Hasilnya aneh:
- 2 NIC - masing-masing 50MB / s
- 3 NIC - masing-masing 33MB / s
Apakah ada batasan pada perangkat lunak target yang menonaktifkan output lebih tinggi dari 1GBit / s?
Apa yang kita lakukan salah?