Σήμερα θα αναλύσουμε τις μετρήσεις του υποσυστήματος δίσκου στο 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.
Ας ρίξουμε μια πιο προσεκτική ματιά KAVG. Κατά την κανονική λειτουργία, το KAVG θα πρέπει να τείνει στο μηδέν ή τουλάχιστον να είναι πολύ μικρότερο από το DAVG. Η μόνη περίπτωση που γνωρίζω όπου το KAVG είναι αναμενόμενο υψηλό είναι το όριο IOPS στο δίσκο VM. Σε αυτήν την περίπτωση, όταν προσπαθείτε να υπερβείτε το όριο, το KAVG θα αυξηθεί.
Το πιο σημαντικό στοιχείο του KAVG είναι το QAVG - ο χρόνος ουράς επεξεργασίας μέσα στον hypervisor. Τα υπόλοιπα εξαρτήματα της 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:
Στο τμήμα Αποθήκη δεδομένων υπάρχουν μετρήσεις για αποθήκες δίσκου vSphere (datastores) στις οποίες βρίσκονται οι δίσκοι VM. Εδώ θα βρείτε τυπικούς μετρητές για:
- IOPS (Μέσοι όροι αιτημάτων ανάγνωσης/εγγραφής ανά δευτερόλεπτο),
- απόδοση (ρυθμός ανάγνωσης/εγγραφής),
- καθυστερήσεις (Ανάγνωση/Εγγραφή/Μεγαλύτερη καθυστέρηση).
Κατ 'αρχήν, όλα είναι ξεκάθαρα από τα ονόματα των μετρητών. Επιτρέψτε μου να επιστήσω την προσοχή σας για άλλη μια φορά στο γεγονός ότι τα στατιστικά εδώ δεν αφορούν ένα συγκεκριμένο VM (ή δίσκο VM), αλλά γενικά στατιστικά στοιχεία για ολόκληρο το χώρο αποθήκευσης δεδομένων. Κατά τη γνώμη μου, είναι πιο βολικό να δούμε αυτά τα στατιστικά στοιχεία στο ESXTOP, τουλάχιστον με βάση το γεγονός ότι η ελάχιστη περίοδος μέτρησης εκεί είναι 2 δευτερόλεπτα.
Στο τμήμα Disk υπάρχουν μετρήσεις σε μπλοκ συσκευές που χρησιμοποιούνται από το VM. Υπάρχουν μετρητές για IOPS τύπου άθροισης (ο αριθμός των λειτουργιών εισόδου/εξόδου κατά την περίοδο μέτρησης) και αρκετοί μετρητές που σχετίζονται με την πρόσβαση μπλοκ (Ακυρώσεις εντολών, επαναφορά διαύλου). Κατά τη γνώμη μου, είναι επίσης πιο βολικό να προβάλλετε αυτές τις πληροφορίες στο ESXTOP.
Τμήμα Εικονικός δίσκος – το πιο χρήσιμο από την άποψη της εύρεσης προβλημάτων απόδοσης του υποσυστήματος δίσκου VM. Εδώ μπορείτε να δείτε την απόδοση για κάθε εικονικό δίσκο. Είναι αυτές οι πληροφορίες που χρειάζονται για να κατανοήσουμε εάν μια συγκεκριμένη εικονική μηχανή έχει πρόβλημα. Εκτός από τους τυπικούς μετρητές για τον αριθμό των λειτουργιών I/O, τον όγκο ανάγνωσης/εγγραφής και τις καθυστερήσεις, αυτή η ενότητα περιέχει χρήσιμους μετρητές που δείχνουν το μέγεθος του μπλοκ: Μέγεθος αιτήματος ανάγνωσης/εγγραφής.
Στην παρακάτω εικόνα είναι ένα γράφημα της απόδοσης του δίσκου VM, όπου μπορείτε να δείτε τον αριθμό των IOPS, την καθυστέρηση και το μέγεθος του μπλοκ.
Μπορείτε επίσης να προβάλετε μετρήσεις απόδοσης για ολόκληρο το χώρο αποθήκευσης δεδομένων εάν το SIOC είναι ενεργοποιημένο. Ακολουθούν βασικές πληροφορίες σχετικά με τη μέση καθυστέρηση και το IOPS. Από προεπιλογή, αυτές οι πληροφορίες μπορούν να προβληθούν μόνο σε πραγματικό χρόνο.
ESXTOP
Το ESXTOP έχει πολλές οθόνες που παρέχουν πληροφορίες για το υποσύστημα του κεντρικού δίσκου στο σύνολό του, μεμονωμένες εικονικές μηχανές και τους δίσκους τους.
Ας ξεκινήσουμε με πληροφορίες για εικονικές μηχανές. Η οθόνη «Disk VM» καλείται με το πλήκτρο «v»:
NVDISK είναι ο αριθμός των δίσκων VM. Για να δείτε πληροφορίες για κάθε δίσκο, πατήστε "e" και εισαγάγετε το GID του VM που σας ενδιαφέρει.
Η σημασία των υπόλοιπων παραμέτρων σε αυτήν την οθόνη είναι ξεκάθαρη από τα ονόματά τους.
Μια άλλη χρήσιμη οθόνη κατά την αντιμετώπιση προβλημάτων είναι ο προσαρμογέας δίσκου. Καλείται με το πλήκτρο «d» (τα πεδία A,B,C,D,E,G επιλέγονται στην παρακάτω εικόνα):
NPTH – ο αριθμός των διαδρομών προς τα φεγγάρια που είναι ορατές από αυτόν τον προσαρμογέα. Για να λάβετε πληροφορίες για κάθε διαδρομή στον προσαρμογέα, πατήστε "e" και εισαγάγετε το όνομα του προσαρμογέα:
AQLEN – μέγιστο μέγεθος ουράς στον προσαρμογέα.
Επίσης σε αυτήν την οθόνη υπάρχουν οι μετρητές καθυστέρησης για τους οποίους μίλησα παραπάνω: KAVG/cmd, GAVG/cmd, DAVG/cmd, QAVG/cmd.
Η οθόνη συσκευής δίσκου, η οποία καλείται πατώντας το πλήκτρο «u», παρέχει πληροφορίες για μεμονωμένες συσκευές μπλοκ - φεγγάρια (τα πεδία A, B, F, G, I επιλέγονται στην παρακάτω εικόνα). Εδώ μπορείτε να δείτε την κατάσταση της ουράς για τα φεγγάρια.
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 απευθείας στο σύστημα αποθήκευσης, για παράδειγμα, μηδενισμό, αντιγραφή μπλοκ ή αποκλεισμό.
Όπως μπορείτε να δείτε στην παραπάνω εικόνα, το VAAI λειτουργεί σε αυτό το σύστημα αποθήκευσης: Τα πρωτόγονα Zero και ATS χρησιμοποιούνται ενεργά.
Συμβουλές για τη βελτιστοποίηση της εργασίας με το υποσύστημα δίσκου στο ESXi
- Δώστε προσοχή στο μέγεθος του μπλοκ.
- Ορίστε το βέλτιστο μέγεθος ουράς στο HBA.
- Μην ξεχάσετε να ενεργοποιήσετε το SIOC σε χώρους αποθήκευσης δεδομένων.
- Επιλέξτε ένα PSP σύμφωνα με τις συστάσεις του κατασκευαστή του συστήματος αποθήκευσης.
- Βεβαιωθείτε ότι το VAAI λειτουργεί.
Χρήσιμα Σχετικά άρθρα:
Πηγή: www.habr.com