Blog poświęcony głównie tematyce związanej z informatyką oraz użytkowymi aspektami komputerów i Internetu.
Creative Commons License
Ten utwór jest dostępny na licencji Creative Commons Uznanie autorstwa-Użycie niekomercyjne-Bez utworów zależnych 2.0 Polska

darmowe liczniki
Kategorie: Wszystkie | informatyka | przemyślenia | użytkowe
RSS
poniedziałek, 01 marca 2010
Zabezpieczenia przed skutkami awarii dysku twardego – przemyślenia

Dysk twardy należy do tych części systemu komputerowego, których działanie jest uzależnione od elementów mechanicznych. A elementy mechaniczne, nawet gdy są najwyższej jakości, będą ulegać awarii częściej niż elementy elektroniczne.  Chciałbym podzielić się kilkoma spostrzeżeniami na temat skutków awarii oraz metod zabezpieczania się przed nimi.

Najczęstszym objawem trwałego uszkodzenia dysku jest pojawienie się tzw. bad sectorów. Krótko mówiąc są to obszary na dysku, które uległy fizycznemu uszkodzeniu i nie można odczytać i/lub zapisać na nich danych. Obszary te mogą mieć bardzo różny rozmiar, przykładowo widziałem raz uszkodzenie długości zaledwie 11 bitów (polecam narzędzie SpinRite). Rodzaj skutków takiego uszkodzenia ściśle zależy od tego, w którym miejscu ono wystąpi. Jest to oczywiście zupełnie losowe. Można wyróżnić takie przypadki:

  1. W miejscu oznaczonym jako wolne: wówczas nic złego się nie stanie. O ile awaria zostanie w porę zaobserwowana np. poprzez monitoring S.M.A.R.T. albo skanowanie powierzchni dysku programem sprawdzającym, ważne dane skopiowane, a dysk wycofany z użycia. Sprawą oczywistą jest to, że praca na dysku z uszkodzeniem fizycznym prędzej czy później zakończy się jego kompletną "wysiadką".
  2. W miejscu, w którym znajduje się plik, ale niekrytyczny dla systemu operacyjnego. Wówczas też nic złego się nie stanie, o ile, podobnie jak w (1), awaria zostanie zauważona.
  3. W miejscu, w którym znajduje się plik należący do systemu operacyjnego. W tym momencie zaczynają się już poważne skutki. Trudno przewidzieć co się może dziać, ale system o ile w ogóle się uruchomi, to w najlepszym wypadku będzie się zachowywał dziwnie. Zanim zacznie się przeklinać producenta systemu dobrze jest upewnić się czy na dysku nie pojawił się właśnie bad sector. Należy użyć stosownych narzędzi do sprawdzania dysku i jak najszybciej skopiować cenne dane. Warto wiedzieć, że w systemie Windows awarie dysku można również zauważyć w dzienniku systemu (eventvwr.msc) jako błąd pochodzący od "disk" o komunikacie jednoznacznie wskazującym, że dyskiem nie jest dobrze (swoją drogą podobny komunikat może pojawić się w przypadku problemów z aparatem fotograficznym, kartą pamięci, pendrive'em etc. Wtedy nie należy się bać, bo przyczyną może być np. wadliwy kabel - trzeba upewnić się kiedy te błędy się pojawiają, czy zdarza się to podczas podłączenia np. aparatu do komputera). Należy również cieszyć się, że dostęp do danych jest w ogóle możliwy, bo w ostatnim przypadku.
  4. W miejscu, w którym znajduje się tzw. superblok systemu plików, czyli struktura opisująca fizyczną organizację danych w pliki na dysku. Widziałem kiedyś taki przypadek, że bad sector "trafił" w obszar MFT partycji NTFS. W takiej sytuacji przestaje być możliwy dostęp do systemu plików (w jakikolwiek sposób - zapomnij o sztuczkach z ratunkowymi dystrybucjami Linuxa). Jeżeli stało się to na partycji systemowej to objaw jest taki, że system wyświetla na czarnym ekranie enigmatyczny komunikat o błędzie odczytu (niestety nie pamiętam treści) i komputer zawiesza się. Komunikat jest na czarnym, a nie słynnym niebieskiem ekranie, bo BSOD jest komunikatem o błędzie jądra, a tutaj jądro nie zostało jeszcze załadowane, ponieważ 16-bitowy kod bootloader'a nie był w stanie otworzyć systemu plików partycji systemowej. W tej sytuacji można pożegnać się z danymi na dysku (dokładniej: partycji). Aczkolwiek podejrzewam, że firmy specjalizujące się w odzyskiwaniu danych potrafią binarnie grzebać w partycji NTFS (jest to robota porównywalna do szukania igły w stogu siana, dosłownie), ale koszt takiej usługi zapewne jest astronomiczny.

Widok przypadku (4) był dla mnie bardzo pouczający. Warto sobie uzmysłowić, że coś takiego w ogóle może się zdarzyć (fakt, dysk miał wyjątkowego pecha) i, że skutki są aż tak katastrofalne. Na tej podstawie można wywnioskować, że bezpieczniej jest mieć wiele partycji na dysku niż jedną dużą. W przypadku jednej dużej, gdy nastąpi awaria typu (4) tracimy zwartość całego dysku. Gdy natomiast mamy wiele partycji, tracimy zawartość tylko tej, w którą "trafiło".

Chciałbym poruszyć jeszcze zagadnienie macierzy RAID. Moje refleksje w tym temacie są takie, że pomimo dostępności tego typu rowiązań w domowych komputerach, są one raczej mało użyteczne.

  1. RAID 0. Stosowanie tego poziomu jest raczej bez sensu z punktu widzenia bezpieczeństwa. Zwiększa się prawdopodobieństwo awarii i utraty danych kosztem większej wydajności.
  2. RAID 1. Stosowanie tego poziomu w domowym komputerze jest wątpliwe, ponieważ chyba nie ma wielu osób, które chciałyby kupić 2 dyski a mieć dostępną przestrzeń tylko jednego.
  3. RAID 0+1, albo 1+0. W domowych warunkach odpada, ze względu na zbyt dużą minimalną liczbę potrzebnych dysków - aż 4.
  4. RAID 5. W najnowszych płytach głownych poziom ten jest dostępny w sprzętowych kontrolerach. Jest to szeroko stosowane rozwiązanie w sieciowych urządzeniach pamięci dyskowych oraz modularnych macierzach dyskowych. Poziom ten chakteryzuje się bardzo dobrymi parametrami, ale również wymaga zbyt wielu (tak sądzę), jak na domowy komputer, dysków: 3 dając dostęp do przestrzeni dwóch.

Moim zdaniem najlepszym rozwiązaniem dla domowego komputera jest montaż dwóch dysków twardych, na każdym z nich instalacja oddzielnego systemu operacyjnego oraz ręczne kopiowanie najważniejszych danych w taki sposób, aby zawsze były w aktualnej postaci na obu dyskach. Rozwiązanie to ma szereg zalet:

  1. Mamy dostępną przestrzeń obu dysków, nie występuje problem np. RAID'u 1 gdzie de facto kupujemy 2 dyski a "mamy" 1.
  2. Zabezpieczamy się przed awariami (1), (2) i (3) ponieważ w przypadku awarii któregokolwiek dysku mamy gotowy do działania drugi system operacyjny, który możemy uruchomić i użyć do uratowania danych z uszkodzonego dysku.
  3. Dodatkowo zapezpieczamy się przed programową awarią samego systemu operacyjnego. Gdy jeden z systemów odmówi posłuszeństwa, po prostu uruchamiamy drugi i mamy możliwość dalszej pracy.
  4. Zyskujemy możliowść wygodnego wykonywania kopii zapasowej również takich plików, które są zablokowane podczas działania systemu operacyjnego. Można uruchomić drugi system, np. Linux i na wszelki wypadek zrobić kopię zapasową pierwszego systemu operacyjnego np. Windows'a, bo planujemy wykonywać na nim jakąś ryzykowną operację, którą warto byłoby móc przywrócić.

Sam stosuję takie rozwiązanie, że na obu dyskach mam działający program rozruchowy, dzięki temu w każdej chwili mogę odłączyć dowolny z dysków i drugi pozwoli na uruchomienie znajdującego się na nim systemu. Na jednym dysku mam system Windows zainstalowany standardowo, na drugim mam system Linux z menedżerem rozruchu GRUB uwzględniającym oba systemy. Dysk z systemem Linux jest dla komputera pierwszym urządzeniem do rozruchu dzięki czemu mogę wybierać między dwoma systemami. Gdyby dysk ten uległ awarii, mogę przełączyć drugi dysk na główne urządzenie rozruchowe i bez wprowadzania jakichkolwiek dodatkowych zmian pracować w systemie Windows. Analogicznie, gdyby dysk z system Windows się zepsuł, mogę o nim zapomnieć i pracować w systemie Linux.

Podsumowanie będzie krótkie: dbajmy o to, aby najważniejsze dla nas dane przechowywać na co najmniej dwóch, niezależnych fizycznych nośnikach. Doświadczenie pokazuje, że awarie zdarzają się zwykle właśnie tym użytkownikom, którzy nie robią kopii zapasowych :)

 

piątek, 05 lutego 2010
Linuks zawiesza się przy hibernacji - rozwiązanie

Wpis ten jest rozwinięciem zagadnienia opisanego tutaj. Krótkie przypomnienie: gdy utworzymy zbyt małą partycję wymiany może dojść do sytuacji, w której podczas próby hibernacji system zawiesza się. Jest to spowodowane niewystarczającą ilością miejsca na tej partycji. Gdy partycja wymiany jest w użyciu, znajdujące się tam wymiecione strony pamięci dodatkowo zmniejszają obszar potrzebny na zapisanie obrazu pamięci fizycznej. Przypomnę jeszcze, że stanowi to problem, dlatego, że jądro (bez dodatkowych zabiegów) nie potrafi zahibernować systemu przu użyciu pliku wymiany, a jedynie dedykowanej partycji. Poniższe rozwiązanie jest w pewnym sensie prowizoryczne, ale działa i pozwala na uniknięcie ryzykownych operacji zmienienia rozmiaru partycji.

Rozwiązanie polega na "zniechęceniu" systemu do korzystania z partycji wymiany, po to, aby było tam miejsce do zapisania obrazu pamięci fizycznej. Musimy jedynie świadomie hibernować system, tak, aby nie następowało to wtedy, gdy zużycie pamięci fizycznej przewyższa rozmiar tej partycji. Szczegóły przydatności tego rozwiązania zależą już od konkretnego przypadku - o ile za mała jest partycja wymiany. Ja ustawiłem tę wielkość na 1 GiB, dosyć trudno jest doprowadzić system do większego zużycia pamięci podczas wykonywania typowych czynności. W moim przypadku rozwiązanie okazało się więc wystarczające.

  1. Tworzymy i włączamy dodatkowy plik wymiany, tak jak jest to opisane we wcześniejszym wpisie. Dodatkowo podajemy najwyższy możliwy priorytet dla nowego pliku wymiany opcją -p 32767. Dzięki temu system, gdy będzie chciał wymiatać strony na dysk w pierwszej kolejności zrobi to do nowego pliku wymiany, pozostawiając nietkniętą partycję wymiany, na której znajduje się cenna przestrzeń potrzebna do zapisania obrazu pamięci fizycznej.
  2. Dodatkowo możemy sterować "wymiatalnością" stron pamięci. Parametr ten, jak sugeruje nazwa, określa jak często system ma wymiatać strony na dysk. 0 oznacza wyłączenie wymiatania; 100 oznacza, że system próbuje wymiatać jak najwięcej nieużywanych stron. Standardowo parametr ten wynosi 60. Ja ustawiłem go na liczbę jednocyfrową, po to, aby jak najwięcej używanej pamięci zmieścić w pamięci fizycznej i zobaczyć, czy zmieści się to w partycji wymiany podczas hibernacji. Sterowanie jest bardzo proste, modyfikujemy liczbę w systemie plików proc: /proc/sys/vm/swappiness. Polecam eksperymentowanie z tym parametrem, ponieważ można w ten sposób doprowadzić do zwiększenia wydajności systemu zmuszając go do odwlekania z korzystania z pliku wymiany tak długo jak tylko jest to możliwe.

 

środa, 30 grudnia 2009
Muzodajnia – serwis udostępniający muzykę w formatach mp3 i wma

Testowałem ostatnio serwis o nazwie Muzodajnia, który oferuje opłacany abonamentem dostęp do zbioru utworów muzycznych w formacie mp3 oraz wma. Na początek opiszę dlaczego moim zdaniem warto zwrócić uwagę na tego typu serwisy. Jednym z częstszych zastosowań dostępu do Internetu odkąd pamiętam było ściąganie muzyki. Osobiście pamiętam jeszcze legendarnego Napstera w swej najpiękniejszej dla użytkowników, darmowej postaci. Zarówno Napster jak wszelkie powstałe po nim narzędzia wymiany plików służyły do nielegalnego udostępniania utworów muzycznych. Sytuacja zmieniła się nieco wraz z upowszechnieniem serwisów udostępniających klipy muzyczne online jak Youtube. Wielu użytkowników zadowala się muzyką odtwarzaną bezpośrednio z tego serwisu, istnieje również wiele sposobów na ściągnięcie na swój komputer utworu muzycznego np. Youtube (pisałem o tym tutaj). Niemniej jednak wiąże się z tym problem, który dla audiofili z prawdziwego zdarzenia jest nie do pominięcia: jakość. Bardzo często zdarza się, że ścieżka dźwiękowa klipu na Youtube jest po prostu zakodowana przy bardzo niskich parametrach, co jest dosyć denerwujące. Płatny serwis muzyczny - Muzodajnia eliminuje oba wyżej wymienione problemy czyli po pierwsze pobieranie za jego pomocą utworów jest jak najbardziej legalne, po drugie utwory te są naprawdę wysokiej jakości. Opcji jest kilka: mp3 128 kbps, wma 128 kbps, wma 256 kbps i mp4 128 kbps.

Podstawowym czynnikiem przy podejmowaniu decyzji o zakupie abonamentu do takiego serwisu będzie zapewne wielkość "bazy" utworów. "Baza" ta jest dość spora, aczkolwiek pod żadnym pozorem nie należy oczekiwać, że cokolwiek co znajdziemy na Youtube będziemy mogli sobie ściągnąć w super jakości z Muzodajni. Myślę, że każdy użytkownik bez względu na upodobania muzyczne bez problemu znajdzie taki tytuł, którego w Muzodajni nie będzie. Nie mam tutaj na myśli jakichś szczególnie niszowych gatunków, chociaż przykładowo z polskiego hip-hopu nie znajdziemy PIH'a, a znajdziemy TeDe'go i to w sporych ilościach. Bardzo duży wybór jest z muzyki POP, wykonawców i zespołów często ostatnio słyszanych w wielu stacjach radiowych jak Black Eyed Peas czy Lady Gaga. Ale przy gatunku POP też można się zdziwić, bo np. po wpisaniu do wyszukiwarki serwisu "Shakira" tabela wyników świeci pustkami, co wydaje się być dość zaskakujące. Podsumowując zasoby - całkiem w porządku, ale bez rewelacji.

Muzyka w serwisie pogrupowana jest w kategorie: pop, dance (z podkategorią disco-polo), hip-hop i r&b, rock, klasyka i jazz oraz kategoria "inne" z podkategoriami typu country, czy elektroniczna. Wyszukiwarka w serwisie jest raczej kiepska, w tym sensie, że przy mało precyzyjnym zapytaniu prawie na pewno nie znajdziemy tego, o co nam chodzi. Najlepiej jest wpisywać pełny tytuł ora pełną nazwę wykonawcy. Gdy już uporamy się z wyszukiwaniem, możemy wylistować zawartość całej płyty do której należy wyszukany uwtór. Każdy kawałek w ramach płyty możemy próbnie posłuchać - kilkunastosekundowy fragment oraz oczywiście pobrać. Nie ma możliwości pobrania seryjnie wszystkich utworów w ramach płyty. Utwory pobierają się bardzo szybko, w moim przypadku przy prędkości ok 2 MiB/s. Zwrócę jeszcze uwagę, że serwer nie lubi menedżerów pobierania, przykładowo przy użyciu popularnego DownThemAll nie udało mi się ściągnąć żadnego pliku. Sama strona natomiast ładuje się dość wolno, podczas mojego dwumiesięcznego okresu testowania były sytuacje, że jej fragmenty nie chciały się w ogóle załadować. Ponadto zdarzały się też sytuacje, że wyszukiwarka całkowicie odmawiała posłuszeństwa i przepraszając zapraszała do skorzystania za chwilę. Widać, że pod względem niezawodoności serwis nie wypada najlepiej, a (przynajmniej ja) w przypadku usług płatnych oczekuję bardzo wysokiej jakości. Również sam projekt strony jest dosyć "ciężki" - przy przeglądaniu listy utworów wykonują się liczne skrypty JavaScript znacznie obciążające procesor (uciążliwe dla laptopów, które podczas pracy bateryjnej zmniejszają szybkość taktowania zegara procesora), co w połączeniu ze wspomnianym wcześniej powolnym transferem elementów strony sprawia, że są momenty, że z serwisu korzysta się mało przyjemnie.

Na koniec aspekt najważniejszy: płatności. Przytoczę tutaj ceny na dzień dzisiejszy  dla użytkowników nie będących klientami Plus'a:

  • 96 zł za 25 utworów miesięcznie przez rok
  • 192 zł za 100 utworów miesięcznie przez rok
  • 288 zł za 250 utworów miesięcznie przez rok.

Działa to w ten sposób, że mamy miesięczny limit na liczbę pobranych utworów. Limity nie przechodzą na następny miesiąc. Moim zdaniem powyższe "pakiety" płatności są zbyt mało elastyczne. Osobiście oczekiwałbym jakiejś formy pre-paid czyli przedpłacenia sobie np. możliwości pobrania 50 utworów bez zobowiązań czasowych.

Podsumowując, Muzodajnia jest serwisem ciekawym, chociaż mającym pewne wady. Moim zdaniem dwie najważniejsze to: zbyt częsty komunikat wyszukiwarki o braku utworu który co chwilę można usłyszeć w radiu oraz właśnie mało elastyczna płatność.

niedziela, 15 listopada 2009
Usuwanie śledzika to ściema

Postanowiłem wypowiedzieć się na ten temat na blogu, ponieważ różne "czarodziejskie" sposoby usuwania śledzika cieszą się wciąż niemałą popularnością, pomimo, że ich skuteczność była, jest i będzie zerowa. Niezerowe są natomiast zyski sprytnych osób wykorzystujących wiarę użytkowników w to, że mało użyteczna funkcjonalność zniknie z ich profilu w serwisie NK. Pokażę tę pomysłowość na konretnym przykładzie.

Najpierw jednak kilka słów o tym dlaczego śledzik nie zniknie. Przede wszystkim ze względów biznesowych. Wprowadzenie tej funkcjonalności do serwisu NK było sporym przedsięwzięciem, nad którym pracowało wiele osób i które z całą pewnością było kosztowne. Hipotetyczna decyzja zarządców serwisu o usunięciu śledzika (przynajmniej w tak krótkim czasie od jego wprowadzenia) byłaby równoznaczna z wyrzuceniem do śmieci wyników pracy zespołu twórców oraz zmarnowaniem wszelkich innych włożonych w to nakładów. Moim zdaniem to oczywiste, że taka decyzja nie zostanie podjęta. Aczkolwiek niewątpliwie sam pomysł okazał się niewypałem, sądząc po reakcji użytkowników. W polskim internecie funkcjonują już mikroblogi z prawdziwego zdarzenia jak blip.pl czy moblo.pl. Okazuje się, że coś takiego w ramach NK nie bardzo spełnia swoje zadanie, natomiast jedynie zajmuje miejsce na stronie głównej.

Dla jasności dodam jeszcze, że wszelkie odprawianie czarów w rodzaju wpisywania kodów takich jak J3273M-D38113M do okienka tekstowego śledzika jest z góry skazane na porażkę. Praktycznie jest to niemożliwe technicznie, aby wprowadzenie jakiegokolwiek ciągu do okienka śledzika było zinterpretowane przez serwer i spowododowało niewyświetlanie wybranym użytkownikom pola śledzika. Ustawienia są wprowadzane przez użytkownika na przeznaczonej do tego stronie. Gdyby serwer miał analizować wprowadzone przez użytkownika ciągi znaków (co przy takiej liczbie użytkowników jest zadaniem wymagającym obliczeniowo) w poszukiwaniu jakiegoś kodu tylko po to, aby zmienić jakąś hipotetyczną właściwość użytkownika np. "Wyświetlaj śledzika" z wartości "prawda" na "fałsz" - to byłoby to rozwiązaniem totalnie idiotycznym.

A teraz spojrzenie z innej strony. W dwóch poprzednich akapitach przekonywałem, że śledzik nie zniknie "systemowo", w tym natomiast pokażę, że zniknąć może - dla nas jako użytkowników. Oczywiście z tego co napisałem wcześniej wynika, że nie możemy zmusić serwera, żeby nie wysyłał do naszej przeglądarki strony bez śledzika. Możemy jednak zmusić naszą przeglądarkę, żeby ona nam go nie pokazywała. Sprytni użytkownicy zauważyli, że pole śledzika w kodzie strony ma nazwę sledzik_box i wystarczy użyć narzędzia filtrującego reklamy, aby nie pokazywać śledzika. Rozwiązanie takie jest opisane tutaj. Mniej zaawansowanych użytkowników uspokajam, że jest to rozwiązanie wyjątkowo banalne do zastosowania (sprawdziłem, działa).

Na koniec obiecany przykład kogoś bardzo sprytnego, kto autentycznie zarabia pieniądze, na tym, że użytkownik NK myśli, że usunie sobie śledzika. Poniżej zrzut ekranu ze strony http://śiedzik.pl/usun/ do której link rozprzestrzenia się właśnie za pomocą śledzika. Jestem rzeczywiście pod wrażeniem pomysłu jak łatwo można zarobić na czyjejś naiwności. Przedstawię zatem ten średnio uczciwy (autor obiecuje, że śledzik zniknie, a jak wiemy, nie zniknie - więc moim zdaniem podchodzi to pod formę oszustwa) mechanizm .

  1. Nazwa: Śiedzik.pl. Znana sztuczka, głównie przestępców z kategorii phisherów, polegająca na wymyśleniu takiej nazwy strony, której wizualny układ liter łudząco przypomina oryginał. Ulubionym mechanizmem jest tutaj podobieństwo litery "i duże" do "l małe". Dodatkowo oprawa graficzna żywcem przeniesiona z oficjalnej strony śledzika potęguje wrażenie, że mamy do czynienia z firmowym narzędziem do pozbycia się uciążliwego mikroblogu.
  2. Najlepszy pomysł - autor zakłada, że gdzieś obok jesteśmy zalogowani do NK. Wciśnięcie przycisku powoduje umieszczenie na naszym śledziku linku do strony. Mamy więc tutaj mechanizm rozgłaszający informację o istnieniu strony.
  3. Liczba osób odwiedzających. Ten element jest ważny dla reklamodawców. Zanim zapłacą za reklamę muszą zobaczyć liczbę. Jest ona duża. Duża liczba odwiedzających = duża oglądalność = większa cena za reklamę.
  4. Reklamy. Aż trzy, autor jest jak widać zachłanny na zyski z reklam. Co w końcu nie jest dziwne - trzeba zarobić jak najwięcej w jak najkrótszym czasie, zanim potencjalny odwiedzający nie przeczyta na przykład tego tekstu i nie rozejdzie się informacja o tym, że jest to ściema. Autor najzwyczajniej w świecie sprzedaje przestrzeń reklamową na tej stronie. Z wymienionych wyżej przyczyn, jest to dobre miejsce na reklamę ponieważ odwiedzi je dużo osób.

Zwracam uwagę na bardzo zręczny pomysł samonapędzającej się promocji strony. Klikając w ten przycisk wklejamy link do strony na swojego śledzika, przez co zobaczą go nasi znajomi i zapewne też klikną w link zwiększając tym samym liczbę odwiedzin i dochód za reklamy, ponieważ skoro już tu weszli, zapewne chcą usunąć śledzika więc klikną w przycisk. - koło się zamyka.

Nie wiem ile jeszcze powstanie tego typu pomysłów w przyszłości, ale mam nadzieję, że chociaż w minimalnym stopniu przyczynię się do tego, że użytkownicy NK uwierzą wreszcie, że śledzik nie zniknie.

 

NK

środa, 11 listopada 2009
Twój linuks zawiesza się przy hibernacji?

Zaobserwowałem trudno powtarzalny problem pojawiający się przy próbie zahibernowania linuksa Ubuntu. Nie będę się rozpisywać o zaletach używania hibernacji - dla mnie to bardzo praktyczna opcja pozwalająca skrócić czas "włączania" komputera. Jestem przyzwyczajony do tego, aby natychmiast mieć uruchomione wszystkie programy z których korzystam na codzień. Problem polegał na tym, że czasami podczas hibernowania system zamiast wyłączyć komputer wyświetlał na ekranie szereg enigmatycznych komunikatów, z których jedyne, co było zrozumiałe to fakt, że coś się zawiesiło. Jedyne co można było zrobić to wcisnąć magiczną kombinację [ALT]+[Print Screen]+[R]+[S]+[I]+[U]+[B] powodującą synchronizację buforów dyskowych, odmontowanie systemu plików i bezpieczny restart (szczegółowy opis tej linuksowej sztuczki jest np. tutaj, odpowiednika w systemie Windows niestety brak)

Stwierdziłem, że nie można tego problemu tak zostawić i zacząłem poszukiwać informacji na temat jego przyczyny. Po drodze trafiłem na fajne alternatywne narzędzia pozwalające na zahibernowanie bądź uśpienie systemu z konsoli: http://en.wikipedia.org/wiki/Uswsusp - polecam. Niemniej jednak również s2disk powodował identyczne zawieszenie się systemu.

Po dłuższych poszukiwaniach udało mi się ustalić, że przyczyną jest bardzo dziwny mechanizm hibernacji stosowany w jądrze linuksa - zupełnie odmienny od tego co jest stosowane w systemie Windows. System linuks zapisuje obraz pamięci do... no właśnie - właściwie na... partycję swap. Nietrudno się domyślić, że gdy swap jest w większości zajęty to nie ma tam miejsca na zapisanie zawartości pamięci fizycznej. Rozwiązanie z oddzielnym plikiem o rozmiarze równym pamięci fizycznej i przeznaczonym wyłącznie do hibernacji w systemie Windows jest o wiele lepsze. Swoją drogą, warto zwrócić uwagę, iż pomimo posiadania dużej ilości pamięci RAM nie warto ograniczać (nie mówiąc już o rezygnacji - słyszałem, że niektórzy uzytkownicy tak robią) rozmiaru partycji swap.

Całe szczęście, że jądro linuksa umożliwia określenie dowolnego pliku jako dodatkowej przestrzeni swap. Problem rozwiązałem dodając sobie (trochę na zapas) dodatkowe 3 GiB przestrzeni swap:

dd if=/dev/zero of=/swap3gb bs=1024k count=4000
mkswap /swap3gb                    
swapon /swap3gb                    

Można to w każdej chwili wyłączyć:

swapoff /swap3gb                   
rm /swap3gb

[13 listopada 2009]:

Niestety jak się okazało problemu nie rozwiązałem. Sprawa jest znacznie bardziej skompikowana niż mi się wydawało. Istnieją 2 mechanizmy pozawalające na hibernowanie systemu linuks:

  • Swsusp
  • Tuxonice

Pierwszy z nich jest zaimplementowany w jądrze od wersji 2.6, drugi stanowi łatę na kod jądra i co za tym idzie wymaga jego rekompilacji. Pierwszy z nich jest standardowo używany w systemie i nie obsługuje zapisywania obrazu pamięci przy hibernacji do obszaru swap zdefiniowanego w pliku. Istnieje dość złożony sposób pozwalający na wybudzenie się ze swap'a w pliku polegający na modyfikacji ustawień initfs oraz grub'a. Polega on na odczytaniu fizycznego numeru bloku dyskowego pliku i podania go jako parametr jądra. Szczegółowy opis jest tutaj. Obecnie jestem w trakcie testowania pewnej sztuczki, która być może pozwoli na prostsze rozwiązanie problemu (coś jednak spowodowało, że po dodaniu pliku swap system na kilkadziesiąt hibernacji zawiesił się tylko raz). Jeżeli mój pomysł się sprawdzi oczywiście go opiszę.

1 , 2 , 3 , 4 , 5 ... 11