Dav*_*rds 71 virtualbox disk-management vagrant
我有一个由Vagrant在 Ubuntu 主机服务器上使用VirtualBox管理的 VM 。我的 Vagrant box 使用 Puppetlabs Debian 6.0.7 basebox,它使用 LVM 作为其根分区。
默认情况下,磁盘为 8GB,这对于我的目的来说太小了。我想要:
谁能解释一下如何做到这一点?
小智 52
我找到了解决此问题的最简单方法:
安装这个插件: vagrant plugin install vagrant-disksize
编辑Vagrantfile:
Vagrant.configure('2') do |config|
...
config.vm.box = 'ubuntu/xenial64'
config.disksize.size = '50GB'
...
end
Run Code Online (Sandbox Code Playgroud)vagrant halt && vagrant up
vagrant reloadTer*_*ang 27
就我个人而言,我认为附加一个额外的虚拟硬盘并将其安装到适当的安装点会更容易,例如/opt并将您的东西转移到使用rsync来解决这个问题,毕竟,puppet vagrant box 是用于测试目的。
原因:VBoxManage modifyhd仅适用于本机 VDI 映像。但是,vagrant base box 基本上都是使用VMDK格式导出 OVF/OVA 。
该
--resize x选项(其中 x 是所需的新总空间(以兆字节为单位))允许您更改现有图像的容量;这可以调整虚拟磁盘的逻辑大小,而不会对物理大小产生太大影响。 [37] 这目前仅适用于 VDI 和 VHD 格式,并且仅适用于动态分配的变体,并且只能用于扩展(而不是收缩)容量。
步骤是
为了能够调整硬盘的大小,您必须先将其转换为 VDI,例如VBoxManage clonehd in.vmdk out.vdi --format VDI,然后重新连接它(使用 GUI 更容易)。
使用调整大小VBoxManage modifyhd box.vdi --resize 15360将容量增加到 15GB。
但是,这只会更改驱动器容量,之后您必须为来宾扩展文件系统。例如,resize2fs -p -F DEVICE用于 ext{3,4}。
Chr*_*now 15
我已经在我的 Vagrantfile 中自动添加了磁盘:
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
Run Code Online (Sandbox Code Playgroud)
当add_new_disk.shshell脚本如下所示:
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
Run Code Online (Sandbox Code Playgroud)
此脚本适用于centos 6.4 机器,但可以轻松适应 ubuntu。
除了添加磁盘,其他选项包括:
小智 8
安装 Vagrant 插件vagrant-disksize
vagrant plugin install vagrant-disksize
Run Code Online (Sandbox Code Playgroud)
如果你想添加确保用户在启动 vagrant 时安装了插件,你可以在 Vagrantfile 的开头添加它
# Install vagrant-disksize to allow resizing the vagrant box disk.
unless Vagrant.has_plugin?("vagrant-disksize")
raise Vagrant::Errors::VagrantError.new, "vagrant-disksize plugin is missing. Please install it using 'vagrant plugin install vagrant-disksize' and rerun 'vagrant up'"
end
Run Code Online (Sandbox Code Playgroud)
在 Vagrantfile 中设置所需的磁盘大小
vagrant.configure('2') do |config|
config.disksize.size = '50GB'
end
Run Code Online (Sandbox Code Playgroud)
更新现有的流浪箱
| 归档时间: |
|
| 查看次数: |
95106 次 |
| 最近记录: |