W moim systemie Kubuntu 12.04 zabrakło miejsca na partycji głównej i nie można go uruchomić. Polecenie df -h
pokazuje dużo dostępnego miejsca (przy użyciu tylko 37%):
/dev/sda2 45G 17G 29G 37%
Następująca strona wskazuje, że powinienem uruchomić komendę balance:
$ sudo btrfs fi balance start -dusage=5 /mount/point
Nie jestem do końca przekonany, że jest to najlepsze podejście, ale to jedyne, jakie znalazłem. Jednak po uruchomieniu tego polecenia pojawia się następujący błąd:
ERROR: error during balancing '/blah/blah/blah' - No space left on device
Otrzymuję ten sam błąd z:
$ sudo btrfs fi balance start -dusage=1 /mount/point
Jakie jest właściwe rozwiązanie?
filesystems
btrfs
MountainX-for-Monica
źródło
źródło
Odpowiedzi:
Istnieją sposoby
balance
na uruchomienie się w tej sytuacji.Jeśli polecenie wyważenia kończy się na „Gotowe, musiałeś przenieść 0 z XX porcji”, musisz zwiększyć parametr procentowy „dusage”, aż przynajmniej jedna porcja zostanie przeniesiona.
jeśli polecenie równowagi nie powiedzie się z:
Może być konieczne usunięcie plików z urządzenia, aby zrobić miejsce. Następnie ponownie uruchom komendę balance.
Jednak dzięki blogowi Marc'a: btrfs - naprawa pełnych problemów w systemie plików Btrfs tutaj jest inna opcja:
źródło
mount -oremount,clear_cache /mountpoint
naprawić obliczenia wolnego miejsca. (Stają się skorumpowani ...)Próbowałem wszystkiego w zaakceptowanej odpowiedzi, a blog Marca, w tym zwiększanie
-dusage
parametru i dodawanie kolejnego urządzenia blokowego, wszystko bezskutecznie. Nawet po usunięciu niektórych plików i zwolnieniu miejsca na dysku, który był pełny,balance
nie był w stanie ukończyć. Z jakiegoś powodu zawsze wydawało się, że przenosi dane na prawie pełny dysk. W końcu dla mnie zadziałało ograniczenie balansu do pełnego urządzenia:gdzie
dev_id
można znaleźć:źródło
btrfs balance
proces. Aby tego uniknąć, zawsze zalecam stosowanie tego,-dusage=XX
aby proces zakończył się w rozsądnym czasie. Najpierw zaczynaj od małych liczb, a następnie zwiększaj (5, 10, 20, ...). Można również monitorować postęp istniejącej długotrwały równowadze zbtrfs balance status
jak wykazano tutaj . (Po zerwaniu woluminu udało mi się przynajmniej wyodrębnić plikibtrfs restore
.)sudo apt-btrfs-snapshot delete-old-than 3d Usuwa migawki starsze niż 3 dni. Podczas przenoszenia danych migawki stają się nie na miejscu i rzeczywiste dane muszą być zapisywane w wielu miejscach na dysku. To usuwa migawki starych danych w starych lokalizacjach i zwalnia te sektory do ponownego użycia. Polecam także duperemove do deduplikacji danych i zakresu w systemie plików btrfs.
źródło