Myślę Rozwiązywanie niektórych typowych problemów z tym może pomóc.
I to jest zasadnicza część
Zwiększ miejsce na dysku
Zwykle (niestety) podstawowa baza chmurowa jest dostarczana z formatami dysków VMDK. Jeśli masz szczęście, a Twój format dysku to VDI, możesz rozwiązać ten problem bezpośrednio w ten sposób. Ale VMDK nie można rozwinąć, więc musisz dodać kolejny dysk do maszyny wirtualnej. Jeśli ręczne wykonanie tego jest trudne, czy możesz zrobić to z Vagrant? Cóż, teraz, kiedy rozwiązałem, nie jest takie trudne:
Utwórz skrypt o nazwie „bootstrap.sh” w katalogu roboczym i dodaj następujące wiersze:
pvcreate /dev/sdb
vgextend VolGroup /dev/sdb
lvextend /dev/VolGroup/lv_root /dev/sdb
resize2fs /dev/VolGroup/lv_root
VolGroup i lv_root mogą zmieniać się w różnych dystrybucjach. Ale działa również dla mnie na Ubuntu.
A następnie dodaj ten kod do swojego pliku Vagrantfile:
...
config.vm.provider :virtualbox do |vb|
...
# Validate this should be run it once
if ARGV[0] == "up" && ! File.exist?("./disk1.vdi")
vb.customize [
'createhd',
'--filename', "./disk1.vdi",
'--format', 'VDI',
# 100GB
'--size', 100 * 1024
]
vb.customize [
'storageattach', :id,
'--storagectl', 'SATA Controller',
'--port', 1, '--device', 0,
'--type', 'hdd', '--medium',
file_to_disk
]
end
if ARGV[0] == "up" && ! File.exist?("./disk1.vdi")
# Run script to map new disk
config.vm.provision "bash", path: "bootstrap.sh"
# Run script to increase swap memory
config.vm.provision "bash", path: "increase_swap.sh"
end
...
Spowoduje to utworzenie pliku dysku VDI o pojemności 100 GB. I jest dołączony do twojego systemu operacyjnego.
Ten problem został rozwiązany, gdy tworzysz pudełka Vagrant w chmurze, takie jak instancje AWS EC2 z Vagrant: D
Zwiększ pamięć wymiany
Gdy instaluję produkty Oracle Fusion Middleware, wymagają one pewnej ilości pamięci wymiany, ale w pudełku podstawowym jest niewielka ilość wymiany.
Aby rozwiązać ten problem, dodaj ten skrypt o nazwie „Increase_swap.sh” do katalogu roboczego:
#!/bin/sh
# size of swapfile in megabytes
swapsize=8000
# does the swap file already exist?
grep -q "swapfile" /etc/fstab
# if not then create it
if [ $? -ne 0 ]; then
echo 'swapfile not found. Adding swapfile.'
fallocate -l ${swapsize}M /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap defaults 0 0' >> /etc/fstab
else
echo 'swapfile found. No changes made.'
fi
# output results to terminal
df -h
cat /proc/swaps
cat /proc/meminfo | grep Swap
Jeśli teraz zniszczysz i ulepszysz swoje pudełko, otrzymasz nowe pudełko z dodaną 8 GB pamięci wymiany i 100 GB dodatkowego miejsca na dysku.