Jak sprawdzić, czy dysk CD jest aktualnie używany w systemie Linux?


2

Jak sprawdzić, czy dysk CD jest używany przed usunięciem go z maszyny wirtualnej? Obecnie jest zamontowany w / dev / sr0 na komputerze Ubuntu 14.04 i muszę go odmontować w celu migracji magazynu danych.

Wiem, że nie jest to zapisywane, ale muszę wiedzieć, czy jest ono odczytywane.


1
Jakiego hiperwizora używasz?
— Xyon

vSphere, ale nie sądzę, żeby to miało duże znaczenie. Wiem tylko, że VMWare mówi mi, że chce odmontować dysk, gdy próbuję go usunąć, ale zanim usunę CD z moich maszyn produkcyjnych, chcę wiedzieć, czy aktywnie korzystają z płyt CD.
— wintermuted

Najprościej byłoby powiedzieć maszynie wirtualnej Ubuntu, aby ją odmontowała. Jeśli to się powiedzie, to jest w tej chwili nie w użyciu.
— dirkt

Odpowiedzi:


1

Jedynym sposobem, aby to zrobić poprawnie, jest odmontowanie dysku CD w maszynie wirtualnej.

Ogólna procedura, którą zwykle stosuję, to:

  1. Sprawdź, czy w ogóle jest zamontowany, najlepiej uruchom jako root:

    grep /dev/sr0 /proc/self/mounts
    

    Jeśli to wypluje dowolny tekst, wówczas płyta CD jest zamontowana i może być używana (ale nie można jej jeszcze usunąć, nawet jeśli nie jest używana), w przeciwnym razie możesz założyć, że nie jest używana, chyba że masz otwarte oprogramowanie do nagrywania CD .

  2. Spróbuj go odmontować (musi to być root):

    umount /dev/sr0
    

    Jeśli to się nie powiedzie, możesz być pewien, że w tym momencie dysk CD nie jest używany i można go bezpiecznie usunąć po stronie hypervisora. Jeśli narzeka /dev/sr0 nie jest montowany, sprawdź ponownie pierwszy krok, w przeciwnym razie przejdź do następnego kroku.

  3. Dowiedzieć się, co go używało (musi być również wykonane jako root i może być konieczne zainstalowanie fuser dowództwo):

    fuser -m $(grep /dev/sr0 /proc/self/mounts | cut -f 2)
    

    To sprawdzi, gdzie jest zamontowany, a następnie wypluje jedną linię dla każdego używanego pliku, zaczynając od nazwy pliku, po której następuje rozdzielona spacjami lista PID-ów używających pliku. Następnie możesz sprawdzić, do jakich procesów należą te PID w większości programów do monitorowania systemu, takich jak top. Jeśli nie obchodzi cię, co to jest, możesz dodać -k -TERM przed -m do powyższego polecenia, i wyśle ​​SIGTERM do wszystkich procesów dla ciebie (odpowiednik wywołania) kill na każdym PID). Gdy wszystkie zostaną już usunięte, możesz powtórzyć krok 2 i umount polecenie powinno działać.

Zauważ, że to podejście zakłada, że ​​nie są używane żadne przestrzenie nazw montowania, co zazwyczaj będzie prawdziwe, chyba że używasz kontenerów (w takim przypadku konieczne może być przejście wszystkich tych kroków w każdym uruchomionym kontenerze).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.