Czy masz jakieś ogólne zasady, na których opierasz się podczas rozwiązywania trudnego problemu z siecią / sprzętem / oprogramowaniem?
Np .: „Izoluję źródło problemu, testując urządzenie peryferyjne za pomocą drugiego komputera” lub „Usuwam tyle sprzętu, ile jest możliwe, aby włączyć urządzenie, a następnie dodam komponenty jeden po drugim, aż będę mógł odtworzyć problem” itd.
troubleshooting
nazwa użytkownika
źródło
źródło
Odpowiedzi:
Po prostu lista punktów, które zapisałem sobie po walce z jakimś problemem:
Była też świetna lista reguł debugowania, w formacie PDF z przykładami i objaśnieniami do każdej z reguł. Nie mogłem szybko znaleźć pliku PDF, ale myślę, że to plakat z listy:
źródło
Jeśli problem dotyczy Internetu, prawdopodobnie jest to DNS.
Jeśli problem jest trudny do zdiagnozowania, prawdopodobnie jest to pamięć RAM.
Jeśli problem dotyczy stacji roboczej z systemem Windows, prawdopodobnie najprościej jest go odtworzyć.
Jeśli problem występuje w piątek, prawdopodobnie jest to coś poważnego.
źródło
Lubię wracać do metody naukowej .
From ( http://en.wikipedia.org/wiki/Scientific_method )
Zasadniczo zawsze lubię próbować dokładnie sprawdzać moje podstawowe założenia. Czy ma zasilanie, czy jest podłączony, czy okablowanie jest dobre. Bardzo denerwujące jest spędzanie godzin na próbach rozwiązania problemu z oprogramowaniem, gdy masz luźny kabel.
Uważam, że bardzo ważne jest, aby w fazie tworzenia hipotezy wymyślić jak najwięcej możliwych przyczyn problemu. Następnie próbuję najpierw wybrać pomysły do przetestowania na podstawie tego, jak łatwo jest przetestować i jak prawdopodobny jest pomysł.
Ważne jest również, aby uzyskać pomoc. Skonsultuj się ze współpracownikami, sprzedawcą lub kimkolwiek, kto ma najlepszą wiedzę na temat danych systemów, jeśli możesz. Nie marnuj dużo czasu na przekręcanie kół na problem, jeśli jest ktoś, kto może pomóc Ci rozwiązać problem.
O'Reilly ma dobrą książkę Narzędzia do rozwiązywania problemów z siecią, która zawiera dobry zestaw kroków do naśladowania, bardzo podobny do metody naukowej. Uważam tę książkę za bardzo przydatną i zdecydowanie ją polecam. Książka zawiera dużo więcej szczegółów i sugeruje wiele przydatnych narzędzi.
Z narzędzi do rozwiązywania problemów sieciowych
Zobacz też:
źródło
(Te najważniejsze informacje zostały sparafrazowane z rozdziału „Debugowanie” w „Praktyce administracji systemem i siecią” )
Dwie rzeczy, które należy wiedzieć:
Dowiedz się, jak wygląda wersja „stała”. Najlepiej polecenie, które można uruchomić, które daje określone wyjście, gdy coś działa. Na przykład: próbuję dowiedzieć się, dlaczego SSH prosi o hasło, gdy poprawnie skonfigurowałem klucze (a przynajmniej tak mi się wydawało). Więc mój test brzmi: „ssh servername uptime” i powinien działać bez pytania o hasło.
Opisz problem na odpowiednim poziomie. Użytkownik narzekający, że nie może pingować serwera, nie powinien odsyłać Cię do uruchomienia i naprawy serwera. Zadaniem tej osoby nie jest siedzenie i pingowanie komputera przez cały dzień. Chcą wykonać jakieś zadanie, takie jak używanie maszyny jako serwera DNS. Przykład: gdy użytkownik skarżył się, że nie może pingować komputera w połowie świata. Spędzam dzień, szukając sysadminów w tej części firmy, aby dowiedzieć się, co było nie tak z tą maszyną. Został wycofany ze służby i wpadli w panikę, ponieważ myśleli, że może wyłączyli niewłaściwą maszynę. Skontaktowałem się z użytkownikiem i powiedziałem „poza tym, że musisz pingować ten komputer, co chciałbyś z tym zrobić?”. Okazało się, że chciał uruchomić na nim określoną pracę i gdyby postępował zgodnie z właściwą procedurą, jego zadania zostałyby automatycznie przekierowane na maszynę zastępczą. Zmarnowałem cały dzień i czas lokalnych administratorów. Innym powodem, dla którego „nie mogę pingować”, jest niewłaściwe do testowania: często zapory ogniowe są skonfigurowane do odrzucania pakietów ping, ale umożliwiają przepuszczanie innych pakietów. Sprawdź, przez co chcesz przejść.
Dwie strategie:
Dodatek: dodawaj składniki do momentu pojawienia się problemu. Ostatnią rzeczą, którą dodałeś, jest problem. Przykład: przeglądarki internetowe nie mogą komunikować się z serwerem. Pomiędzy serwerem a użytkownikiem znajduje się moduł równoważenia obciążenia, zapora ogniowa, pamięć podręczna i lokalny internetowy serwer proxy użytkownika. Najpierw spróbuj wysłać zapytania bezpośrednio do serwera, następnie przez LB do serwera, a następnie przez zaporę ogniową do LB do serwera itp. Za każdym razem dodając jeden komponent.
Subtraktywne: Kontynuuj usuwanie komponentów, aż problem zniknie. Ostatnią rzeczą, którą usunąłeś, był problem: Przykład: Maszyna z dziesiątkami kart nie uruchamia się. Wyjmuj karty, dopóki urządzenie się nie uruchomi.
Dwa kawałki głupiego szczęścia:
Zapomnij o wszystkim, co powiedziałem. Problem jest spowodowany ostatnią zmianą dokonaną w systemie. (działa to w 99% przypadków ... problem polega na tym, że w 99% nie wiesz, jaka była ostatnia zmiana)
Kiedy wszystko inne zawiedzie, poszukaj głupich rzeczy. http://whatexit.org/tal/mywritings/dumb-things-to-check.html Przykład: Szalonego problemu nie można było wyjaśnić. Następnie sprawdziliśmy plik konfiguracyjny: użytkownik edytował go, kopiując go do okna systemu Windows, edytując go, a następnie kopiując z powrotem. Teraz miał ^ M na końcu każdej linii. Nigdy tego nie zauważyliśmy, ponieważ nasz edytor tekstu po cichu ukrył ten fakt. Niestety, oprogramowanie odczytujące plik konfiguracyjny zamieniło te ^ M w przestrzeń non-break, która zepsuła mnóstwo innych procedur.
źródło
Ogólne praktyki, które pamiętam podczas całego procesu:
Podczas rozwiązywania problemów tutaj określa moją podstawową metodologię:
źródło
Postawy, które staram się utrzymać:
Są to postawy, które pomagają mi utrzymać - powstrzymują mnie od wyrzucania rąk w powietrze, ogłaszania czegoś „dziwnego”, a następnie poddawania się lub odczuwania nieszczęścia, ponieważ wydaje się to „nierozwiązywalne”.
Sposoby myślenia o rozwiązywaniu problemów:
Proces rozwiązywania problemów:
Internet nie działa? Sprawdź problem, znajdź witrynę, do której nie mogą się dostać. Szybkie testy obejmują ich połączenie internetowe (działa), czy to dla mnie ładuje (nie). Szybkie testy wskazują, że jest to witryna. Widząc, że problem mi się zdarza, szybko odsunąłem prawdopodobieństwo od komputera, przeglądarki, DNS, zapory biurowej konta użytkownika itp.
Więc strona się nie ładuje, co teraz? Tego jeszcze nie da się naprawić, więc poszukaj miejsc, w których możesz wyrzeźbić problem na mniejszy. Czy serwer jest włączony? Czy to ping? działa DNS? Tak. Czy usługa odpowiada na porcie 80? Nie. Czy usługa jest uruchomiona? Nie. Czy to się zaczyna? Nie. Czy wyświetla błędy w dzienniku zdarzeń / plikach dziennika? Tak! Co oni mówią?
Jest to wydajne i szybkie rozwiązywanie problemów, ponieważ nieustannie koncentruje się na zawężeniu zakresu problemu. Gdybym zaakceptował ich raport, że Internet nie działa, zostałbym wprowadzony w błąd, sądząc, że to błąd połączenia. Gdybym zaakceptował moje pierwsze stwierdzenie, że nie ładuje się dla nich, traciłbym czas na komputerze, sądząc, że to wina.
Wytnij fragmenty „rzeczy, których nie może być”, tak duże, jak to możliwe.
Zrozum system. Im bardziej ogólna wiedza na temat systemu, tym łatwiej. Tam, gdzie mam słabe zrozumienie, problemy są bardziej zastraszające, trudniejsze, wolniejsze i bardziej prawdopodobne jest, że skończą się obejście niż poprawka lub z dużym głupim powolnym naprawieniem (ponowna instalacja) niż mała, precyzyjna poprawka chirurgiczna.
źródło
Ogólnie pytam: „Co się zmieniło, co mogło spowodować ten problem”? Większość problemów jest spowodowana zmianami w znanych dobrych konfiguracjach. Jeśli potrafisz ustalić, kto dokonał zmiany, zazwyczaj otrzymasz odpowiedź.
źródło
Myślę, że to umiejętność, a nie nauka. Są chwile, kiedy idziesz niewłaściwą ścieżką, ale w większości:
Kiedyś mój szef zadzwonił do mnie z „starszym” inżynierem przez telefon - mówił mi, że ma jeden serwer, który nie może się połączyć i próbował zmienić kabel, ale nadal nie miał radości. W tle słyszałem dźwięk przypominający UPS na akumulatorach. Zapytałem go, czy widzi aktywność na przełączniku, powiedział „nie”. Zapytałem go, czy sygnał dźwiękowy pochodzi z UPS, odpowiedział, że tak, zapytałem, czy w ogóle może zobaczyć jakieś światła na stojaku, który powiedział nie ... Spójrz poza nos - to pomaga!
źródło
Zaczynam od sprawdzenia rzeczy oczywistych. Czy pojawia się komunikat o błędzie wyjaśniający, na czym polega problem? Czy wszystko jest prawidłowo podłączone? Nie lubię marnować kilku godzin na rozwiązywanie problemów, które mogłyby zostać rozwiązane w ciągu kilku minut. Myślę, że można być zbyt metodycznym. Widziałem, jak ludzie marnują cały dzień na odtwarzanie problemu, mimo że powiedziałem im dokładnie, na czym polega problem. Nie za to im płacę.
Jeśli odpowiedź nie jest oczywista, ustaw w szeregu podejrzanych i przetestuj ich w pierwszej kolejności. Dopiero po przetestowaniu prawdopodobnych podejrzanych powinieneś przetestować podejrzanych podejrzanych. Możesz być tak naukowy, jak chcesz.
źródło