Ανάλυση απόδοσης VM στο VMware vSphere. Μέρος 3: Αποθήκευση

Ανάλυση απόδοσης VM στο VMware vSphere. Μέρος 3: Αποθήκευση

Μέρος 1. Σχετικά με τη CPU
Μέρος 2. Σχετικά με τη μνήμη

Σήμερα θα αναλύσουμε τις μετρήσεις του υποσυστήματος δίσκου στο vSphere. Ένα πρόβλημα αποθήκευσης είναι ο πιο συνηθισμένος λόγος για μια αργή εικονική μηχανή. Εάν, στην περίπτωση της CPU και της μνήμης RAM, η αντιμετώπιση προβλημάτων τελειώνει σε επίπεδο υπερεπόπτη, τότε εάν υπάρχουν προβλήματα με το δίσκο, ίσως χρειαστεί να αντιμετωπίσετε το δίκτυο δεδομένων και το σύστημα αποθήκευσης.

Θα συζητήσω το θέμα χρησιμοποιώντας το παράδειγμα της πρόσβασης μπλοκ σε συστήματα αποθήκευσης, αν και για την πρόσβαση αρχείων οι μετρητές είναι περίπου οι ίδιοι.

Λίγο θεωρίας

Όταν μιλάμε για την απόδοση του υποσυστήματος δίσκου των εικονικών μηχανών, οι άνθρωποι συνήθως δίνουν προσοχή σε τρεις αλληλένδετες παραμέτρους:

  • αριθμός λειτουργιών εισόδου/εξόδου (Λειτουργίες εισόδου/εξόδου ανά δευτερόλεπτο, IOPS).
  • διακίνηση;
  • καθυστέρηση λειτουργιών εισόδου/εξόδου (Latency).

Αριθμός IOPS συνήθως σημαντικό για τυχαίους φόρτους εργασίας: πρόσβαση σε μπλοκ δίσκων που βρίσκονται σε διαφορετικά σημεία. Ένα παράδειγμα τέτοιου φορτίου θα μπορούσε να είναι οι βάσεις δεδομένων, οι επιχειρηματικές εφαρμογές (ERP, CRM) κ.λπ.

Εύρος ζώνης σημαντικό για διαδοχικά φορτία: πρόσβαση σε μπλοκ που βρίσκονται το ένα μετά το άλλο. Για παράδειγμα, οι διακομιστές αρχείων (αλλά όχι πάντα) και τα συστήματα παρακολούθησης βίντεο μπορούν να δημιουργήσουν τέτοιο φορτίο.

Η απόδοση σχετίζεται με τον αριθμό των λειτουργιών I/O ως εξής:

Διακίνηση = IOPS * Μέγεθος μπλοκ, όπου Μέγεθος μπλοκ είναι το μέγεθος μπλοκ.

Το μέγεθος του μπλοκ είναι ένα αρκετά σημαντικό χαρακτηριστικό. Οι σύγχρονες εκδόσεις του ESXi επιτρέπουν μπλοκ μεγέθους έως 32 KB. Εάν το μπλοκ είναι ακόμη μεγαλύτερο, χωρίζεται σε πολλά. Δεν μπορούν όλα τα συστήματα αποθήκευσης να λειτουργήσουν αποτελεσματικά με τόσο μεγάλα μπλοκ, επομένως υπάρχει μια παράμετρος DiskMaxIOSize στις ESXi Advanced Settings. Χρησιμοποιώντας το, μπορείτε να μειώσετε το μέγιστο μέγεθος μπλοκ που παραλείπεται από τον hypervisor (περισσότερες λεπτομέρειες εδώ). Πριν αλλάξετε αυτήν την παράμετρο, σας συνιστώ να συμβουλευτείτε τον κατασκευαστή του συστήματος αποθήκευσης ή τουλάχιστον να δοκιμάσετε τις αλλαγές σε έναν πάγκο εργαστηρίου. 

Ένα μεγάλο μέγεθος μπλοκ μπορεί να έχει επιζήμια επίδραση στην απόδοση αποθήκευσης. Ακόμα κι αν ο αριθμός των IOPS και η απόδοση είναι σχετικά μικρός, μπορούν να παρατηρηθούν υψηλές καθυστερήσεις με μεγάλο μέγεθος μπλοκ. Επομένως, δώστε προσοχή σε αυτήν την παράμετρο.

Αφάνεια – η πιο ενδιαφέρουσα παράμετρος απόδοσης. Η καθυστέρηση εισόδου/εξόδου για μια εικονική μηχανή αποτελείται από:

  • καθυστερήσεις εντός του hypervisor (KAVG, Average Kernel MilliSec/Read).
  • καθυστέρηση που παρέχεται από το δίκτυο δεδομένων και το σύστημα αποθήκευσης (DAVG, Average Driver MilliSec/Command).

Η συνολική καθυστέρηση που είναι ορατή στο λειτουργικό σύστημα επισκέπτη (GAVG, Average Guest MilliSec/Command) είναι το άθροισμα των KAVG και DAVG.

Μετρώνται τα GAVG και DAVG και υπολογίζεται το KAVG: GAVG–DAVG.

Ανάλυση απόδοσης VM στο VMware vSphere. Μέρος 3: Αποθήκευση
Πηγή

Ας ρίξουμε μια πιο προσεκτική ματιά KAVG. Κατά την κανονική λειτουργία, το KAVG θα πρέπει να τείνει στο μηδέν ή τουλάχιστον να είναι πολύ μικρότερο από το DAVG. Η μόνη περίπτωση που γνωρίζω όπου το KAVG είναι αναμενόμενο υψηλό είναι το όριο IOPS στο δίσκο VM. Σε αυτήν την περίπτωση, όταν προσπαθείτε να υπερβείτε το όριο, το KAVG θα αυξηθεί.

Το πιο σημαντικό στοιχείο του KAVG είναι το QAVG - ο χρόνος ουράς επεξεργασίας μέσα στον hypervisor. Τα υπόλοιπα εξαρτήματα της KAVG είναι αμελητέα.

Η ουρά στο πρόγραμμα οδήγησης του προσαρμογέα δίσκου και η ουρά προς τα φεγγάρια έχουν σταθερό μέγεθος. Για περιβάλλοντα με υψηλή φόρτωση, μπορεί να είναι χρήσιμο να αυξήσετε αυτό το μέγεθος. Εδώ περιγράφει πώς να αυξήσετε τις ουρές στο πρόγραμμα οδήγησης του προσαρμογέα (ταυτόχρονα θα αυξηθεί η ουρά προς τα φεγγάρια). Αυτή η ρύθμιση λειτουργεί όταν μόνο ένα VM λειτουργεί με το φεγγάρι, κάτι που είναι σπάνιο. Εάν υπάρχουν πολλά VM στο φεγγάρι, πρέπει επίσης να αυξήσετε την παράμετρο Disk.SchedNumReqOutstanding (οδηγίες  εδώ). Αυξάνοντας την ουρά, μειώνετε τα QAVG και KAVG αντίστοιχα.

Αλλά και πάλι, πρώτα διαβάστε την τεκμηρίωση από τον προμηθευτή HBA και δοκιμάστε τις αλλαγές σε έναν πάγκο εργαστηρίου.

Το μέγεθος της ουράς προς το φεγγάρι μπορεί να επηρεαστεί από τη συμπερίληψη του μηχανισμού SIOC (Storage I/O Control). Παρέχει ομοιόμορφη πρόσβαση στο φεγγάρι από όλους τους διακομιστές του συμπλέγματος αλλάζοντας δυναμικά την ουρά στο φεγγάρι στους διακομιστές. Δηλαδή, εάν ένας από τους κεντρικούς υπολογιστές εκτελεί μια εικονική μηχανή που απαιτεί δυσανάλογη απόδοση (θορυβώδης γείτονας VM), το SIOC μειώνει το μήκος της ουράς στο φεγγάρι σε αυτόν τον κεντρικό υπολογιστή (DQLEN). Περισσότερες λεπτομέρειες εδώ.

Τακτοποιήσαμε το KAVG, τώρα λίγο DAVG. Όλα είναι απλά εδώ: Το DAVG είναι η καθυστέρηση που εισάγεται από το εξωτερικό περιβάλλον (δίκτυο δεδομένων και σύστημα αποθήκευσης). Κάθε σύγχρονο και όχι τόσο σύγχρονο σύστημα αποθήκευσης έχει τους δικούς του μετρητές απόδοσης. Για να αναλύσουμε προβλήματα με το DAVG, είναι λογικό να τα δούμε. Εάν όλα είναι καλά στην πλευρά του ESXi και του χώρου αποθήκευσης, ελέγξτε το δίκτυο δεδομένων.

Για να αποφύγετε προβλήματα απόδοσης, επιλέξτε τη σωστή Πολιτική επιλογής διαδρομής (PSP) για το σύστημα αποθήκευσης. Σχεδόν όλα τα σύγχρονα συστήματα αποθήκευσης υποστηρίζουν PSP Round-Robin (με ή χωρίς ALUA, Asymmetric Logical Unit Access). Αυτή η πολιτική σάς επιτρέπει να χρησιμοποιείτε όλες τις διαθέσιμες διαδρομές στο σύστημα αποθήκευσης. Στην περίπτωση του ALUA, χρησιμοποιούνται μόνο οι διαδρομές προς τον ελεγκτή που κατέχει το φεγγάρι. Δεν έχουν όλα τα συστήματα αποθήκευσης στο ESXi προεπιλεγμένους κανόνες που ορίζουν την πολιτική Round-Robin. Εάν δεν υπάρχει κανόνας για το σύστημα αποθήκευσης, χρησιμοποιήστε μια προσθήκη από τον κατασκευαστή του συστήματος αποθήκευσης, η οποία θα δημιουργήσει έναν αντίστοιχο κανόνα σε όλους τους κεντρικούς υπολογιστές στο σύμπλεγμα ή δημιουργήστε έναν κανόνα μόνοι σας. Λεπτομέριες εδώ

Επίσης, ορισμένοι κατασκευαστές συστημάτων αποθήκευσης συνιστούν την αλλαγή του αριθμού IOPS ανά διαδρομή από την τυπική τιμή των 1000 σε 1. Στην πρακτική μας, αυτό κατέστησε δυνατή την «συμπίεση» μεγαλύτερης απόδοσης από το σύστημα αποθήκευσης και τη σημαντική μείωση του χρόνου που απαιτείται για την αποτυχία σε περίπτωση αποτυχίας ή ενημέρωσης του ελεγκτή. Ελέγξτε τις συστάσεις του προμηθευτή και εάν δεν υπάρχουν αντενδείξεις, δοκιμάστε να αλλάξετε αυτήν την παράμετρο. Λεπτομέριες εδώ.

Βασικοί μετρητές απόδοσης υποσυστήματος δίσκου εικονικής μηχανής

Οι μετρητές απόδοσης υποσυστήματος δίσκου στο vCenter συλλέγονται στις ενότητες Datastore, Disk, Virtual Disk:

Ανάλυση απόδοσης VM στο VMware vSphere. Μέρος 3: Αποθήκευση

Στο τμήμα Αποθήκη δεδομένων υπάρχουν μετρήσεις για αποθήκες δίσκου vSphere (datastores) στις οποίες βρίσκονται οι δίσκοι VM. Εδώ θα βρείτε τυπικούς μετρητές για:

  • IOPS (Μέσοι όροι αιτημάτων ανάγνωσης/εγγραφής ανά δευτερόλεπτο), 
  • απόδοση (ρυθμός ανάγνωσης/εγγραφής), 
  • καθυστερήσεις (Ανάγνωση/Εγγραφή/Μεγαλύτερη καθυστέρηση).

Κατ 'αρχήν, όλα είναι ξεκάθαρα από τα ονόματα των μετρητών. Επιτρέψτε μου να επιστήσω την προσοχή σας για άλλη μια φορά στο γεγονός ότι τα στατιστικά εδώ δεν αφορούν ένα συγκεκριμένο VM (ή δίσκο VM), αλλά γενικά στατιστικά στοιχεία για ολόκληρο το χώρο αποθήκευσης δεδομένων. Κατά τη γνώμη μου, είναι πιο βολικό να δούμε αυτά τα στατιστικά στοιχεία στο ESXTOP, τουλάχιστον με βάση το γεγονός ότι η ελάχιστη περίοδος μέτρησης εκεί είναι 2 δευτερόλεπτα.

Στο τμήμα Disk υπάρχουν μετρήσεις σε μπλοκ συσκευές που χρησιμοποιούνται από το VM. Υπάρχουν μετρητές για IOPS τύπου άθροισης (ο αριθμός των λειτουργιών εισόδου/εξόδου κατά την περίοδο μέτρησης) και αρκετοί μετρητές που σχετίζονται με την πρόσβαση μπλοκ (Ακυρώσεις εντολών, επαναφορά διαύλου). Κατά τη γνώμη μου, είναι επίσης πιο βολικό να προβάλλετε αυτές τις πληροφορίες στο ESXTOP.

Τμήμα Εικονικός δίσκος – το πιο χρήσιμο από την άποψη της εύρεσης προβλημάτων απόδοσης του υποσυστήματος δίσκου VM. Εδώ μπορείτε να δείτε την απόδοση για κάθε εικονικό δίσκο. Είναι αυτές οι πληροφορίες που χρειάζονται για να κατανοήσουμε εάν μια συγκεκριμένη εικονική μηχανή έχει πρόβλημα. Εκτός από τους τυπικούς μετρητές για τον αριθμό των λειτουργιών I/O, τον όγκο ανάγνωσης/εγγραφής και τις καθυστερήσεις, αυτή η ενότητα περιέχει χρήσιμους μετρητές που δείχνουν το μέγεθος του μπλοκ: Μέγεθος αιτήματος ανάγνωσης/εγγραφής.

Στην παρακάτω εικόνα είναι ένα γράφημα της απόδοσης του δίσκου VM, όπου μπορείτε να δείτε τον αριθμό των IOPS, την καθυστέρηση και το μέγεθος του μπλοκ. 

Ανάλυση απόδοσης VM στο VMware vSphere. Μέρος 3: Αποθήκευση

Μπορείτε επίσης να προβάλετε μετρήσεις απόδοσης για ολόκληρο το χώρο αποθήκευσης δεδομένων εάν το SIOC είναι ενεργοποιημένο. Ακολουθούν βασικές πληροφορίες σχετικά με τη μέση καθυστέρηση και το IOPS. Από προεπιλογή, αυτές οι πληροφορίες μπορούν να προβληθούν μόνο σε πραγματικό χρόνο.

Ανάλυση απόδοσης VM στο VMware vSphere. Μέρος 3: Αποθήκευση

ESXTOP

Το ESXTOP έχει πολλές οθόνες που παρέχουν πληροφορίες για το υποσύστημα του κεντρικού δίσκου στο σύνολό του, μεμονωμένες εικονικές μηχανές και τους δίσκους τους.

Ας ξεκινήσουμε με πληροφορίες για εικονικές μηχανές. Η οθόνη «Disk VM» καλείται με το πλήκτρο «v»:

Ανάλυση απόδοσης VM στο VMware vSphere. Μέρος 3: Αποθήκευση

NVDISK είναι ο αριθμός των δίσκων VM. Για να δείτε πληροφορίες για κάθε δίσκο, πατήστε "e" και εισαγάγετε το GID του VM που σας ενδιαφέρει.

Η σημασία των υπόλοιπων παραμέτρων σε αυτήν την οθόνη είναι ξεκάθαρη από τα ονόματά τους.

Μια άλλη χρήσιμη οθόνη κατά την αντιμετώπιση προβλημάτων είναι ο προσαρμογέας δίσκου. Καλείται με το πλήκτρο «d» (τα πεδία A,B,C,D,E,G επιλέγονται στην παρακάτω εικόνα):

Ανάλυση απόδοσης VM στο VMware vSphere. Μέρος 3: Αποθήκευση

NPTH – ο αριθμός των διαδρομών προς τα φεγγάρια που είναι ορατές από αυτόν τον προσαρμογέα. Για να λάβετε πληροφορίες για κάθε διαδρομή στον προσαρμογέα, πατήστε "e" και εισαγάγετε το όνομα του προσαρμογέα:

Ανάλυση απόδοσης VM στο VMware vSphere. Μέρος 3: Αποθήκευση

AQLEN – μέγιστο μέγεθος ουράς στον προσαρμογέα.

Επίσης σε αυτήν την οθόνη υπάρχουν οι μετρητές καθυστέρησης για τους οποίους μίλησα παραπάνω: KAVG/cmd, GAVG/cmd, DAVG/cmd, QAVG/cmd.

Η οθόνη συσκευής δίσκου, η οποία καλείται πατώντας το πλήκτρο «u», παρέχει πληροφορίες για μεμονωμένες συσκευές μπλοκ - φεγγάρια (τα πεδία A, B, F, G, I επιλέγονται στην παρακάτω εικόνα). Εδώ μπορείτε να δείτε την κατάσταση της ουράς για τα φεγγάρια.

Ανάλυση απόδοσης VM στο VMware vSphere. Μέρος 3: Αποθήκευση

DQLEN – μέγεθος ουράς για μια συσκευή μπλοκ.
ACTV – αριθμός εντολών I/O στον πυρήνα ESXi.
QUED – αριθμός εντολών I/O στην ουρά.
%USD – ACTV / DQLEN × 100%.
ΦΟΡΤΩΝΩ – (ACTV + QUED) / DQLEN.

Εάν το %USD είναι υψηλό, θα πρέπει να εξετάσετε το ενδεχόμενο να αυξήσετε την ουρά. Όσο περισσότερες εντολές στην ουρά, τόσο υψηλότερο είναι το QAVG και, κατά συνέπεια, το KAVG.

Μπορείτε επίσης να δείτε στην οθόνη της συσκευής δίσκου εάν το VAAI (vStorage API for Array Integration) εκτελείται στο σύστημα αποθήκευσης. Για να το κάνετε αυτό, επιλέξτε τα πεδία A και O.

Ο μηχανισμός VAAI σάς επιτρέπει να μεταφέρετε μέρος της εργασίας από τον hypervisor απευθείας στο σύστημα αποθήκευσης, για παράδειγμα, μηδενισμό, αντιγραφή μπλοκ ή αποκλεισμό.

Ανάλυση απόδοσης VM στο VMware vSphere. Μέρος 3: Αποθήκευση

Όπως μπορείτε να δείτε στην παραπάνω εικόνα, το VAAI λειτουργεί σε αυτό το σύστημα αποθήκευσης: Τα πρωτόγονα Zero και ATS χρησιμοποιούνται ενεργά.

Συμβουλές για τη βελτιστοποίηση της εργασίας με το υποσύστημα δίσκου στο ESXi

  • Δώστε προσοχή στο μέγεθος του μπλοκ.
  • Ορίστε το βέλτιστο μέγεθος ουράς στο HBA.
  • Μην ξεχάσετε να ενεργοποιήσετε το SIOC σε χώρους αποθήκευσης δεδομένων.
  • Επιλέξτε ένα PSP σύμφωνα με τις συστάσεις του κατασκευαστή του συστήματος αποθήκευσης.
  • Βεβαιωθείτε ότι το VAAI λειτουργεί.

Χρήσιμα Σχετικά άρθρα:http://www.yellow-bricks.com/2011/06/23/disk-schednumreqoutstanding-the-story/
http://www.yellow-bricks.com/2009/09/29/whats-that-alua-exactly/
http://www.yellow-bricks.com/2019/03/05/dqlen-changes-what-is-going-on/
https://www.codyhosterman.com/2017/02/understanding-vmware-esxi-queuing-and-the-flasharray/
https://www.codyhosterman.com/2018/03/what-is-the-latency-stat-qavg/
https://kb.vmware.com/s/article/1267
https://kb.vmware.com/s/article/1268
https://kb.vmware.com/s/article/1027901
https://kb.vmware.com/s/article/2069356
https://kb.vmware.com/s/article/2053628
https://kb.vmware.com/s/article/1003469
https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/vsphere-esxi-vcenter-server-67-performance-best-practices.pdf

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο