标签归档:vmware

VMware虚拟机磁盘压缩备忘

新建的VMware虚拟机,如果不是使用预分配的方式,那么磁盘是动态增长的,这个好处很多,比如可以节约磁盘空间,然后这个磁盘是只增不减的。

VMware提供了压缩的工具。点击虚拟机菜单下的安装VMware Tools(虚拟机必须具备光驱):

挂载光盘,安装工具:

mount /dev/cdrom /mnt
cp VMwareTools-10.1.6-5214329.tar.gz
tar zxvf VMwareTools-10.1.6-5214329.tar.gz
cd vmware-tools-distrib
./vmware-install.pl
open-vm-tools packages are available from the OS vendor and VMware recommends 
using open-vm-tools packages. See http://kb.vmware.com/kb/2073803 for more 
information.
Do you still want to proceed with this installation? [no]  输入yes

一路回车,工具安装完成。

查看磁盘:

/usr/bin/vmware-toolbox-cmd help disk
disk: 执行磁盘压缩操作
用法: /usr/bin/vmware-toolbox-cmd disk <子命令> [参数]

子命令:
   list: 列出可用的位置
   shrink <位置>: 擦除并压缩指定位置的文件系统
   shrinkonly: 压缩所有磁盘
   wipe <位置>: 擦除指定位置的文件系统

/usr/bin/vmware-toolbox-cmd disk list
/
/boot

可以先擦除分区再压缩,也可以同时来:

#擦除:把实际空闲的空间标记为可回收(即可压缩)
/usr/bin/vmware-toolbox-cmd disk wipe /

#压缩
/usr/bin/vmware-toolbox-cmd disk shrinkonly

#擦除并压缩
/usr/bin/vmware-toolbox-cmd disk shrink /

另外,如果需要操作大文件,可以临时挂载一个磁盘,然后在这个磁盘中处理,完成后把该磁盘移除即可。

在虚拟机中共享宿主机文件

在VMware中,可以使用虚拟机本身提供的文件共享功能实现文件共享:
vmware-share
这里是选定宿主机需要曝光的文件夹。客户机要能读取到这个文件夹,还需要借助VMware提供的VMware Tool,进入客户机后,点击VMware的虚拟机 – 安装VMware Tool:
vmtool-install
1 如果是图形界面,一般就可以自动完成安装
2 如果非图形界面,可能需要手动安装

mount /dev/cdrom2 /mnt
cd /mnt
cp VMwareTools-xxxx.tar.gz ~
cd ~
tar zxvf VMwareTools-xxxx.tar.gz
cd vmware-tools-distrib
# 最终运行,根据提示完成安装
./vmware-install.pl

工具安装完毕。运行:

/usr/bin/vmhgfs-fuse .host:/  /mnt

这样共享文件夹就mount到了/mnt,进入/mnt应该就可以看到宿主机的共享文件了。不过如果重启,这个mount点就消失了,所以还需要如下操作:

#在CentOS 7中执行
chmod +x /etc/rc.d/rc.local

#添加
vi /etc/rc.local

/usr/bin/vmhgfs-fuse .host:/  /mnt

不过这视乎仅能做文件共享,当配置Nginx指向到共享文件夹时,提示权限问题而无法使用。

在VirtualBox中,其提供的文件共享功能就比较实用:
vbox
为了让共享文件可以工作,需要在客户机中安装增强工具。

除了利用虚拟软件提供的支持,如果宿主机是Windows,SMB文件共享方案是最好的选择,SMB在Windows下是内置的,客户机可以是Windows或Linux, 如果是Linux,一般需要安装cifs软件包:

yum search cifs
cifs-utils-6.2-9.el7.x86_64

#CentOS 
yum install cifs-utils
#Ubuntu
sudo apt-get install cifs-utils

#mount共享文件夹
mount -t cifs //192.168.1.121/www /var/www -o username=administrator,password='xxx',uid=1000,gid=1000

如果宿主机是Linux,客户机也是Linux,最好的共享方式就是使用NFS(NFS不支持Windows)。