Po rozbudowie systemu plików nie ma już miejsca na urządzeniu

9

Używam maszyny wirtualnej w Google Compute Cloud. Zwiększyłem dysk z 10G do 200G.

Wykonałem dokładnie te kroki tutaj: https://cloud.google.com/compute/docs/disks#repartitionrootpd

Podsumowując:

  • Uruchomiłem fdisk, usunąłem jedyną partycję, utworzyłem nową o pełnym rozmiarze, ten sam początek / nowy koniec, ten sam identyfikator urządzenia
  • Uruchomiłem ponownie instancję
  • Zmieniłem rozmiar mojego systemu plików przy użyciu sudo xfs_growfs /( korzystam z CentOS 7)

Następnie untarw archiwum 3.5G znalazłem się w /optpodkatalogu, który po kilku minutach zakończył się:

Cannot mkdir: No space left on device

Mogę sprawdzić, czy przestrzeń jest tutaj i wydaje mi się (przynajmniej dla mnie), że powinna być dostępna wszędzie

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       200G   13G  188G   7% /
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  8.3M  1.8G   1% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup

Teraz, przy tej dokładnej konfiguracji, proste polecenie cp w katalogu 50 Mb również zwraca:

cp: cannot create regular file ‘toto/conf/server.xml’: No space left on device

Miałem wiele małych plików w mojej tar, więc pomyślałem o ograniczeniu i-węzła, ale:

# df -ih
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/sda1        200M  100K  200M    1% /
devtmpfs         462K   285  462K    1% /dev
tmpfs            463K     1  463K    1% /dev/shm
tmpfs            463K   309  463K    1% /run
tmpfs            463K    13  463K    1% /sys/fs/cgroup

To tak, jakby moje nowe miejsce na dysku nie było dostępne. Ponieważ mam wrażenie, że w przybliżeniu zatrzymał się na moim poprzednim ograniczeniu dysku 10G.

Nie mam pojęcia co teraz zrobić.

Christophe Fondacci
źródło
3
To brzmi jak stary problem z inode32. Spróbuj zmienić opcje montowania, aby używać inode64. xfs.org/index.php/…
austin

Odpowiedzi:

12

Udało mi się sprawić, aby działało za pomocą polecenia:

mount -o remount,inode64 /

Najwyraźniej jest to regresja w jądrze CentOS od 3.7 do 3.17, a ja w wersji 3.10.

Oto odpowiedni link: http://xfs.org/index.php/XFS_FAQ#Q:_Why_do_I_receive_No_space_left_on_device_after_xfs_growfs.3F

Christophe Fondacci
źródło
1
Możecie również zaakceptować swoją własną odpowiedź i właśnie to proponuję wam (aby nie pozwolić na otwarcie tego pytania do wieczności).
peterh - Przywróć Monikę
1

Zmień opcje montowania, aby używać inode64.

Wydaje się, że ten problem pochodzi z XFS FAQ

http://xfs.org/index.php/XFS_FAQ#Q:_Why_do_I_receive_No_space_left_on_device_after_xfs_growfs.3F

austinian
źródło
Odpowiedziałem wcześniej w komentarzu, ponieważ nie byłem pewien, czy to była prawidłowa odpowiedź, ponieważ inode64 jest domyślnym XFS w jądrze zawartym w CentOS 7
austinian
Myślę, że jest to związane z „chmurą obliczeniową Google”, ponieważ to infrastruktura Google łączy dysk z moją maszyną wirtualną. Nie użyłem niczego innego niż domyślne
Christophe Fondacci