2015-07-31 15 views
15

Oggi ho iniziato a ricevere errori su operazioni semplici, come la creazione di piccoli file in vim, il completamento di bash ha iniziato a lamentarsi anche.vagabondo senza spazio sul dispositivo

Qui è il risultato di df -h:

[email protected]:/vagrant$ df -h 
Filesystem       Size Used Avail Use% Mounted on 
/dev/sda1        40G 38G 249M 100%/
none         4.0K  0 4.0K 0% /sys/fs/cgroup 
udev         2.0G 12K 2.0G 1% /dev 
tmpfs        396M 396K 395M 1% /run 
none         5.0M  0 5.0M 0% /run/lock 
none         2.0G  0 2.0G 0% /run/shm 
none         100M  0 100M 0% /run/user 
overflow        1.0M 148K 876K 15% /tmp 
192.168.50.1:/Users/nha/repo/assets 233G 141G 93G 61% /var/www/assets 
vagrant        233G 141G 93G 61% /vagrant 

Quindi, apparentemente / doesn `t ha più spazio? Non è strano dal momento che ho spazio negli altri filesystem (o sto fraintendendo qualcosa)?

Come posso ottenere più spazio sul mio VM?

+0

'ncdu' mostra circa 6 GB usato, quindi sono confuso in questo momento. – nha

risposta

13

Anche se si dispone di spazio sul vostro sistema operativo guest, la VM è limited.There sono cupple di passaggi necessari al fine di aumentare la dimensione del disco:

prima, vagrant halt chiudere il tuo VM

ridimensionamento del disco

VBoxManage clonehd box-disk1.vmdk box-disk1.vdi --format vdi 
VBoxManage modifyhd box-disk1.vdi --resize 50000 

iniziare box virtuale e modificare la configurazione della macchina virtuale per associare il nuovo disco

uso fdisk per ridimensionare disco

è necessario creare una nuova partizione con il nuovo spazio e allocare, quindi prima avviare la macchina virtuale e l'accesso come super-utente

vagrant up && vagrant ssh 
su - 

il comando (come illustrato dal mio esempio) sono

[[email protected] ~]# fdisk /dev/sda 

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to 
     switch off the mode (command 'c') and change display units to 
     sectors (command 'u'). 

Command (m for help): p 

Disk /dev/sda: 52.4 GB, 52428800000 bytes 
255 heads, 63 sectors/track, 6374 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes 
Sector size (logical/physical): 512 bytes/512 bytes 
I/O size (minimum/optimal): 512 bytes/512 bytes 
Disk identifier: 0x00041a53 

    Device Boot  Start   End  Blocks Id System 
/dev/sda1 *   1   39  307200 83 Linux 
Partition 1 does not end on cylinder boundary. 
/dev/sda2    39  2611 20663296 8e Linux LVM 

Command (m for help): n 
Command action 
    e extended 
    p primary partition (1-4) 
p 
Partition number (1-4): 3 
First cylinder (2611-6374, default 2611): 
Using default value 2611 
Last cylinder, +cylinders or +size{K,M,G} (2611-6374, default 6374): 
Using default value 6374 

Command (m for help): w 
The partition table has been altered! 

Calling ioctl() to re-read partition table. 

WARNING: Re-reading the partition table failed with error 16: Device or resource busy. 
The kernel still uses the old table. The new table will be used at 
the next reboot or after you run partprobe(8) or kpartx(8) 
Syncing disks. 
[[email protected] ~]# 

nota potrebbe essere necessario cambiare/dev/sda confronta con la configurazione

creare una nuova partizione (ancora una volta effettuato il login come super utente su -)

su - 
[[email protected] ~]# pvs 
    PV   VG Fmt Attr PSize PFree 
    /dev/sda2 linux lvm2 a-- 19.70g 0 
[[email protected] ~]# pvcreate /dev/sda3 
    Physical volume "/dev/sda3" successfully created 
[[email protected] ~]# pvs 
    PV   VG Fmt Attr PSize PFree 
    /dev/sda2 linux lvm2 a-- 19.70g  0 
    /dev/sda3  lvm2 a-- 28.83g 28.83g 

[[email protected] ~]# vgextend linux /dev/sda3 
    Volume group "linux" successfully extended 
[[email protected] ~]# lvextend -l +100%FREE /dev/linux/root 
[[email protected] ~]# resize2fs /dev/linux/home 
resize2fs 1.41.12 (17-May-2010) 
Filesystem at /dev/linux/home is mounted on /home; on-line resizing required 
old desc_blocks = 1, new_desc_blocks = 2 
Performing an on-line resize of /dev/linux/home to 7347200 (4k) blocks. 
The filesystem on /dev/linux/home is now 7347200 blocks long. 
+0

Scusa se l'ho accettato troppo in fretta. Ho distrutto/ricostruito la mia macchina, e non funziona, ma ora ho notato in virtualbox gui che la dimensione virtuale è 40GB ma la dimensione effettiva è 1.33GB. (?) – nha

+0

@nha, quando si costruisce la VM, vagabonda non sarà prenotare tutto lo spazio che avete assegnato per il disco - nel vostro caso si definisce la macchina virtuale con un disco rigido da 40 GB, ma si sta utilizzando solo 1 GB o giù di lì, così vagabondo/VirtualBox riserverà 1,33 GB e crescerà. possono crescere fino a raggiungere i 40 GB, che è il limite di dimensione che hai assegnato per questo disco rigido sulla VM (se vuoi che sia come se la VM avesse un HD fisico di 40 GB) quando raggiungi questo limite devi estendere le dimensioni limite dell'HD collegato alla VM (metodo che ti ho dato) o collegare un altro disco rigido –

+0

Grazie, lo capisco. Comunque io sono sempre errori relativi allo spazio in questo momento (come quando si inizia mongo, ottengo "Fate almeno 3379MB disponibili in/data/db/diario o utilizzare --smallfiles") – nha

3

È possibile aumentare lo spazio nella vostra casella, senza perdere i dati o la creazione di nuove partizioni.

  1. Arrestare la VM;

  2. Vai /home_dir/VirtualBox VMs

  3. Cambio formato di file da .vmdk a .vdi. Quindi usa il comando dalla risposta sopra per aumentare lo spazio.

  4. Sostituire l'estensione del file e modificare il nome del file.

  5. Collegare un disco esteso alla macchina virtuale.

  6. Nell'applicazione VirtualBox andare a Your_VM -> Impostazioni -> Memoria.Fai clic sul controller e scegli 'aggiungi nuovo disco' di seguito. Scegli tra i dischi esistenti quello appena espanso.

Here's a step by step instruction how to expand the space in your vagrant box or virtual machine.

+1

perfetta - è un ottimo aspetto! Buon lavoro! – Frits

Problemi correlati