J'ai automatisé l'ajout du disque dans mon fichier Vagrant :
Vagrant.configure("2") do |config|
...
file_to_disk = File.realpath( "." ).to_s + "/disk.vdi"
if ARGV[0] == "up" && ! File.exist?(file_to_disk)
puts "Creating 5GB disk #{file_to_disk}."
vb.customize [
'createhd',
'--filename', file_to_disk,
'--format', 'VDI',
'--size', 5000 * 1024 # 5 GB
]
vb.customize [
'storageattach', :id,
'--storagectl', 'SATA Controller',
'--port', 1, '--device', 0,
'--type', 'hdd', '--medium',
file_to_disk
]
...
config.vm.provision "shell", path: "scripts/add_new_disk.sh"
...
end
Où le add_new_disk.sh
Shell Shell ressemble à ceci :
set -e
set -x
if [ -f /etc/disk_added_date ]
then
echo "disk already added so exiting."
exit 0
fi
sudo fdisk -u /dev/sdb <<EOF
n
p
1
t
8e
w
EOF
pvcreate /dev/sdb1
vgextend VolGroup /dev/sdb1
lvextend /dev/VolGroup/lv_root
resize2fs /dev/VolGroup/lv_root
date > /etc/disk_added_date
Ce script est pour une centos 6.4 box, mais pourrait facilement être adapté à ubuntu.
Au lieu d'ajouter un disque, d'autres options sont possibles :
- en utilisant une boîte avec un disque plus grand comme opscode bento qui ont des disques de 40Gb
- construisez votre propre boîte en utilisant emballeuse . Vous pouvez utiliser les définitions des emballeurs de boîtes opscode comme point de départ.