Το μυστήριο της αργής πρόσβασης στα file shares


Φεβρουάριος 2012, σε μεγάλη ελληνική εταιρία με περίπου 150 workstations.

Ο πελάτης ξαφνικά τηλεφωνεί και παραπονιέται ότι η πρόσβαση στα file shares είναι πολύ αργή. Εντελώς συμπτωματικά αυτό συμβαίνει ταυτόχρονα με κάποιες μεγάλες αλλαγές στην δικτυακή του υποδομή (routers, switches). Φυσικά το μυαλό μας πάει πρώτα εκεί, αλλά δυστυχώς τυχαίνει η πρόσβαση στον παλιό file server να συνεχίζει να είναι απροβλημάτιστη, κάτι που κινεί υποψίες και ίσως σημαίνει ότι το πρόβλημα δεν είναι εκεί…

Το επόμενο βήμα φυσικά είναι να διαπιστώσουμε αν το πρόβλημα υπάρχει σε ορισμένα PC, ή σε κάποια συγκεκριμένα. Δυστυχώς το πρόβλημα φαίνεται να είναι παντού: δεξί κλικ σε κάποιο file share και η κλεψύδρα γυρνάει, γυρνάει… και γυρνάει για περίπου 20αριά δευτερόλεπτα μέχρι που να εμφανίσει την λίστα με τις επιλογές. Ένας τυπικός έλεγχος δείχνει ότι όλα είναι σεταρισμένα έτσι όπως πρέπει: DNS και DHCP από τον domain controller. Σε κάτι άλλο οφείλεται η καθυστέρηση, μήπως στο antivirus? Το απενεργοποιούμε προσωρινά, όπως και το firewall των Windows XP, χωρίς όμως αποτέλεσμα.

Και σε αυτό το σημείο έρχεται στην μνήμη μας αυτό το κάτι που ίσως να μας λύσει το πρόβλημα. Τα Windows XP έχουν ένα service με την ονομασία “webclient” το οποίο είναι από default ενεργό και τρέχει. Παρεμπιπτόντως, τα Windows 7 έχουν το service σε manual από default, και τυχαίνει στα Windows 7 να μην έχουμε αυτή την συμπεριφορά: η πρόσβαση στα file shares είναι ταχύτατη και απροβλημάτιστη.

Απενεργοποιούμε δοκιμαστικά το webclient service σε έναν υπολογιστή με Windows XP και… λύνεται το πρόβλημά μας. Δοκιμάζουμε και σε έναν ακόμα υπολογιστή με επιτυχία. Πως όμως θα μπορέσουμε να απενεργοποιήσουμε το webclient service με εύκολο τρόπο, χωρίς να χρειαστεί να πάμε σε κάθε υπολογιστή ξεχωριστά? Group Policy Object.

Φτιάχνουμε ένα πολύ απλό start-up script που θα τρέχει σε κάθε εκκίνηση του υπολογιστή που θα επηρεάζεται από το συγκεκριμένο Group Policy Object. Τα start-up scripts βρίσκονται μέσα στο Computer Configuration και το δικό μας script με την ονομασία websrvdisable.cmd είναι το εξής:

sc config webclient start= disabled

Εφαρμόζοντας το Group Policy Object πάνω σε ένα Organizational Unit που περιέχει όλους τους υπολογιστές στους οποίους θέλουμε να γίνει η αλλαγή, έχουμε πετύχει τον σκοπό μας. Σε αυτές τις περιπτώσεις είναι καλό να δημιουργούμε ένα νέο Group Policy Object και να μην πειράζουμε το Default Domain Policy.

Μια μικρή λεπτομέρεια: αν έχετε περισσότερους από έναν domain controllers με Windows Server 2008 ή και R2, δημιουργήστε το Central Store, ώστε να είστε σίγουροι ότι αντιγράφονται όλες οι αλλαγές που κάνετε στα Group Policy Objects μεταξύ των domain controllers. Δεν σχετίζεται άμεσα με το συγκεκριμένο πρόβλημα που είχαμε, αλλά είναι καλό να γίνεται έτσι κι αλλιώς. Ρίξτε μια ματιά σχετικά με αυτό εδώ.

Την επόμενη φορά λοιπόν που θα έχετε αργή ανταπόκριση στην πρόσβαση στα file shares, θυμηθείτε το webclient service και δοκιμάστε την παραπάνω συνταγή, πιθανόν να σας γλυτώσει από πολλές ώρες troubleshooting.

Advertisements

Σχολιάστε

Συνδεθείτε για να δημοσιεύσετε το σχόλιο σας:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση / Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση / Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση / Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση / Αλλαγή )

Σύνδεση με %s