Η μεταφορά μιας συνομιλίας NFS που χρησιμοποιεί TCP μέσα σε ένα τούνελ που μεταφέρει UDP είναι απόλυτα συνεπής και μπερδεύει τον κόσμο, γιατί ονομάζει δύο μεταφορές ταυτόχρονα. Το TCP είναι η συνομιλία της υπηρεσίας αρχείων ανάμεσα στον πελάτη και στον διακομιστή NFS. Το UDP είναι ο κρυπτογραφημένος φορέας ανάμεσα στα άκρα του VPN. Κανένα από τα δύο δεν συνεπάγεται τίποτα για το άλλο.

Καταγράψτε και τα δύο χωριστά πριν αρχίσετε να κάνετε αποσφαλμάτωση· τα περισσότερα από αυτά τα περιστατικά ξεκινούν όταν κάποιος αλλάζει το λάθος επίπεδο.

Δύο επίπεδα, δύο ρυθμίσεις

Η επιλογή προσάρτησης proto=tcp περιγράφει πώς ο πελάτης NFS μιλάει στον διακομιστή NFS. Η ρύθμιση proto udp του προφίλ VPN περιγράφει πώς τα άκρα του τούνελ ανταλλάσσουν ενθυλακωμένα πακέτα. Η αλλαγή μιας επιλογής προσάρτησης δεν αλλάζει το τούνελ, και η αλλαγή της μεταφοράς του τούνελ δεν αλλάζει αυτό που διαπραγματεύτηκε ο πελάτης NFS. Επιβεβαιώστε τις πραγματικές επιλογές προσάρτησης με nfsstat -m αντί για τη γραμμή του fstab, και επιβεβαιώστε τη μεταφορά του VPN από το προφίλ που χρησιμοποιείται πραγματικά.

Στη συνέχεια καταγράψτε τα στις σημειώσεις του περιστατικού ως δύο ξεχωριστά πεδία. Μια φαινομενική βελτίωση μπορεί να εντοπιστεί μόνο αν η σημείωση λέει ποιο επίπεδο άλλαξε.

Η περιήγηση δεν είναι μαζική ανάγνωση

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

Περιγράψτε την αποτυχημένη λειτουργία με ακρίβεια: διαδρομή, κατεύθυνση, κατά προσέγγιση σημείο της καθυστέρησης και το τελευταίο σχετικό γεγονός στα αρχεία καταγραφής του πελάτη, του διακομιστή και του VPN. Έπειτα συγκρίνετε πού συνεχίζεται η κίνηση και πού σταματά.

Το MTU είναι υπόθεση, όχι διάγνωση

Η απώλεια που εξαρτάται από το μέγεθος του πακέτου είναι πραγματικό ενδεχόμενο όταν ένα τούνελ μεταφέρει μεγάλα τμήματα, και παράγει ακριβώς το μοτίβο όπου η περιήγηση δουλεύει και η ανάγνωση κολλάει. Ωστόσο το μοτίβο αυτό δεν αποδεικνύει πρόβλημα MTU, γιατί η ίδια εικόνα εμφανίζεται όταν ένας διακομιστής είναι αργός, όταν ένα τείχος προστασίας τερματίζει μια μακρόχρονη σύνδεση λόγω χρονικού ορίου ή όταν ένας δίσκος είναι απασχολημένος. Δοκιμάστε την υπόθεση με ελεγχόμενη δοκιμή αντί να χαμηλώσετε το MTU παντού και να ανακηρύξετε νίκη.

Ένα χρονικό όριο από μόνο του δεν λέει τίποτα για το αν πρέπει να αντικατασταθεί το UDP. Είναι σύμπτωμα με πολλούς πιθανούς ιδιοκτήτες.

Αλλάξτε μία μεταβλητή κάθε φορά

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

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

Διαβάστε το επίπεδο που απέτυχε

Αν το τούνελ είναι ενεργό και το αίτημα NFS περιμένει, το VPN δεν απέτυχε· απέτυχε η υπηρεσία αρχείων. Αν το τούνελ έπεσε, η αποτυχία του αιτήματος NFS είναι συνέπεια και όχι αιτία. Η αντιπαραβολή γραμμών καταγραφής από τα δύο επίπεδα είναι ο ταχύτερος τρόπος να ξεχωρίσετε τις δύο περιπτώσεις και υπερτερεί της εικασίας από τον διαχειριστή αρχείων.

Γράψτε το συμπέρασμα ως δύο προτάσεις, μία ανά επίπεδο. Αυτό αρκεί για να αναπαράγει ο επόμενος τη δοκιμή χωρίς να ξανασυνάγει ποια μεταφορά είναι ποια.

Σχετικά άρθρα