WOLNOŚCI: Dlaczego polecenie mv nie jest natychmiastowe w woluminie RAIDZ1?

14

Obecnie „reorganizuję” strukturę plików w woluminie RAIDZ1. Przenoszenie katalogów z jednego zestawu danych do drugiego, które są zawarte w tym samym woluminie.

SSH wszedł do maszyny i zrobił staromodny dobry:

cel mv *

Czy nie powinno to być natychmiastowe? Rozumiem, że jest on rozłożony na trzy dyski, ale jednocześnie same pliki tak naprawdę nie muszą się przenosić - spodziewałem się, że poprawi wskaźniki dla tych plików i, w zasadzie, natychmiast. Zdecydowanie nie. Mam około 500G danych do przeniesienia i działa już od około pół godziny. oO

Dlaczego nie jest to prawie natychmiastowe?

Specyfikacja: Procesor: Intel G3220
MB: Gigabyte GA-B85-HD3
MEM: Kingston DDR3-1600 8 GB
DYSK: 3x2 TB WD Green w woluminie RAIDZ1

Ryan
źródło
Masz jakieś migawki?
MadHatter
Bez migawek, jest to zupełnie nowa instalacja, którą skonfigurowałem wczoraj, a następnie skopiowałem pliki z istniejącego dysku NTFS na ten wolumin.
Ryan

Odpowiedzi:

22

Myślisz o rzeczach z niewłaściwego poziomu, to wszystko.

Jeśli przeniesiesz plik w ramach jednego zestawu danych ZFS, zareaguje on podobnie, jak się spodziewasz. Jeśli przenosisz plik w obrębie puli, ale między zestawami danych, jest to prawdziwy ruch. Tak, technicznie dane po prostu poszły z punktu A do punktu B i oba punkty znajdują się na tych samych talerzach - ale z punktu widzenia ZFS przeniósł domy.

Zestawy danych ZFS to osobne systemy plików. Prawdziwe systemy plików. Mogą mieć różne rozmiary bloków, ustawienia kompresji itp. Przenoszenie pliku między dwoma systemami plików ZFS, nawet w tej samej puli, jest prawdziwym ruchem - bity są czytane, a następnie ponownie zapisywane, w przeciwieństwie do samej aktualizacji wskaźnika.

Funkcjonalnie jest to w przybliżeniu analogiczne do przenoszenia pliku między dwoma systemami plików ext4, które technicznie pochodzą z 2 partycji tego samego dysku twardego - oba systemy plików, pomimo współdzielenia podstawowego sprzętu, są logicznie odmienne i dlatego nie może wystąpić żadna zmiana „wskaźnika”, musi fizycznie przenieś plik, nawet jeśli w rzeczywistości kopiuje on tylko dane z jednej lokalizacji do drugiej na tym samym dysku.

Nex7
źródło