Pada artikel ini, saya ingin berbicara tentang fitur-fitur dari semua array Flash AccelStor yang bekerja dengan salah satu platform virtualisasi paling populer - VMware vSphere. Secara khusus, untuk fokus pada parameter-parameter yang akan membantu untuk mendapatkan efek maksimum dari menggunakan alat yang kuat seperti All Flash.
Semua array Flash AccelStor NeoSapphire ™ adalah satu atau dua perangkat node berdasarkan SSD dengan pendekatan yang berbeda secara mendasar untuk menerapkan konsep menyimpan data dan mengatur akses ke sana menggunakan teknologi FlexiRemap® sendiri alih-alih algoritma RAID yang sangat populer. Array menyediakan akses blokir untuk host melalui antarmuka Fibre Channel atau iSCSI. Dalam keadilan, kami mencatat bahwa model dengan antarmuka ISCSI juga memiliki akses file sebagai bonus yang bagus. Namun dalam artikel ini, kami akan fokus pada penggunaan protokol blok sebagai yang paling produktif untuk Semua Flash.
Seluruh proses penggelaran dan kemudian mengatur kolaborasi antara array AccelStor dan sistem virtualisasi VMware vSphere dapat dibagi menjadi beberapa tahap:
- Implementasi topologi koneksi dan konfigurasi jaringan SAN;
- Menyiapkan Semua Flash array;
- Konfigurasikan host ESXi;
- Konfigurasikan mesin virtual.
Rangkaian AccelStor NeoSapphire ™ dengan Fibre Channel dan iSCSI digunakan sebagai peralatan contoh. Perangkat lunak dasarnya adalah VMware vSphere 6.7U1.
Sebelum menggunakan sistem yang dijelaskan dalam artikel ini, sangat disarankan agar Anda membiasakan diri dengan dokumentasi dari VMware mengenai masalah kinerja ( Performance Best Practices untuk VMware vSphere 6.7 ) dan pengaturan iSCSI ( Praktik Terbaik Untuk Menjalankan VMware vSphere Pada iSCSI )
Topologi Koneksi dan Konfigurasi SAN
Komponen utama jaringan SAN adalah HBA pada host ESXi, SAN switch, dan node array. Topologi tipikal dari jaringan seperti itu akan terlihat seperti ini:
Istilah Switch di sini mengacu pada switch fisik tunggal atau serangkaian switch (Fabric), atau perangkat yang digunakan bersama antara berbagai layanan (VSAN dalam kasus Fibre Channel dan VLAN dalam kasus iSCSI). Menggunakan dua sakelar independen / Fabric menghilangkan kemungkinan titik kegagalan.
Koneksi langsung host ke array, meskipun didukung, sangat tidak disarankan. Kinerja semua array Flash cukup tinggi. Dan untuk kecepatan maksimum, Anda harus menggunakan semua port array. Karena itu, diperlukan setidaknya satu sakelar antara host dan NeoSapphire ™.
Memiliki dua port pada host HBA juga merupakan prasyarat untuk kinerja maksimum dan toleransi kesalahan.
Jika Anda menggunakan antarmuka Fibre Channel, Anda perlu mengonfigurasi zonasi untuk menghindari kemungkinan konflik antara pemrakarsa dan target. Zona dibangun berdasarkan prinsip "satu port inisiator - satu atau lebih port array".
Jika Anda menggunakan koneksi iSCSI jika Anda menggunakan sakelar yang dibagikan dengan layanan lain, maka Anda harus mengisolasi lalu lintas iSCSI di dalam VLAN terpisah. Anda juga sangat disarankan untuk mengaktifkan dukungan Jumbo Frames (MTU = 9000) untuk meningkatkan ukuran paket pada jaringan dan, dengan demikian, mengurangi jumlah overhead selama transmisi. Namun, perlu diingat bahwa untuk operasi yang benar diperlukan untuk mengubah parameter MTU pada semua komponen jaringan di sepanjang rantai inisiator-switch-target.
Menyiapkan Semua Array Flash
Array dikirimkan ke pelanggan dengan grup FlexiRemap® yang sudah terbentuk. Oleh karena itu, tidak diperlukan tindakan untuk mengintegrasikan drive ke dalam struktur tunggal. Cukup untuk membuat volume dari ukuran yang dibutuhkan dan dalam kuantitas yang dibutuhkan.
Untuk kenyamanan, ada fungsi untuk pembuatan batch dari beberapa volume volume yang diberikan sekaligus. Volume "Tipis" dibuat secara default, karena ini memungkinkan penggunaan ruang penyimpanan yang lebih rasional (termasuk berkat dukungan Reklamasi Ruang). Dalam hal kinerja, perbedaan antara volume tipis dan tebal tidak melebihi 1%. Namun, jika Anda ingin "memeras semua jus" dari array, Anda selalu dapat mengubah volume "tipis" menjadi "tebal". Tetapi harus diingat bahwa operasi semacam itu tidak dapat diubah.
Kemudian tetap "mempublikasikan" volume yang dibuat dan mengatur hak akses kepada mereka dari host menggunakan ACL (alamat IP untuk iSCSI dan WWPN untuk FC) dan pemisahan fisik port pada array. Untuk model iSCSI, ini dilakukan melalui pembuatan Target.
Untuk model FC, publikasi terjadi melalui pembuatan LUN untuk setiap port dalam array.
Untuk mempercepat proses konfigurasi, host dapat dikelompokkan. Selain itu, jika tuan rumah menggunakan multi-port HBA FC (yang dalam praktiknya paling sering terjadi), sistem secara otomatis menentukan bahwa port-port HBA tersebut milik tuan rumah yang sama karena WWPN, yang berbeda satu per satu. Juga, pembuatan batch Target / LUN didukung untuk kedua antarmuka.
Poin penting ketika menggunakan antarmuka iSCSI adalah untuk membuat beberapa target volume sekaligus untuk meningkatkan kinerja, karena antrian target tidak dapat diubah, dan itu sebenarnya akan menjadi hambatan.
Konfigurasikan host ESXi
Di sisi ESXi, konfigurasi dasar dilakukan sesuai dengan skenario yang sangat diharapkan. Prosedur untuk koneksi iSCSI:
- Tambah Perangkat Lunak iSCSI Adapter (tidak wajib jika sudah ditambahkan, atau jika menggunakan Perangkat Keras iSCSI Adapter);
- Membuat vSwitch, di mana lalu lintas iSCSI akan pergi, dan menambahkan uplink fisik dan VMkernal ke dalamnya;
- Menambahkan alamat array ke Dynamic Discovery;
- Membuat Datastore
Beberapa catatan penting:
- Dalam kasus umum, tentu saja, Anda dapat menggunakan vSwitch yang ada, tetapi dalam kasus vSwitch yang terpisah, mengelola pengaturan host akan jauh lebih sederhana.
- Penting untuk memisahkan traffic Manajemen dan iSCSI menjadi tautan fisik dan / atau VLAN yang terpisah untuk menghindari masalah kinerja.
- Alamat IP VMkernal dan port yang sesuai dari array Semua Flash harus berada di subnet yang sama, sekali lagi karena masalah kinerja.
- Untuk memastikan toleransi kesalahan VMware, vSwitch harus memiliki setidaknya dua uplink fisik
- Jika menggunakan Jumbo Frames, Anda harus mengubah MTU dari vSwitch dan VMkernal
- Tidak akan salah untuk mengingat bahwa sesuai dengan rekomendasi VMware untuk adapter fisik yang akan digunakan untuk bekerja dengan lalu lintas iSCSI, perlu untuk mengkonfigurasi Teaming dan Failover. Secara khusus, setiap VMkernal harus bekerja hanya melalui satu uplink, uplink kedua harus dialihkan ke mode yang tidak digunakan. Untuk toleransi kesalahan, Anda perlu menambahkan dua VMkernal, yang masing-masing akan bekerja melalui uplink-nya.

VMkernel Adapter (vmk #) | Adaptor Jaringan Fisik (vmnic #) |
---|
vmk1 (Storage01) | Adaptor aktif vmnic2 Adaptor yang tidak digunakan vmnic3
|
vmk2 (Storage02) | Adaptor aktif vmnic3 Adaptor yang tidak digunakan vmnic2
|
Tidak diperlukan koneksi Fibre Channel. Anda dapat segera membuat datastore.
Setelah membuat Datastore, Anda perlu memastikan bahwa kebijakan Round Robin digunakan untuk jalur ke Target / LUN sebagai yang paling produktif.
Secara default, pengaturan VMware menyediakan untuk penggunaan kebijakan ini sesuai dengan skema: 1000 permintaan melalui jalur pertama, 1000 permintaan berikutnya melalui jalur kedua, dll. Interaksi host ini dengan array pengontrol ganda akan tidak seimbang. Oleh karena itu, kami menyarankan pengaturan kebijakan Round Robin = 1 parameter melalui Esxcli / PowerCLI.
ParameterUntuk Esxcli:
daftar perangkat nmp penyimpanan esxcli
- Salin Nama Perangkat
- Ubah Kebijakan Round Robin
penyimpanan esxcli nmp psp roundrobin deviceconfig set --type = iops --iops = 1 --device = "Device_ID"
Sebagian besar aplikasi modern dirancang untuk bertukar paket data besar untuk memaksimalkan pemanfaatan bandwidth dan mengurangi beban CPU. Oleh karena itu, ESXi secara default mentransfer permintaan I / O ke perangkat penyimpanan dalam batch hingga 32767KB. Namun, untuk sejumlah skenario, bertukar porsi yang lebih kecil akan lebih produktif. Untuk array AccelStor, ini adalah skenario berikut:
- Mesin virtual menggunakan UEFI, bukan Legacy BIOS
- Digunakan oleh Replikasi vSphere
Untuk skenario seperti itu, Anda disarankan untuk mengubah nilai parameter Disk.DiskMaxIOSize ke 4096.
Untuk koneksi iSCSI, disarankan untuk mengubah parameter Login Timeout ke 30 (default 5) untuk meningkatkan stabilitas koneksi dan mematikan penundaan penerimaan paket DelayedAck yang diteruskan. Kedua opsi ada di vSphere Client: Host → Configure → Storage → Adapters Storage → Advanced Options untuk adaptor iSCSI
Titik yang agak halus adalah jumlah volume yang digunakan untuk datastore. Jelas bahwa untuk kemudahan manajemen ada keinginan untuk membuat satu volume besar untuk seluruh volume array. Namun, kehadiran beberapa volume dan, karenanya, datastore memiliki efek menguntungkan pada kinerja keseluruhan (lebih banyak pada antrian sedikit kemudian dalam teks). Karena itu, kami sarankan untuk membuat setidaknya dua volume.
Baru-baru ini, VMware menyarankan untuk membatasi jumlah mesin virtual pada satu datastore, sekali lagi untuk mendapatkan kinerja terbaik. Namun, sekarang, terutama dengan penyebaran VDI, masalah ini tidak lagi begitu akut. Tapi ini tidak membatalkan aturan lama - untuk mendistribusikan mesin virtual yang membutuhkan IO intensif atas data yang berbeda. Tidak ada yang lebih baik untuk menentukan jumlah optimal mesin virtual per volume selain memuat test array All Flash AccelStor dalam infrastrukturnya.
Konfigurasikan mesin virtual
Tidak ada persyaratan khusus saat menyiapkan mesin virtual, atau lebih tepatnya, mereka cukup biasa:
- Menggunakan versi VM tertinggi (kompatibilitas)
- Lebih akurat untuk mengatur ukuran RAM ketika mesin virtual ditempatkan secara padat, misalnya, di VDI (karena secara default, pada saat startup, file halaman dibuat yang sebanding dengan ukuran RAM, yang mengkonsumsi kapasitas yang bermanfaat dan memiliki efek pada kinerja akhir)
- Gunakan versi IO adaptor yang paling efisien: tipe jaringan VMXNET 3 dan tipe SCSI PVSCSI
- Gunakan tipe drive Thick Provision Eager Zeroed untuk kinerja maksimum dan Thin Provisioning untuk pemanfaatan penyimpanan maksimum
- Jika memungkinkan, batasi pekerjaan mesin I / O non-kritis menggunakan Batas Disk Virtual
- Pastikan untuk menginstal VMware Tools
Catatan antrian
Antrian (atau I / O Luar Biasa) adalah jumlah permintaan I / O (perintah SCSI) yang menunggu untuk diproses pada waktu tertentu dari perangkat / aplikasi tertentu. Dalam hal terjadi antrian melimpah, kesalahan QFULL dihasilkan, yang akhirnya menghasilkan peningkatan dalam parameter latensi. Saat menggunakan sistem penyimpanan disk (spindle), secara teoritis, semakin tinggi antrian, semakin tinggi kinerjanya. Namun, Anda tidak boleh menyalahgunakannya, karena mudah dijalankan ke QFULL. Dalam kasus semua sistem Flash, di satu sisi, semuanya agak lebih sederhana: array telah menunda beberapa urutan besarnya lebih rendah dan oleh karena itu paling sering tidak perlu secara terpisah menyesuaikan ukuran antrian. Tetapi di sisi lain, dalam beberapa skenario penggunaan (bias kuat dalam persyaratan untuk IO untuk mesin virtual tertentu, tes untuk kinerja maksimum, dll.), Jika Anda tidak mengubah parameter antrian, maka setidaknya pahami indikator apa yang dapat dicapai, dan, yang paling penting, dengan cara apa.
AccelStor's All Flash Array sendiri tidak memiliki batasan volume atau port I / O. Jika perlu, bahkan satu volume bisa mendapatkan semua sumber daya array. Satu-satunya batasan antrian adalah dengan target iSCSI. Karena alasan inilah kebutuhan untuk membuat beberapa target (idealnya hingga 8 buah) untuk setiap volume untuk mengatasi batas ini ditunjukkan di atas. Juga, array AccelStor adalah solusi yang sangat produktif. Karena itu, Anda harus menggunakan semua port antarmuka sistem untuk mencapai kecepatan maksimum.
Di sisi ESXi dari tuan rumah, situasinya benar-benar berbeda. Tuan rumah itu sendiri menerapkan praktik akses yang sama ke sumber daya untuk semua peserta. Oleh karena itu, ada antrian IO terpisah untuk OS tamu dan HBA. Antrian untuk OS tamu digabungkan dari antrian ke adaptor SCSI virtual dan disk virtual:
Antrean untuk HBA tergantung pada jenis / vendor tertentu:
Kinerja akhir dari mesin virtual akan ditentukan oleh batas Kedalaman Antrian terendah di antara komponen host.
Berkat nilai-nilai ini, Anda dapat mengevaluasi indikator kinerja yang dapat kami peroleh dalam satu atau beberapa konfigurasi lainnya. Sebagai contoh, kami ingin mengetahui kinerja teoritis mesin virtual (tanpa mengikat ke blok) dengan latensi 0,5 ms. Kemudian IOPS = (1.000 / latensi) * I / O Luar Biasa (Batas Kedalaman Antrian)
ContohnyaContoh 1
- Adaptor HBA FC Emulex
- Satu VM di datastore
- VMware Paravirtual SCSI Adapter
Di sini batas Kedalaman Antrian ditentukan oleh Emulex HBA. Oleh karena itu, IOPS = (1000 / 0,5) * 32 = 64K
Contoh 2
- Adapter Perangkat Lunak VMware iSCSI
- Satu VM di datastore
- VMware Paravirtual SCSI Adapter
Di sini batas Kedalaman Antrian sudah ditentukan oleh Adapter SCSI Paravirtual. Oleh karena itu, IOPS = (1000 / 0.5) * 64 = 128K
Array All AccelStor All Flash teratas (seperti P710 ) mampu memberikan kinerja 700K IOPS untuk perekaman dalam blok 4K. Dengan ukuran blok seperti itu, jelas bahwa mesin virtual tunggal tidak mampu memuat array seperti itu. Untuk melakukan ini, Anda memerlukan 11 (misalnya 1) atau 6 (misalnya 2) mesin virtual.
Hasilnya, dengan konfigurasi yang benar dari semua komponen yang dijelaskan dari pusat data virtual, Anda bisa mendapatkan hasil yang sangat mengesankan dalam hal kinerja.
Acak 4K, Baca 70% / 30% Tulis
Faktanya, dunia nyata jauh lebih sulit untuk digambarkan dengan formula sederhana. Satu host selalu memiliki banyak mesin virtual dengan konfigurasi dan persyaratan IO yang berbeda. Ya, dan prosesor host terlibat dalam pemrosesan input / output, kekuatannya tidak terbatas. Jadi, untuk membuka potensi penuh dari model P710 yang sama , pada kenyataannya, tiga host diperlukan. Plus, aplikasi yang berjalan di dalam mesin virtual membuat penyesuaian. Oleh karena itu, untuk pengukuran yang akurat, kami sarankan untuk menggunakan uji dalam kasus model uji semua array Flash AccelStor di dalam infrastruktur pelanggan untuk tugas aktual saat ini.