Category Archives: Server OS - Page 3

[PL] Przydatne kody błędów dla Windows Update

Kilka dni temu podczas instalowania poprawek ze strony Windows Update pojawił mi się błąd 5DE (a dokładnie 000005DE), dotyczący Microsoft Silverlight (KB970363):

Przechwytywanie

Niby nic ważnego, przy drugiej próbie (po restarcie) instalacja zakończyła się powodzeniem. Ale szukając tego błędu gdzieś w dokumentacji (tak w ramach popołudniowych rozrywek), znalazłem niepozorną stronkę z dużą ilością ciekawie opisanych błędów związanych z instalacją poprawek. Poniżej podaję tylko przykład:

Error Code     Dec Error Code     Error String     Description
0x00000000     -4294967296     Success     
0x00000001     -4294967295     ERROR_INVALID_FUNCTION     
0x0000007B     -4294967173     Error_Invalid_Name    The filename, directory name,or volume label syntax is incorrect
0x00000275     -4294966667     Error_cant_enable_Deny_only    A group marked use for deny only can not be enabled
0x0000041D     -4294966243     ERROR_SERVICE_REQUEST_TIMEOUT     The service did not respond to the start or control request in a timely fashion.
0x000004C3     -4294966077     Error_Session_Credential_Conflict     Multiple connections to a server or shared resource by the same user,using more than one user name, are not allowed.
0x000004C5     -4294966075     Error_Dup_Domainename     The workgroup or domain name is already in use by another computer on the network.
0x000005D5     -4294965803     NULL     
0x00000619     -4294965735     error_Invalid_HW_Profile     The specified hardware profile configuration is invalid
0x00000641     -4294965695     Error_Install_Service_failure     The Windows Installer Service could not be accessed. This can occur if you are running Windows in safe mode, or if the Windows Installer is not correctly installed.

Cała strona zawiera ich znacznie, znacznie więcej i nawet jeśli nie wszystkie nam się przydadzą, to warto gdzieś zrobić “kopię zapasową” tejże strony. Pełna strona jest dostępna pod TYM adresem.

[PL] Jak to zrobić: Hibernacja Hyper-V

Tak, ten post decydowanie zalicza się do listy postów na temat czegoś co jest bez sensu. A więc i sam post jest bez sensu (Karol !). Jednakże temat ten wrócił do mnie ostatnio, ze względu na prowadzone prace na serwerze i konieczność zabrania ich do domu (i kontynuowania!) bez większych prac dodatkowych. W przypadku jednego z systemów (a więc klienckiego Windows 7 Ultimate N) nie maCapture_HIB_01 żadnego kłopotu – zamknięcie klapy laptopa równa się rozpoczęciu hibernacji i mozna iść do domu. W przypadku drugiego systemu, jakim jest platforma serwerowa już tak prosto nie jest. I to powodowało u mnie pewną niezgodność ze światem. No bo ja bym chciał, a on się opiera (no gdyby to jeszcze była ona – Instancja – to może u bym uległ, ale tu?).

System jest sam w sobie zaprzeczeniem tego co można zrobić (czyt. co jest zalecane) według producenta. Mamy więc takiego stwora: Windows Server 2008 Datacenter R2 SP1 + SQL Server 2008 R2 SP1 + Active Directory + SharePoint Server 2010 SP1 + Hyper-V + Office 2010 Professional + kilka pomniejszych aplikacji = wszystko na przenośnym (a jakże) komputerku. I kiedy już uruchomiłem większość z tego co potrzebuję i chcę go zabrać do domu – muszę wszystko wyłączyć, co przecież jest bez sensu. Tak wiem, że serwer z zainstalowaną rolą Hyper-V nie pozwala na hibernację, bo ta rola wyłącza funkcję i hibernacji i uśpienia  (o matko, nawet nie mogę go przenieść do innego pokoju).

Jest taki artykuł na Microsoft czyli TechNet: Cómo deshabilitar y volver a habilitar la hibernación en un equipo con Windows (upss, miało być po naszemu):  How to disable and re-enable hibernation on a computer that is running Windows, gdzie są podane przykłady jak włączyć/wyłączyć hibernację na komputerze, za pomocą konsoli cmd i/lub aplikacji. No to spróbujmy za pomocą linii komend, znanym poleceniem powercfg:

Capture_HIB_02

Rys.1 | z uprawnieniami administratora: powercfg.exe /hibernate on (czyli włącz hibernację)

Capture_HIB_03

Rys2. | “A łyżka na to niemożliwe” – znaczy sie nie jest to rozwiązanie wspierane.

Tego się oczywiście spodziewałem, więc może spróbujemy użyć wpomnianej aplikacji FixIT.

Capture_HIB_04 Capture_HIB_05

Rys.3&4 | Pobranie aplikacji, zezwolenie na instalację, umowa licencyjna (ciekawe czemu po polsku…)

Capture_HIB_06

Rys.5 | Ten skrypt Microsoft FixIt nie dotyczy…

Czyli jednak jest nie tak jak oczekiwałem. Ostatni w zasadzie punkt jaki przychodzi w tym momencie do głowy (a w zasadzie pod palce) do wejście do matrixa, czyli w Rejestr Systemowy. Spróbujmy. Fragment rejestru odpowiedzialny za hibernację jest dostępny pod adresem: Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\hvboot

Capture_HIB_07

Rys.6 | W gałęzi HVBOOT odnajdujemy wartość odpowiadającą za start Hyper-V…

Capture_HIB_08

Rys.7 | … i dokonujemy zmiany wartości START, która jest ustawiona domyślnie z 1…

Capture_HIB_09

Rys.8 | …na 3, co pozwoli nam na dalsze prace.

Capture_HIB_10

Rys.9 | To jeszcze dla pewności ponówmy tę operację ulubionym wierszem poleceń komendą: se config hvboot start= demand

Dla porządku dlaczego akurat zmiana wartości z 1 na 3, a nie na coś innego? Bowiem takie wartości możemy przypisać tej funkcji:

  • 0 – Boot (Not supported by hvboot)
  • 1 – System
  • 2 – Auto
  • 3 – On Demand
  • 4 – Disabled

NIestety nie zmieni to naszego głównego układu w menu, gdzie dalej będziemy mieli tylko: Log Off / Switch User / Lock / Restart / Shut Down. Ale możemy tę niedogodność obejść (żeby nie używać cmd za każdym razem) i zrobić sobie skrót, który wywoła nam to co potrzebujemy. Przy okazji załatwiamy i temat Uśpienia i Hibernacji.

Capture_HIB_11

Rys.10 | Robimy na pulpicie (tfu, desktopie toż to przecież angielskojęzyczny serwer) skrót do dll-ki, która wywoła nam uśpienie/hibernację

Capture_HIB_12

Rys.11 | Nazywamy ją sobie jakkolwiek

Capture_HIB_13

Rys.12 | Na prawie samym końcu możemy jeszcze sprawdzić, czy udało nam się uruchomić funkcję o której pisałem na początku. Jak widać tak!! Bez niej nasz Capture_HIB_14skrót nie zadziała !

Teraz na pulpicie mamy dwa niezbyt ładne skróty – no cóż trzeba będzie tuning jakiś albo tweaking serwera zrobić, żeby było przyjemniej.

W zasadzie to wszystko. Praca zakończona, środowisko pracuje, hibernuje się i co najważniejsze wstaje prawie bez problemów (no dobrze, trzeba jeszcze raz wbić się do SSMS, czy poczekać dłużej na podłączenie karty sieciowej) ale generalnie działa tak jak planowałem. Teraz będą słabsze zdjęcia, ale aparatem telefonicznym były robione.

08182011795 08182011798

Rys.13&14 | Mamy więc pracujące aplikacje (łęcznie z SQL, AD, Hyper-V) i skrót HIBERNATE w lewym górnym rogu, a następnie po zahibernowaniu ekran wznawiania komputera.

08182011799 08182011800

Rys.15&16 | Mamy ekran logowania (czyli system się nie wysypał) i nawet wszystkich uprzednio zalogowanych użytkowników (więc system rzeczywiście się nie wywalił)!

08182011801

Rys.17 | Koniec wieńczy dzieło – czyli po zalogowaniu się aplikacje też pracują (jak wspomniałem wcześniej do SQL trzeba było się “do-logować”, ale cały SSMS jest tam gdzie był).

Ech, warto było.

[PL] Jak to zrobić: Instalacja pakietu językowego na serwerze

Niby od strony administracyjnej wystarczy angielska wersja systemu operacyjnego – przynajmniej tak twierdzą niektórzy (w tym i ja). Ale może się klient uprzeć i co zrobić? Zainstalować mu pakiet językowy (ang. Language Pack) na serwerze, dodać, że na jego własną odpowiedzialność i już. No dobrze sam mogę na siebie bicz ukręcić – przyda się taki pakiet językowy jeśli na serwerze będzie kiedyś pracował na przykład SharePoint Server 2010 (a co niech będzie najnowszy skoro jako baza jest Windows Server 2008 R2).

Ponieważ dość często się zdarza, że taki serwer nie ma bezpośredniego dostępu do internetu (czasem nie ma go nawet pośrednio) a my jako administratorzy, tudzież konsultanci jesteśmy przygotowani, więc pakiet mamy ze sobą. Można go wcześniej pobrać ze strony TechNet albo jakiegoś innego MSDN i przynieść na pendrive (całość dla wszystkich – trzydziestu pięciu – języków waży około 2 934 333 223 bajtów), więc nie jest to kłopotem. Osobiście wolę takie rozwiązanie, niż bezsensowne wypalanie płyt, które wprawdzie są tanie, ale służą często tylko raz, a miejsce zajmują po wsze czasy. Mozna też posłużyć się opcją zainstalowania poprawki przez internet (pisałem o tym TUTAJ) ale to nie do końca działa tak jak powinno.  I oczywiście zgodnie z prawami Murphy’ego nigdy ich nie ma, gdy są potrzebne. Mamy więc serwer, pendrive i klawiaturę – jedziemy:

Capture_W2K8LP_01

Ry1.1 | CMD z uprawnieniami administratora, kierujemy się do zasobu gdzie jest nasz katalog z poprawkami i wydajemy polecenie lpksetup.exe

Capture_W2K8LP_02

Rys.2 | Do wyboru mamy dwie opcje: ‘Instalacji nowego zestawu’ lub ‘Deinstalacji istniejącego’. Wybieramy oczywiście tę pierwszą opcję.

Capture_W2K8LP_03

Rys.3 | Za pomocą exploratora wybieramy interesujący nas język (w tym wypadku pl-pl) i klikamy OK.

Capture_W2K8LP_04

Rys.4 | Upss, coś jest nie tak. Wersja pakietu nie jest kompatybilna z systemem. Chwila przyjrzenia się i od razu widzimy różnicę:

mu_windows_server_2008_r2_language_pack_x64_dvd_x15-90636
mu_windows_server_2008_r2_sp1_language_pack_x64_dvd_619614

Capture_W2K8LP_05

Rys.5 | Kto nie ma w głowie… ten traci czas. Więc ściągamy właściwy pakiet (dla systemu z zainstalowanym Service Pack 1) oraz powtarzamy naszą operację (rys1 i rys.2) jeszcze raz.

Capture_W2K8LP_06

Rys.6 | Teraz jest tak jak powinno być, mamy wybrany pakiet językowy, informację o poprzebnym miejscu, oraz żadnych niepokojących komunikatów.

Capture_W2K8LP_07

Rys.7 | Oczywiście musimy zaakceptowć licencję dla naszego pakietu – jest ona zadziwiająco krótka, jak na tego producenta. Z drugiej strony jest to zrozumiałe – mamy przecież licencję na sam serwer.

Capture_W2K8LP_08

Rys.8 | Uruchamiamy instalację i mamy dużo, dużo czasu. Około pół godziny zajmuje zainstalowanie pakietu. Acha i gdyby nam przyszło do głowy zainstalowanie większej ilości, to tym sposobem możemy to zrobić tylko pojedynczo.

Capture_W2K8LP_09

Rys.9 | Po instalacji dostajemy oczekiwany komunkikat. Nie spotkałem się z innym komunikatem, jeśli świadomie go nie wywołałem – chociażby przez usunięcie nośnika zbyt wcześnie.

Capture_W2K8LP_10

Rys. 10 | Na końcu możemy zmieńić język, albo zostawić domyślny.

Bardzo zalecanym jest jeszcze odpytanie Windows Update o poprawki, zawsze znalazły się jakieś chociażby do Internet Explorer, a ze względu na “zalecany” ale “nie niezbędny” restart serwera, można to zrobić od razu.

[PL] Poprawki automatyczne czy manualne?

Czasami przy wyborze sposobu zarządzania poprawkami trzeba się zastanowić: “co będzie jeśli poprawka nam coś namiesza?”. Z mojej praktyki jako administratora na wszelakich systemach wynika, ze najbezpieczniejszym – przez co najbardziej czasochłonnym – podejściem jest wyłączenie automatycznych poprawek. Takie podejście ma swoje dobre i złe strony:

  • dobrą – pozwala nam zaplanować proces instalacji poprawek, przejrzeć dokumentację do nich (np biuletyny bezpieczeństwa) i przetestować (co jest zalecane, choć nie często realizowane);
  • złą – wymaga poświęcenia dodatkowego czasu w miarę regularnie (najlepiej po drugim wtorku miesiąca) na ich instalację.

Możemy oczywiście używać narzędzia WSUS (Windows Software Update Services), które to w większych sieciach czy instalacjach nierzadko staje się koniecznością. Jeśli jednak mamy na głowie mniejszą instalację możemy do każdego serwera podchodzić osobno. Przy instalacji nowego serwera opartego o system Windows 2008 Server R2 ustawienia aktualizacji nam nie umkną. Po zainstalowaniu systemu oczywiście powinniśmy (w wielu wypadkach musimy, bo będą tego wymagać aplikacje) dokonać aktualizacji, poprzez narzędzie Windows Update.

Jak widac na zrzucie ekranu poniżej, system nigdy nie był aktualizowany, zaś przed aktualizacja musimy przygotować ustawienia, wedla naszych upodobań. Bez tej operacji system nie pozwoli nam na pobranie poprawek (choć ułatwia wybór poprzez zaproponowanie automatycznych poprawek):

Capture_AutomaticUpdates01

Jednak prawdziwy administrator powinien zacząć od pola Change Settings (czyli zmiany ustawień). Po wejściu w ustawienia, mamy możliwość wybrania jednej z czterech opcji podejścia do poprawek:

  1. Instalacja automatyczna (rekomendowane przez producenta / nierekomendowane przeze mnie);
  2. Pobranie poprawek, lecz z możliwością decydowania o momencie instalacji;*
  3. Sprawdzenia dostępności poprawek z możliwością decydowania o momencie pobrania jak i instalacji;*
  4. Całkowita odmowa pobierania poprawek (nierekomendowane przez producenta / nierekomendowane przeze mnie)

Capture_AutomaticUpdates02

W przypadku moich systemów zawsze jest to opcja trzecia, która po pierwsze daje mi możliwość kontroli tego co chcę instalować, po drugie momentu instalacji, a po trzecie zabezpiecza przez nerwowymi telefonami użytkowników w ciągu dnia (którym ściągane poprawki mogą spowolnić działanie łącza). Dodatkowymi opcjami, które wybieram jest informowanie o rekomendowanych przez producenta poprawkach, w taki sam sposób jakbym je pobierał (w jednym miejscu) oraz zabronienie instalacji poprawek innym użytkownikom (szczególnie przydatne w małych instalacjach biurowych na komputerach klienckich).

Capture_AutomaticUpdates03

Potem pozostaje już tylko zaakceptować wybrane ustawienie i voilà – można zacząć zapychać łącze.

Capture_AutomaticUpdates04

Pierwszy zestaw jaki dostajemy dla Windows Server 2008 R2 x64 zawiera osiemdziesiąt pięć ważnych i jedną opcjonalną poprawkę. Potem po restarcie pojawi nam się jeszcze sześć, restart, service pack 1, restart, trzy, restart, jedna, restart… o ile dobrze zapamiętałem kolejność.

Capture_AutomaticUpdates05

Decyzja o sposobie podejścia do zarządzania poprawkami jest zawsze indywidualna (o ile korporacja nie wymusza proceduralnego podejścia), ale już na początku pracy z systemem, warto zwrócić na ten temat uwagę.

* opcja 2 i 3 pozwalają nam panować nad instalacją i dostępnością środowiska, niejednokrotnie się bowiem okazuje, że dana poprawka (bez wzgldu na to czy jest mała czy duża) może wymagać fizycznego lub wirtualnego, ale pełnego restartu systemu operacyjnego. Niejednokrotnie umowy z klientami zewnętrzymi (np.: outsourcowany klient) lub wewnętrznymi (np.: nasza księgowość) wymagają zachowania dostępności, a już z pewnością żaden podmiot z nami współpracujący nie będzie szczęśliwy, jeśli nagle w środku dnia wyłączy mu się środowisko.

PS. Ci co byli na SQLDAY 2011 we Wrocławiu, mogli zaobserwować efekt działania automatycznych poprawek na działającym serwerze Business Intelligence…

Content Protected Using Blog Protector By: PcDrome.
Skip to toolbar