因物理机不够用,弄了个DELL服务器,用VBOX上面开了3个虚拟机,每个分了20G空间,今天其中有一台用下来发现空间不够了(因用了某个软件导致产生大量数据)
df -h
发现空间 / 已经用了100%
opt home 都没有单独挂载,使用
du /opt| sort -rn | head
把opt下占用空间大的几个文件目录列出来,发现有个oneapp 目录占用了大量空间。
使用命令VBoxManage controlvm vmid poweroff 将此虚拟机停止,给其新增加了一个40G虚拟硬盘设备(新增VDI)。重新启动此虚拟机,使用fdisk -l 已经发现了新设备。
新存储设备使用前先格式化,由于之前使用的是ext4格式,所以此处:mkfs -t ext4 /dev/sdb 格式化。
将原来占用空间较大的目录 /opt/oneapp 改名为oneapp1,重新建一个oneapp目录。修改/etc/fstab 文件,在最后新增 /dev/sdb /opt/oneapp ext4 defaults 0 0
然后再重启虚拟机#reboot now,再用df -h 发现挂载已成功,接下来就是把/opt/oneapp1 下的内容都移动到/opt/oneapp ,再df -h 空间即都比较空了。
后记:中途因不熟悉,出现把几个设备挂载到一个目录下,结果导致没生效。。。。linux一个目录只能1个挂载,但可以在子目录下可以有单独挂载设备
========================================================================
虚拟机克隆
========================================================================
在第一个虚拟机装好后,安装些常用的软件,如svn git jdk tomcat 等,再需要新建几个同样的虚拟机,不可能再重来一遍了。vbox提供了导出,克隆功能,这可以查询相关资料。
我采用的方法是直接把原虚拟机的 vdi 虚拟磁盘文件 复制到一个目录,然后调用vbox提供的命令
vboxmanage internalcommands sethduuid xxxx.vdi
把这个虚拟磁盘的uuid改掉,然后再新建虚拟机,使用已有的虚拟磁盘即完成了操作。需要注意的是,新启动的虚拟机启动后需要修改IP(如dhcp 则不用),机器名等。需要注意网卡配置文件名,设备名与vbox上指定的虚拟网卡名称一致。即/etc/sysconfig/network-script/ifcfg-XXX 这里的XXX