Konsola zarządzająca
Jednym z narzędzi znajdujących się w pakiecie UML-utilities jest konsola zarządzająca. Jest ona niskopoziomowym interfejsem do jądra UML-a i umożliwia użytkownikowi wykonanie pewnych akcji, których nie może zrobić używając samego UML-a.
Konsola zarządzająca umożliwia wykonanie następujących czynności:
- odczytanie aktualnej wersji
- dodawanie i usuwanie urządzeń podczas działania UML-a
- zakończenie działania i zrestartowanie maszyny UML-a
- wydawanie komend sysrq
- pauzowanie i wznawianie działania
- monitorowanie zdarzeń wewnątrz UML-a
Jak skorzystać z konsoli zarządzającej?
Po pierwsze przy kompilowaniu jądra dla UML-a należy pamiętać o włączeniu opjci CONFIG_MCONSOLE, które dostępna jest w GENERAL SETUP. Następnie trzeba zainstalować klienta tej konsoli o nazwie uml_console.
Kolejnym krokiem jest uruchomienie klienta uml_console. Możemy uruchamiać go na dwa sposoby w zależności od tego jak był uruchomiony UML(oczywiście konsolę uruchamiamy na hoście).
- Pierwszy z nich:
host% uml_mconsole adam
jeśli uml został uruchomiony:
./linux umid=adam
gdzie parametr umid to unikalny identyfikator, po którym konsola będzie rozpoznawała, do którego instancji UML-a ma się podłączyć.
-
lub
host% uml_mconsole <ścieżka do gniazda>
jeśli UML został uruchomiony unikalnego identyfikatora umid.
<ściezkę do gniazda> odczytujemy po uruchomieniu naszego UML-a. Jedną z pierwszych rzeczy które wypisze powinna być linia podobna do:
mconsole initialized on /home/adam/.uml/6NVTd3/mconsole
Jako <ścieżkę do gniazda> podajemy /home/adam/.uml/6NVTd3/mconsole.
Co możemy dalej zrobić?
Po uruchomieniu konsoli zarządzającej pojawi się nam znak zachęty, po którym będziemy mogli wydawać komendy dostępne w mconsoli.
Dostępne są następujące polecenia:
- version
- halt
- reboot
- config
- remove
- sysrq
- help
- cad
- stop
- go
- log
- proc
Po krótce opisze powyższe polecenia:
-
version
Nie wymaga parametru. Pozwala na sprawdzenie wersji działającego UML-a. Z pozoru banalne zastosowanie, ale pozwala stwierdzić czy nasz UML działa. W systemach wieloprocesorowych ma większe zastosowanie jako sposób na wysłanie przerwania do UML-a.
-
halt
Nie wymaga parametru. Powoduje natychmiastowe zamknięcie UML-a bez synchronizacji dysków i czystego zamknięcia przestrzeni użytkownika.
-
reboot
Nie wymaga parametrów. Działanie jak wyżej, tylko że restartuje UML-a.
-
config
Wymaga parametru, który ma podobną postać jak przy uruchamianiu UML-a. Pozwala na dodanie podczas pracy nowego urządzenia do UML-a.
Przykładowe wywołanie opcji config:
(adam) config ubd1=../../root_fs.rh-9-full.pristine.20030724
OK
-
remove
Wymaga parametru nazwy usuwanego urządzenia. Usuwane urządzenie blokowe nie może być zamontowane w systemie, ani w żaden sposób otwarte. W przypaku sterownika sieciowego urządzenie musi być zamknięte.
Przykładowe wywołanie:
(adam) remove ubd1
OK
-
sysrq
Najbardziej rozbudowane polecenie, którego działanie zależy od parametrów. Jest ono odpowiednikiem wywołanie sekwencji magicznych klawiszy w systemie pracującym na hoście. Jądro UML-a zawsze odpowiada na wydanie tej komendy.
Możliwe parametry:
- "r" - przełącza tryb klawiatury na XLATE
- "k" - zabija wszystkie programy w konsoli UML-a
- "b" - natychmiast restartuje system
- "o" - zamyka system
- "s" - próbuje synchronizować zamontowane systemy plików
- "u" - próbuje zamontować tylko do odczytu zamontowane systemy plików
- "p" - dokona zrzutu rejestrów procesora do konsoli
- "t" - dokona zrzutu informacji o zadaniach do konsoli
- "0-9"- ustala poziom komunikatów, które będą wyświetlane na konsoli
- "e" - wysyła SIGTERM do wszystkich(oprócz init)
- "i" - wysyła SIGKILL do wszystkich(oprócz init)
- "l" - wysyła SIGKILL do wszystkich
- "h" - wyświetla pomoc
-
cad
powoduje, że na UML-u podjęta jest akcja jak po naciśnięciu kombinacji klawiszy Ctrl-Alt-Del.
-
stop
Polecenie występuje w parze z go. Powoduje, ze dzialanie UML-a zostaje zatrzymane, a właściwie UML kręci się w pustej pętli w oczekiwaniu na wykonanie komendy go. Powyższa komenda wykorzystywana może być do robienia kopii bezpieczeństwa dysków.
-
go
Występuje w parze ze stopem. Umożliwia wznowienie pracy UML-a po uprzednim wykonaniu komendy stop.
Jak wykonać kopię bezpieczeństwa przy użyciu komend stop i go?
(adam) stop
OK
(adam) sysrq s
OK
(adam) go
OK
Przy czym po wykonaniu komendy sysrq s, a przed wykonaniem go kopiujemy nasz system plików w bezpieczne miejsce.
© 2004 Mateusz Chrzęst, Piotr Krawczyk, Adam Kruszewski.
|