Mutakhirkan subsistem disk server lama dengan bus PCIe 1.0 - 2.0

Mengapa topik artikel ini dipilih untuk meningkatkan subsistem disk
Jelaslah bahwa pada awalnya Anda membutuhkan, sebagai aturan:

  1. Tambah RAM. Ini adalah langkah yang jelas bahwa saya bahkan tidak menganggap perlu untuk menulisnya di artikel utama
  2. Pasang prosesor tambahan atau ganti kedua prosesor dengan versi paling produktif yang didukung oleh soket server.

Untuk server lama yang memiliki memori, prosesor biasanya dapat ditemukan dengan harga murah.

Pada titik tertentu, pertanyaan dari setiap pemilik server mereka sendiri menjadi upgrade atau server baru.

Karena harga server baru sekarang dapat diukur dalam jutaan rubel, banyak yang berada di jalur peningkatan.

Untuk peningkatan yang berhasil, sangat penting untuk menggunakan kompromi, sehingga untuk biaya yang kecil (relatif terhadap harga server baru) kami mendapatkan keuntungan kinerja yang signifikan.

Artikel ini memberikan daftar SSD server PCI-E 2.0 x8, yang jauh lebih murah sekarang, pengontrol serangan dengan dukungan untuk caching SSD ditunjukkan, dan SSD SATA III diuji pada antarmuka SATA II.

Cara paling jelas untuk memutakhirkan subsistem disk adalah beralih dari HDD ke SSD. Ini berlaku untuk laptop dan server. Di server, mungkin satu-satunya perbedaan adalah SSD dapat dengan mudah dibangun menjadi serangan.

Benar, ada titik-titik halus yang terkait dengan fakta bahwa mungkin tidak ada port SATA III di server lama dan kemudian Anda harus mengganti atau menginstal pengontrol yang sesuai.

Tentu saja ada metode perantara.

Caching di SSD.


Secara umum, metode ini sangat cocok untuk database, 1C, akses acak apa pun. Kecepatan sangat cepat. Untuk file pengawasan video berukuran besar, metode ini tidak berguna.

Pengendali Serangan LSI (IBM, DELL, CISCO, Fujtsu)


Dimulai dengan seri 92xx, LSI memiliki teknologi CacheCade 2.0, yang memungkinkan Anda untuk menggunakan hampir semua SSD SATA sebagai cache array RAID. Baik untuk membaca dan menulis. Dan bahkan membuat cermin dari caching SSD.

Dengan pengontrol bermerek, segalanya menjadi lebih rumit. Ini terutama berlaku untuk IBM. Anda harus membeli kunci dan SSD untuk CacheCade dari IBM untuk banyak uang, sehingga lebih mudah untuk mengubah pengontrol ke LSI dan membeli kunci perangkat keras dengan harga murah. Kunci perangkat lunak harganya jauh lebih mahal daripada kunci perangkat keras.

Pengendali Serangan Adaptec


Pengontrol Adaptec memiliki teknologi MaxCache, yang juga memungkinkan Anda untuk menggunakan SSD sebagai cache. Kami tertarik pada versi pengontrol yang diakhiri dengan huruf Q.

Pengontrol-Q dapat menggunakan hampir semua SSD, bukan hanya SSD yang disediakan oleh Adaptec.

  • Dimulai dengan 5xxx, semua pengontrol memiliki dukungan serangan Hybrid. Inti dari teknologi ini adalah bahwa pembacaan selalu dilakukan dengan SSD, ketika ada mirror salah satu drive di mana SSD.
  • 5xxxQ, mis. 5805ZQ. Pengontrol ini mendukung MaxCache 1.0. Baca caching saja.
  • 6xxQ, mis. 6805Q. MaxCache 2.0. Baca dan tulis caching.
  • 7xxQ, misalnya 7805Q. MaxCache 3.0. Baca dan tulis caching.
  • 8xxQ untuk keperluan upgrade hampir tidak masuk akal untuk digunakan karena tingginya harga.

Artikel tentang caching pada SSD di Habré (pengontrol dan OS).

Caching Teknologi Perangkat Lunak pada SSD


Saya tidak akan membahas teknologi ini. Di hampir semua OS, mereka sekarang didukung. Saya ingat ketika menggunakan btrfs, ia secara otomatis meneruskan membaca permintaan ke perangkat dengan antrian terpendek - SSD.

SSD SATA III pada SATA II


Karena tidak selalu ada peluang dan uang untuk pengontrol baru, muncul pertanyaan tentang seberapa baik SSD SATA III bekerja pada antarmuka SATA II yang sudah usang.

Mari kita lakukan tes kecil. Sebagai subjek uji, kami akan memiliki 400GB SATA III SSD Intel S3710.
Baca Acak, iopsLatensi baca rata-rata, mSAcak Tulis, iopsLatensi tulis rata-rata, mSLinear baca, MB / sLinear write, MB / s
SATA II212412135804282235
SATA III680730,468613920,52514462

Perintah yang digunakan untuk pengujian kecepatan
fio --name LinRead --eta-newline=5s --filename=/dev/sda --rw=read --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting fio --name LinWrite --eta-newline=5s --filename=/dev/sda --rw=write --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting fio --name RandRead --eta-newline=5s --filename=/dev/sda --rw=randread --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=4 --runtime=60 --group_reporting fio --name RandWrite --eta-newline=5s --filename=/dev/sda --rw=randwrite --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=4 --runtime=60 --group_reporting 


Seperti yang Anda lihat perbedaan kecepatan linier, IOPS, penundaan sangat baik, jadi masuk akal untuk menggunakan hanya antarmuka SATA III, dan jika tidak, instal controller.

Dalam keadilan, saya akan mengatakan bahwa dalam percobaan lain, perbedaan dalam kecepatan membaca dan menulis acak ternyata tidak signifikan. Mungkin perbedaan IOPS yang sangat besar antara SATA II dan SATA III dapat terjadi karena saya memiliki beberapa pengontrol SATA II yang sangat tidak berhasil atau driver dengan beberapa bug.

Namun, faktanya adalah Anda perlu memeriksa kecepatan SATA II - tiba-tiba Anda memiliki pengontrol rem yang sama. Dalam hal ini, transisi ke pengontrol SATA III diperlukan.

SSD PCIe pada PCI-e 2.0 atau 1.0


Seperti yang Anda ketahui, SSD tercepat adalah PCI-e NVMe, yang tidak terbatas pada protokol SAS atau SATA.

Namun, ketika memasang PCI-e SSD modern, perlu diperhitungkan fakta bahwa kebanyakan dari mereka hanya menggunakan 4 jalur PCI-e, biasanya PCI-e 3.0 atau 3.1.

Sekarang mari kita lihat tabel kecepatan bus PCI-e.
PCI Express Bandwidth, GB / s
Tahun
lepaskan
Versi
PCI Express
Coding
Kecepatan
transmisi
Bandwidth pada x lines
× 4× 8× 16
20021.08b / 10b
0,50 GB / s1,0 GB / s2,0 GB / s4,0 GB / s
20072.08b / 10b
1,0 GB / s2,0 GB / s4,0 GB / s8,0 GB / s
20103.0128b / 130b
1,97 GB / s3,94 GB / s7,88 GB / s15,8 GB / s
Saat memasang PCI 3.0 x4 SSD dalam bus PCI-e 2.0, itu akan bekerja pada jumlah baris yang sama, tetapi pada kecepatan yang jauh lebih rendah. Ada masalah karena kecepatan linear SSD PCI-e modern melebihi bandwidth PCI-e 2.0 bus dan, terutama, PCI-e 1.0.

M.2 SSD dan adaptor PCI-e

Ada opsi upgrade yang baik ketika kita membeli adaptor seharga $ 10 dan meletakkan M.2 SSD di server, tetapi sekali lagi untuk SSD yang bagus akan ada pengurangan kecepatan (terutama pada PCI-e 1.0), dan M.2 SSD tidak selalu tersedia. untuk beban server: daya tahan tinggi, perlindungan daya, dan stabilitas karakteristik kecepatan karena pengisian cache SLC pada model murah.

Jadi metode ini hanya cocok untuk server dengan PCI-e 2.0 bus dan sibuk dengan pekerjaan yang tidak kritis.

SSD PCI-E 2.0 x8


Pembaruan logis yang paling ekonomis adalah menggunakan PCI-E 2.0 x8 SSD untuk server dengan bus PCI-e 1.0 (bandwidth hingga 2 GB / s) dan PCI-e 2.0 (hingga 4 GB / s).

SSD server seperti itu sekarang dapat dibeli dengan cukup murah baik di berbagai pasar dan di lelang online, termasuk di Rusia.

Saya telah menyusun tabel SSD usang yang akan meng-overclock server lama Anda dengan sempurna. Di akhir tabel, saya menambahkan beberapa SSD dengan antarmuka PCI-E 3.0 x8. Tiba-tiba Anda beruntung dan menemukan dengan harga yang wajar.

JudulTBPBWPCI-E4k baca iops, K4k tulis iops, Kbaca, MB / stulis, MB / s
Fusion-io ioDrive II DUO MLC2.432.52,0 x848049030002500
SANDISK FUSION IOMEMORY SX350-13001.342,0 x822534528001300
IOMEMORY FUSION SANDISK PX600-13001.3162,0 x823537527001700
SANDISK FUSION IOMEMORY SX350-16001.65.52,0 x827037528001700
SanDisk Fusion ioMemory SX300-32003.2112,0 x834538527002200
SanDisk Fusion ioMemory SX350-32003.2112,0 x834538528002200
SANDISK FUSION IOMEMORY PX6002.6322,0 x835038527002200
Huawei ES3000 V21,68.762,0 x839527015501100
Huawei ES3000 V23.217.522,0 x877023031002200
EMC XtremSF2.22,0 x834011027001000
HGST Virident FlashMAX II2.2332,0 x835010327001000
HGST Virident SSD FlashMAX II4.810.12,0 x8269512600900
HGST Virident FlashMAX III2.27.12,0 x85315927001400
Dell Micron P420M1.49.22,0 x8750953300630
Micron P420M1.49.22,0 x8750953300630
HGST SN2601.610/253,0 x8120020061702200
HGST SN2603.217.523,0 x8120020061702200
Intel P36083.217.53,0 x88508045002600
Kingston DCP10003.22.783,0 x8100018068006000
Oracle F3203.2Tanggal 293,0 x875012055001800
Samsung PM17253.2Tanggal 293,0 x8100012060002000
Samsung PM1725a3.2Tanggal 293,0 x8100018062002600
Samsung PM1725b3.2183,0 x898018062002600

Dari SSD ini berdiri sendiri Fusion memori. Direktur riset Fusion adalah Steve Wozniak . Kemudian SanDisk membeli perusahaan ini dengan harga $ 1,2 miliar. Pada satu waktu, harganya masing-masing $ 50.000. Sekarang Anda dapat membelinya seharga beberapa ratus dolar dalam kondisi baru untuk drive dengan kapasitas 1TB atau lebih tinggi.

Jika Anda memperhatikan tabel ini dengan seksama, Anda dapat melihat bahwa mereka memiliki jumlah IOPS per catatan yang agak tinggi, yang hampir sama dengan jumlah IOPS per pembacaan. Mengingat harganya saat ini, menurut saya, SSD ini layak untuk diperhatikan.

Benar, mereka memiliki beberapa fitur:

  1. Mereka tidak bisa di-boot.
  2. Perlu driver untuk digunakan. Driver memiliki hampir segalanya, tetapi di bawah versi Linux terbaru mereka harus dikompilasi.
  3. Ukuran sektor optimal adalah 4.096 byte. (512 juga didukung)
  4. Pengemudi dalam skenario terburuk dapat mengkonsumsi cukup banyak RAM (dengan ukuran sektor 512 byte)
  5. Kecepatan kerja tergantung pada kecepatan prosesor, jadi lebih baik mematikan teknologi hemat energi. Ini adalah plus dan minus, karena dengan bantuan prosesor yang kuat perangkat dapat bekerja lebih cepat daripada yang ditunjukkan dalam spesifikasi
  6. Perlu pendinginan yang baik. Untuk server, ini seharusnya tidak menjadi masalah.
  7. Tidak disarankan untuk ESXi, karena ESXi lebih suka disk dengan sektor 512N, dan ini dapat menyebabkan konsumsi memori yang tinggi oleh driver.
  8. Versi bermerek dari SSD ini, sebagai suatu peraturan, tidak didukung oleh vendor hingga tingkat driver terbaru dari SanDisk (Maret 2019)

Saya melakukan tes Fusion ioMemory dibandingkan dengan SSD server yang agak modern Intel P3700 PCI-E 3.0 x8 (yang terakhir harganya 4 kali lebih mahal daripada Fusion dengan kapasitas yang sama). Pada saat yang sama, Anda dapat melihat seberapa besar kecepatan terpotong akibat bus x4.
Fusion PX600 1.3TB PCI-E 2.0 x8Intel P3700 1.6TB PCI-E 3.0 x4

Ya, kecepatan baca linier secara unik dipotong oleh Intel P3700. Paspor harus 2800 MB / s, dan kami memiliki 1469 MB / s. Meskipun secara umum dapat dikatakan bahwa dengan bus PCI-e 2.0 Anda dapat menggunakan server SSD PCI-E 3.0 x4, jika Anda bisa mendapatkannya dengan harga yang wajar.

Kesimpulan


Subsistem disk dari server lama dengan bus PCI-E 1.0 atau 2.0 dapat ditemukan kembali dengan menggunakan SSD yang dapat memanfaatkan 8 jalur PCI-E yang menyediakan throughput hingga 4GB / s (PCI-E 2.0) atau 2GB / s (PCI-E) 1.0). Cara paling ekonomis untuk melakukan ini adalah menggunakan SSD PCI-E 2.0 yang ketinggalan zaman.

Opsi kompromi terkait dengan pembelian kunci CacheCade untuk pengontrol LSI atau mengganti pengontrol Adaptec dengan versi Q juga mudah diimplementasikan.

Nah, cara yang benar-benar dangkal adalah membeli (menyerbu) pengontrol SATA III agar SSD dapat bekerja dengan kecepatan penuh dan menggerakkan mereka semua yang membutuhkan kecepatan.

Source: https://habr.com/ru/post/id454222/


All Articles