Jak mogę określić, ile miejsca pozostało na taśmie LTO?
Jeśli szukam do końca i sprawdzam status, widzę, że mam numer pliku 17, ale nie wiem, jak duży był każdy plik.
$ mt -f /dev/nst1 eod
$ mt -f /dev/nst1 status
SCSI 2 tape drive:
File number=17, block number=0, partition=0.
Tape block size 0 bytes. Density code 0x44 (LTO-3).
Soft error count since last status=0
General status bits on (81010000):
EOF ONLINE IM_REP_EN
Czytając cały pasek, jak mogę określić zużytą / wolną pojemność taśmy?
Odpowiedzi:
Jeśli masz napęd kompatybilny z HP * (moim odniesieniem jest napęd Tandberg Data HH LTO 4), możesz znaleźć pozostałą pojemność taśmy w logach SCSI, a także wiele innych interesujących ciekawostek, takich jak współczynnik kompresji, odczyt / zapis awarie, historia napędu / taśmy itp.
sg_logs -a /dev/nst1
To narzędzie jest dostępne w paczkach dystrybucyjnych powszechnie nazywanych
sg3-utils
lubsg3_utils
.Szukasz linii takich jak:
Main partition remaining capacity (in MiB)
Megabytes written to tape
(odejmij od pojemności nieskompresowanej)Data bytes written to media by WRITE commands
(odejmij od pojemności nieskompresowanej)W przeciwnym razie możesz wypróbować narzędzia specyficzne dla dostawcy. Na przykład HP ma narzędzia HPE Library & Tape Tools , które działają na wszystkich napędach zgodnych z HP *. W jego menu można znaleźć możliwość utworzenia i przejrzenia raportu z dysku, który oferuje wszystkie informacje zawarte w
sg_logs
i więcej.W przeciwnym razie możesz po prostu zapisać dane nieściśliwe do końca taśmy i wykonać matematykę na blokach napisanych, aby dowiedzieć się, co pozostało (to oczywiste, że to trochę nieprzyjemne):
dd if=/dev/urandom of=/dev/nst1 bs=1M status=progress iflag=fullblock
lub
openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero | dd of=/dev/nst1 bs=1M status=progress iflag=fullblock
* Według mojej najlepszej wiedzy wszystkie dyski oprócz IBM i być może Dell pochodzą od tego samego producenta OEM i są zgodne z narzędziami HP / HPE.
Użyłem
nst1
w tej odpowiedzi, ponieważ jest to urządzenie w pierwotnym pytaniu, w razie potrzeby zaktualizuj.źródło
Po pierwsze: nie będzie to łatwe.
W kasecie z taśmą znajduje się układ scalony, który oferuje szeroki zakres informacji. Ten układ nazywa się MAM (pamięć pomocnicza nośnika). Informacje można odczytać za pomocą polecenia SCSI „READ ATTRIBUTE” na napędzie taśm podczas ładowania taśmy. Jednym z atrybutów jest „POZOSTAŁA POJEMNOŚĆ W PARTCJI”. Zawiera ilość bajtów, które można zapisać na bieżącej partycji taśmy. Co prowadzi do pytania: czym jest partycja taśmowa? Najnowsze wersje taśm LTO (LTO 5 i nowsze) można podzielić na partycje (LTFS używa dwóch partycji).
Jeśli taśma została podzielona na partycje, każda z partycji będzie miała ilość wolnego miejsca i będziesz musiał zapętlić wszystkie partycje, aby uzyskać informacje o wolnym miejscu dla każdej partycji.
Jeśli chcesz dowiedzieć się więcej o MAM, zapoznaj się z dokumentacją LTO-8 SCSI firmy IBM, która szczegółowo to wyjaśnia (sekcja 6.5 zaczynająca się na stronie 355 zawiera interesujące rzeczy). Jeśli potrzebujesz punktu wyjścia, jak to zaimplementować, być może powinieneś rzucić okiem na maminfo lub ten problem w trackerze problemów sg3_utils .
Nie jestem pewien, czy ta informacja jest aktualizowana natychmiast po zapisie na taśmie. Być może jest to aktualizacja tylko po odmontowaniu, co jeszcze bardziej utrudniłoby wyszukiwanie dokładnych informacji. Nie jestem również pewien, jak to się zachowuje, gdy nadpisujesz taśmę. Prawdopodobnie będziesz musiał to rozwiązać samodzielnie.
źródło
Nie jestem pewien, ale może mogę zaoferować korzystanie z oprogramowania ITDT IBM informacje o użytkowaniu i zdrowiu.
źródło