CRtools 0.1

CRtools 0.1

    przez -
    0 213
    OpenVZ
    Ogłoszono wydanie CRtools 0.1, funkcji OpenVZ znanej pod nazwą checkpoint/restore lub CPT. Jej zadaniem jest umożliwienie zamrożenia maszyny wirtualnej i zrzut jej aktualnego stanu (procesów, pamięci, połączeń sieciowych itp) do pliku na dysk twardy. Potem można to przywrócić, wznawiając procesy, jakby nic się nie stało. OpenVZ natomiast jest otwartą platformą wirtualizacji systemu operacyjnego dla Linuksa, która pozwala uruchomić kilka systemów wirtualnych (VPS), niezależnie od siebie, używając wspólnego jądra.

    Jednym słowem, funkcja ta jest na tyle elastyczna i zaawansowana, że można przy jej pomocy robić migracje systemów na żywo, szybkie restarty, czy usługi wysokiej dostępności. Jednakże jej wadą jest wielki i skomplikowany kod. Autorzy już kilka razy próbowali dodać go, do jądra Linux, ale bezskutecznie. Wielu programistów jądra nie chciało się zgodzić, bo wprowadzało to sporo zmian w kodzie.

    Dlatego postanowiono zaimplementować większość rzeczy CPT w przestrzeni użytkownika, jako osobny program, a nie jako część jądra Linux. Problemem jest to, że część funkcji CRtools pochodzi bezpośrednio z kernela i nie można tego od tak odłączyć. Zaletą jest zmniejszenie zmian w Linuksie do wymaganego minimum.

    Co jest aktualnie wspierane:

    • Jądro Linux 3.5
    • 64 bitowa architektura
    • Linkowanie procesów
    • Grupy procesów i sesje (bez TTY)
    • Mapowanie jakiejkolwiek pamięci (dzielenie, pliki itp)
    • Wątki
    • Otwarte pliki (dzielenie pomiędzy zadaniami oraz częściowe otwieranie i odlinkowywanie)
    • Potoki i kolejki FIFO z danymi
    • Sockety Uniksowe z zawartością
    • Sockety TCP i UDP (wsparcie istniejących połączeń TCP, jednakże wymaga dopracowania)
    • Powiadomienia, eventpoll i eventfd
    • Konfiguracja zadań sigactions, listy uwierzytelniające i itimers
    • IPC, montowanie i przestrzenie nazw PID