Dysk dynamiczny VirtualBox nie rozwija się do rozmiaru wirtualnego

17

Mam Ubuntu 12.04 działający na VirtualBox 4.2.4 na dysku Dynamic VDI ​​z limitem ustawionym na 8 GB na prawdziwej partycji ext4 z dostępnym ponad 40 GB wolnego miejsca. Jednak VDI nie rozwija się do limitu. 8 GB to więcej niż to, co chcę zrobić.

Jak udostępnić resztę miejsca? Dostępna przestrzeń w / i .home to 41kb.

vm

vdi

jeremyjjbrown
źródło
Czy to błąd?
jeremyjjbrown
Moim rozwiązaniem hackerskim było po prostu dodanie kolejnego dysku wirtualnego. BTW, nie testowałem tego sam, ale ta strona sugeruje, że problem jest spowodowany tym, że partycja wymiany jest umieszczana za partycją główną. Spróbuję zmienić układ partycji następnym razem, gdy będę instalował gościa ubuntu i opublikuję dalsze informacje.
Андрей Беньковский
Prawdopodobnie utworzyłeś partycję, która jest zbyt mała, wyjaśniając pełny dysk.
Dr_Bunsen

Odpowiedzi:

2

Naprawiłem moją maszynę VirtualBox, ustawiając ścieżkę na maszynie hosta Windows 7, aby zawierała katalog instalacyjny VirtualBox (kroki):

  1. kliknij przycisk Start
  2. Kliknij komputer prawym przyciskiem myszy
  3. Kliknij Właściwości
  4. Kliknij Zaawansowane ustawienia systemu
  5. Na karcie [Zaawansowane] kliknij przycisk [Zmienne środowiskowe]
  6. W obszarze Zmienne systemowe przewiń w dół do ścieżki i kliknij [Edytuj]
  7. Dodaj wszystko w cudzysłowie do końca wiersza "; C: \ Program Files \ Oracle \ VirtualBox \"
  8. Kliknij OK]

Następnie przejdź do katalogu dysku VirtualBox (pod nazwą użytkownika \ VirtualBox VMs) pobranego z ( https://forums.virtualbox.org/viewtopic.php?f=7&t=52351 )

  1. otwórz cmd i przejdź na dysk VirtualBox
  2. wprowadź to polecenie: VBoxManage showhdinfo
  3. Zanotuj identyfikator UUID dysku.
  4. wprowadź następującą komendę: VBoxManage modyfikuj identyfikator UUID_dysku VDI - rozmiar 80000 (powoduje to, że dysk 80 koncertów, dostosuj się do żądanego rozmiaru)

WAŻNE KROKI ROZPOCZNIJ TUTAJ: Następnie uruchom maszynę wirtualną na LiveCD (zainstaluj dysk) (wzięty z rozszerzenia rozmiaru partycji Ubuntu o nieprzydzielone miejsce (wymiana między nimi) )

Nie mogę tego wystarczająco podkreślić:

Zdecydowanie zaleca się wykonanie kopii zapasowej wszelkich ważnych plików przed wykonaniem operacji zmiany rozmiaru / przeniesienia / rozszerzenia.

Sposobem na to jest usunięcie partycji wymiany, rozszerzenie żądanej partycji, a następnie ponowne utworzenie partycji wymiany.

Partycję wymiany można usunąć tylko po wyłączeniu wymiany:

SWAP wyłączony: sudo / sbin / swapoff -a SWAP wyłączony: sudo / sbin / swapon -a

Kroki:

  1. Uruchom z Ubuntu LiveCD
  2. Otwórz terminal i wyłącz swap
  3. Zainstaluj GParted
  4. Rozszerz żądaną partycję, ale zostaw miejsce na zamianę
  5. zatwierdzić zmiany
  6. utwórz partycję wymiany
  7. włącz zamianę

Uwaga: Jeśli swap nie jest podstawowym dyskiem twardym, zobacz SwapFaq na temat aktywacji partycji wymiany

Zdecydowanie zaleca się wykonanie kopii zapasowej wszelkich ważnych plików przed wykonaniem operacji zmiany rozmiaru / przeniesienia / rozszerzenia.

użytkownik224405
źródło
2

Miał ten sam problem na Ubuntu 15.04 z systemem Ubuntu Gnome 15.04 na maszynie wirtualnej. Wygląda na to, że pomimo tego, że „Dynamicznie przydzielane miejsce” VirtuaBox nie zwiększało go, spadłem do moich ostatnich 100 MB i nie pozwoliło mi to na aktualizację oprogramowania. Rozwiązaniem było wykonanie aktualizacji przez terminal.

sudo apt-get upgrade

Wydawało się, że zmusza to VirtualBox do utworzenia dodatkowej przestrzeni dyskowej, skoczył nawet do 500 MB za darmo, gdy tylko aktualizacja się rozpoczęła.

użytkownik99306
źródło
To naprawdę dziwne. Pobiegłem dpkg -ii apt-get updatedostałem wiadomość o braku miejsca, ale apt-get upgradepracowałem nad Ubuntu Gnome 16.04
Josiah
1

/tmpbędzie tmpfsto system plików przechowywany w pamięci RAM. Więc jeśli nie przypisałeś, że masz ~ 800 MB wolnej pamięci RAM na maszynie wirtualnej, nie wystarczy, aby utrzymać ISO.

Prawdopodobnie nie jest to, co zamierzałeś: po prostu zapisz ISO w „prawdziwym” katalogu (np. /home/<username>) I powinno działać dobrze.


źródło
Więc jeśli próbuję załadować 1 + GB plików do MongoDB, a pamięć maszyny Wirtualnej jest ustawiona na 1024, to czy prawdopodobnie wystąpiłby ten sam problem?
jeremyjjbrown
Gdzie jest przechowywany plik? Jeśli ma kopię zapasową dysku, to nie - MongoDB powinien odczytać plik w porcjach i załadować go zamiast ładować cały plik na raz. Przechowując ISO w /tmpśrodku, zmuszasz system operacyjny do zapisania całego ISO w pamięci.
dbpath = / var / lib / mongodb Otrzymuję komunikat, że komputerowi brakuje miejsca na dysku z systemu operacyjnego. Najwyraźniej mój obraz wprowadzał w błąd.
jeremyjjbrown
1

Wydaje się, że nie jest to związane ze wzrostem dysku wirtualnego, ponieważ powinieneś otrzymać komunikat o błędzie od VirtualBox informujący, że nie może on przydzielić więcej miejsca na dysku wirtualnym.

Jakieś pomysły:

  • Czy używałeś specjalnego schematu partycjonowania na swojej maszynie wirtualnej?
  • Jaki jest wynik df -hTwojej maszyny wirtualnej?
  • Możesz użyć, baobababy wyszukać, co zajmuje całe /miejsce.
Christophe Drevet-Droguet
źródło
+1 za baobab. Chociaż nie powiedział mi, dlaczego VDI nie chce się rozwijać, będzie przydatny w przyszłości.
jeremyjjbrown
Dzięki. Z tego, co mogę powiedzieć, twoje vdi nie rośnie, ponieważ system operacyjny w nim nie potrzebuje go powiększać. Mam na myśli, że na pewno twój, /tmpa nawet /system plików jest zapełniony na twojej maszynie wirtualnej. System plików nie rozwinie się sam. Co df -hci mówi
Christophe Drevet-Droguet
1

Spróbuj skonfigurować folder współdzielony, może to być rozwiązanie twojego problemu.

  1. Z VirtualBox wprowadź ustawienia VM> foldery współdzielone i dodaj nowy; wybierz ścieżkę w komputerze hosta, nazwij go FOLDER_NAMEi sprawdź Auto mounti make permanent.
  2. Zainstaluj dodatki dla gości; spójrz na to, aby zobaczyć jak
  3. Utwórz folder na maszynie wirtualnej gościa, aby wskazywał folder utworzony na hoście, po prostu utwórz nowy folder, na przykład /home/"your_user_name"/shared
  4. Zamontuj folder współdzielony: sudo mount -t vboxsf "FOLDER_NAME" /home/"your_user_name"/shared
  5. Aby montaż był automatyczny, dodaj mount -t vboxsf "FOLDER_NAME" /home/"your_user_name"/shared" to the end of "/etc/rc.local" before "exit 0"
Yahya Yahyaoui
źródło
Czy możesz opisać, jak to zrobić, aby była to dobra odpowiedź, którą warto zachować ?
David Foerster,
Podaję szczegóły edytowanej odpowiedzi.
Yahya Yahyaoui,
0

Możesz użyć tego prostego rozwiązania: w swoim terminalu wpisz to polecenie

VBoxManage.exe modifyhd "path-of-your-disk" --resize 20000

Ścieżkę do dysku można znaleźć w konfiguracji VM / storage / yourVM.vbi (ścieżka po prawej)

omarhamdaoui
źródło
Prawdopodobnie utworzył partycję na maszynie wirtualnej, dlatego zmiana rozmiaru dysku ma tylko wpływ na host.
Dr_Bunsen
Więc nie chodzi o hiperwizora! powinien zmodyfikować partycję w maszynie wirtualnej ... !!
omarhamdaoui
To właśnie miałem na myśli.
Dr_Bunsen