配置ssh连接Esxi、ESXi 收缩虚拟硬盘文件(.vmdk) 大小(回收ESXi thin磁盘空间)

文章目录

  • 一、配置ssh连接Esxi
    • 1. Esxi开启ssh服务
    • 2. 如何设置ESXI主机启动时自动开启shell(ssh)服务
  • 二、ESXi6.0中将虚拟机从厚置备转换为精简置备
  • 三、ESXi 收缩虚拟硬盘文件(.vmdk) 大小
    • 1. 三种虚拟磁盘类型
    • 2. 如何给ESXi 上的VM缩小硬盘(VMDK)
      • 回收ESXi thin磁盘空间
        • 0)清空快照
        • 1) 空间置零方法
        • 2)通过 vmkfstools 来完成
        • 过程问题整理
          • vmkfstools -K 报错 Could not punch hole in disk 'centOS 6.5.vmdk': Function not implemented
    • VMware虚拟机,从厚置备改成精简置备,并减小硬盘的实际占用空间
  • 三、VMware虚拟机修改硬盘容量大小
  • 三、参考

一、配置ssh连接Esxi

1. Esxi开启ssh服务

当vSphere Client不能完成某些任务时,主机的ESXi控制台及其技术支持模式(TSM)可能能派上用场。

ESXi控制台允许管理员执行不能通过vSphere Client进行配置的管理任务,比如改变主机网络配置,改变启动参数,检查特定目录下可用的磁盘空间。

点击“管理”→“服务” →“TSM-SSH”,右击启动。

2. 如何设置ESXI主机启动时自动开启shell(ssh)服务

ESXI主机启动时shell(ssh)默认是关闭的,如何让主机启动时自动开启shell(ssh)服务呢,做以下几步操作即可。

点击“管理”→“服务” →“TSM-SSH”,右击,在菜单中选择“策略” →“随主机启动和停止”

在这里插入图片描述

二、ESXi6.0中将虚拟机从厚置备转换为精简置备

  1. 开启ESXI的SSH
    在这里插入图片描述
  2. ssh登录Esxi服务器, 并进入数据存储目录
cd /vmfs/volumes/datastore1/# 进入后就能看到你所有的虚拟机, 以下演示是我一个用来演示的镜像
cd "centOS 6.5"

输入“ls -lh”,可以看到有一个很小的vmdk和一个带-flat的体积较大的vmdk,实际上数据是存储在大的那个里,小的是信息。

  1. 使用vmkfstools命令转换磁盘为精简置备

命令
vmkfstools -i<source-disk-name.vmdk>-d {thin|thick}<destination-disk-name.vmdk>
参考
-i <source-disk-name.vmdk>参数:原vmdk磁盘名 。
-i 可替换为 --clonevirtualdisk
-d {thin|thick}<destination-disk-name.vmdk> :目标磁盘的格式,thin或thick; <destination-disk-name.vmdk>为要生成的目标vmdk磁盘名;
-d可替换为–diskformat

中间-d thin的参数是关键

vmkfstools -i centOS\ 6.5.vmdk -d thin centOS_thin_6.5.vmdk

当执行到Clone: 100% done.即表示完成
在这里插入图片描述再次输入“ls -lh”就能看到多了一个 centOS_thin_6.5t.vmdk和一个 centOS_thin_6.5-flat.vmdk

  1. 转换完毕后, 使用vmkfstools -x进行检查
vmkfstools -x check centOS_thin_6.5.vmdk

返回 Disk is error free 表示磁盘检查正常

  1. 用精简置备硬盘替换掉厚置到硬盘
mv centOS_thin_6.5.vmdk centOS\ 6.5.vmdk
  1. 取消注册虚拟机再重新注册
    这时候先不要开机,先在ESXi的【虚拟机】页面取消注册这个虚拟机

重新注册虚拟机。
在这里插入图片描述这时候点进去看信息,可以看到已经是精简置备的状态了
在这里插入图片描述

三、ESXi 收缩虚拟硬盘文件(.vmdk) 大小

1. 三种虚拟磁盘类型

在这里插入图片描述

  1. 厚置备延迟置零(zeroed thick) #默认选项
    在创建时为虚拟磁盘分配所需空间(真实地占用物理存储空间),当虚拟机在有写入的时,再按量将其置零。

  2. 厚置备置零(eager zeroed thick)
    在创建时为虚拟磁盘分配所需空间(真实地占用物理存储空间),创建过程中作置零操作,所以创建磁盘时间长。

  3. 精简置备(thin)
    无论磁盘分配多大,实际用多少就占用物理存储多少,当虚拟机真正写入数据时,才进行分配空间及置零的操作,需等待分配空间和置备完成后才能进行操作,对于IO频繁造成性能会有所下降,但它的好处是节省了存储空间,不过使用这种方式,虚拟磁盘vmdk文件随着置备量会只增不减。

如果一开始选择后置备延迟置零或者后置备置零,那么ESXi将完全在硬盘上划分出所需要的空间,这样可能会造成硬盘空间的浪费。

一般我们推荐使用 精简置备(thin),实践用多少,占多少真实磁盘空间。

但是,ESXi虚拟机vmdk文件如果拷贝出来的话,即使你用的是thin模式,还是会以置备的大小进行下载,一方 面非常占备份盘空间,另一方面拷贝速度也很低效。

其实vmdk内部大部分都是free space,于是想到缩减vmdk硬盘的置备尺寸。

2. 如何给ESXi 上的VM缩小硬盘(VMDK)

精简置备(thin)只增不减

精简置备vmdk文件容量是随着写入置备增加,即虚拟机某个时间使用磁盘达800GB(历史峰值),删除600GB文件后,甚至格式化磁盘,删除磁盘分区,vmdk文件依然是800GB。对于虚拟机迁移简直就是灾难,首先新存储要准备这么大的物理存储空间,其次这么大的vmdk文件迁移耗的时间也是长。

vmdk文件非常大,转换及迁移需要时间也会非常长。

解决思路:
将虚拟机上剩余未使用的600GB,填0操作,再使用ESXI工具vmkfstools移除置零的块,实现收缩VMDK容量。

先将可用磁盘空间都填零操作,再于ESXI的shell中使用vmkfstools -K移除置零的块,回收膨胀的精简置备空间。

回收ESXi thin磁盘空间

官方参考: https://kb.vmware.com/s/article/1002019

0)清空快照

不要在未先提交所有快照的情况下以任何方式更改基础磁盘,否则这些快照将失效。

首先,我们关掉虚拟机,把所有快照都清空。

ssh 到esxi上,查看你要操作虚拟机vmdk大小情况
使用du -ah * 验证磁盘使用情况

cd /vmfs/volumes/datastore1/centOS 6.5
du  -ah  * 

在这里插入图片描述

1) 空间置零方法

1)将虚拟机内所有未使用的空间归零:
用df识别可用空间

df -h

用dd填充可用空间,随后将生成的文件删除掉,/dev/zero提供无穷尽地提供0。/dev/zero,是一个输入设备,你可你用它来初始化文件。该设备无穷尽地提供0,可以使用任何你需要的数目——设备提供的要多的多。他可以用于向设备或文件写入字符串0。

注意:这里命令中的6144是1024*6得出。

dd if=/dev/zero bs=6144 of=/zero ; sync ; rm /zero

用zero填满文件系统,然后删除该zero文件(必须步骤,不然收缩不成功)

磁盘可用剩余空间,使用dd填0充满。
用dd填充可用空间,/dev/zero提供无穷尽地提供0

2)通过 vmkfstools 来完成

ESXI的shell中使用vmkfstools -K移除置零的块,回收膨胀的精简置备空间。

无法对使用中或锁定的磁盘进行更改。所以我们要先关闭虚拟机

  1. cd到虚拟机文件夹
cd /vmfs/volumes/datastore1/centOS 6.5
  1. SSH到ESXi,然后发出以下命令:
    运行 vmkfstools -K [磁盘]
    注意: volumename/vmname/vmname.vmdk部分 需要根据你实际情况修改。
vmkfstools -K /vmfs/volumes/volumename/vmname/vmname.vmdk

在这里插入图片描述
再使用du -ah * 验证磁盘使用情况,发现空间降低了。

注意:一个磁盘由磁盘.vmdk和 磁盘-flat.vmdk的两个.vmdk组成,,其中磁盘.vmdk文件很小,存放了虚拟磁盘一些配置信息,实际数据都存放在flat.vmdk文件中。但转换时是使用vmdk文件而不是flat.vmdk文件

这将需要一些时间… vmkfstools在VMDK内部“打孔”,例如,释放所有填充有零的块,从而有效地缩小了VMDK。

做完上面的动作,还不能直接启动虚拟机,TODO

过程问题整理
vmkfstools -K 报错 Could not punch hole in disk ‘centOS 6.5.vmdk’: Function not implemented

解决方案:确定你是精简置备,如果不是参考前面进行转换。

转换成后,测试通过,无报错。

VMware虚拟机,从厚置备改成精简置备,并减小硬盘的实际占用空间

VMware虚拟机,从厚置备改成精简置备,并减小硬盘的实际占用空间
参考URL: https://www.cnblogs.com/saszhuqing/p/8743157.html

三、VMware虚拟机修改硬盘容量大小

很多人在安装虚拟机系统的时候,为了节省硬盘空间,把硬盘容量设置得较小,可是后来发现硬盘容量不够用了。

在VMware中又不能直接修改虚拟机的硬盘容量大小,或者重建虚拟机系统,非常麻烦。
其实在VMware6.0安装目录下有一个命令行工具——vmware-vdiskmanager.exe 程序,可用来修改虚拟机硬盘的大小。方法如下:
1、关闭虚拟机电源;启动Windows下的命令提示符界面;
2、通过 cd 命令进入VMware的安装目录(如:D:\VMwareWS-v6.0),输入“vmware-vdiskmanager”后按回车键,可显示关于该命令的说明。
3、执行如下命令:
vmware-vdiskmanager -x l2Gb D:\UbuntuDesk\Ubuntu.vmdk
参数 -x 表示要扩展虚拟机硬盘空间;紧随其后的数字指要扩展的大小(如12Gb,表示磁盘总量,包含原来的磁盘容量);最后是要操作的虚拟机Linux的具体文件。
【注意】若路径名中有空格,必须以双引号括起来。
执行完毕,退出命令提示符窗口,重启VMware,这时虚拟机硬盘空间已变成12GB了。
如果原来的虚拟机硬盘已被分成了多个分区,那么在通过 vmware-vdiskmanager.exe扩大了硬盘空间后,还需要在虚拟机系统中安装第三方分区工具来调整分区,如 Partition Magic…等磁盘工具

vmware-vdiskmanager -x 12Gb “D:\Red Hat Enterprise Linux 5\Red Hat Enterprise Linux 5.vmdk”

未验证!TODO

三、参考

使用SDelete回收ESXi thin磁盘空间
参考URL: https://www.cnblogs.com/Gmiaomiao/p/13492285.html
ESXI虚拟磁盘容量回收-vmkfstools实战
参考URL: https://blog.csdn.net/endzhi/article/details/89818324
Esxi虚拟机硬盘压缩及回收空间(磁盘缩小减少空间占用)的最全8种方法大全
参考URL: https://zhuanlan.zhihu.com/p/453176632
ESXi6.5中将虚拟机从厚置备转换为精简置备
参考URL: https://www.bbsmax.com/A/MyJxr4lEdn/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/721740.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++精简版回顾】13.(重载1)运算符重载+,前置后置++

1.友元函数方式为类重载运算符 &#xff08;友元函数声明可以放在类任何地方&#xff09; 1.类 class MM { public:MM() {}MM(int grade,string name):grade(grade),name(name){}friend MM operator(MM object1, MM object2);void print() {cout << this->grade <…

单调队列的使用

单调队列其实就是一个队列&#xff0c;只是使用了一点巧妙的方法使得队列中的元素全都是单调递增&#xff08;或单调递减&#xff09;的 单挑队列主要解决以下问题&#xff1a; 滑动窗口在滑动时&#xff0c;r代表右侧数字进入串口&#xff0c;l代表左侧数字出窗口 这个过程…

Spring事件发布监听器ApplicationListener原理- 观察者模式

据说监听器模式也是mq实现的原理, 不过mq我还没来得及深入学习, 先用spring来理解一下吧 Spring事件发布监听器ApplicationListener原理- 观察者模式 什么是观察者模式一个Demo深入认识一下观察者模式Spring中的事件发布监听ps 什么是观察者模式 大家都听过一个故事叫做烽火戏…

数据结构与算法-希尔排序

引言 在计算机科学中&#xff0c;数据结构和算法是构建高效软件系统的基石。而排序算法作为算法领域的重要组成部分&#xff0c;一直在各种应用场景中发挥着关键作用。今天我们将聚焦于一种基于插入排序的改进版本——希尔排序&#xff08;Shell Sort&#xff09;&#xff0c;深…

证明高维度神经网络模型是低纬度神经网络模型的加和

神经网络中矩阵乘法的分解与应用 启发标题&#xff1a;神经网络中矩阵乘法的分解与应用摘要&#xff1a;引言&#xff1a;方法&#xff1a;实验&#xff1a;结论&#xff1a;参考文献&#xff1a;附录1附录2实验数据 启发 理论上 更具矩阵乘法 A[p,mn]B[mn,q]C[p,q] Acat(A[:,…

AAC ADTS格式

AAC⾳频格式&#xff1a;Advanced Audio Coding(⾼级⾳频解码)&#xff0c;是⼀种由MPEG-4 标准定义的有损⾳频压缩格式&#xff0c;由Fraunhofer发展&#xff0c;Dolby, Sony和AT&T是主要的贡献者。 ADIF&#xff1a;Audio Data Interchange Format ⾳频数据交换格式。这…

一次奇特的应急响应

访问polling.oastify.com 今天&#xff08;2024/3/5&#xff09;在深信服防火墙用户安全日志页面&#xff0c;检测到我的主机在和polling.oastify.com域名进行通信 当时通知我检查我的主机&#xff0c;慌得一批&#xff0c;检查完后可能认为是我代理的问题&#xff0c;把代理关…

w2v参数报错_TypeError: init() got an unexpected keyword argument ‘size‘

1.错误方式 w2v Word2Vec(docs,size16, sg1, window5, seed2020, workers24, min_count1, iter1) 在linux操作环境下&#xff0c;报错显示&#xff1a; TypeError: init() got an unexpected keyword argument ‘size’ 在vscode软件上&#xff0c;查看当前w2v参数 2.正确…

unocss 究竟比 tailwindcss 快多少?

unocss 究竟比 tailwindcss 快多少&#xff1f; 前言 我们知道 unocss 很快&#xff0c;也许是目前最快的原子化 CSS 引擎 (没有之一)。 unocss 解释它为什么这么快的原因&#xff0c;是因为它不用去解析 CSS 抽象语法树&#xff0c;直接在 content 里面通过正则表达式从内容…

yum 和 rpm

rpm说明 rpm -qa &#xff1a;列出所有已安装的软件包 [roothub ~] rpm -qa geoipupdate-2.5.0-1.el7.x86_64 ncurses-base-5.9-14.20130511.el7_4.noarch libndp-1.2-9.el7.x86_64 libfastjson-0.99.4-3.el7.x86_64 。。。 rpm -qf FILENAME &#xff1a;查找提供 FILENAME…

Nginx使用—http基础知识

web访问流程 当我们在客户端通过浏览器输入网址的时候&#xff0c;这时候是访问不到服务器的&#xff0c; 先会去找到DNS解析服务器&#xff0c;DNS解析服务器返回IP地址&#xff0c; 客户端通过http协议向服务端发送请求&#xff0c;服务器响应请求并返回对应的资源给客户端&a…

H5小游戏,斗地主

H5小游戏源码、JS开发网页小游戏开源源码大合集。无需运行环境,解压后浏览器直接打开。有需要的,私信本人,发演示地址,可以后再订阅,发源码,含60+小游戏源码。如五子棋、象棋、植物大战僵尸、开心消消乐、扑鱼达人、飞机大战等等 <!DOCTYPE html> <html> <…

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:组件内容模糊)

为当前组件添加内容模糊效果。 说明&#xff1a; 从API Version 10开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 foregroundBlurStyle foregroundBlurStyle(value: BlurStyle, options?: ForegroundBlurStyleOptions) 为当前组件提供…

北京Excel表格线下培训班

Excel培训目标 熟练掌握职场中Excel所需的公式函数计算&#xff0c;数据处理分析&#xff0c;各种商务图表制作、动态仪表盘的制作、熟练使用Excel进行数据分析&#xff0c;处理&#xff0c;从复杂的数据表中把数据进行提取汇总 Excel培训形式 线下面授5人以内小班&#xff…

最新AI系统ChatGPT网站H5系统源码,支持Midjourney绘画

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧。已支持GPT…

外包干了6个月,技术退步明显

先说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入广州某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

UE4c++ 材质功能大全(想起来就补充一个)

前言&#xff1a;才想起写一个这个文档&#xff0c;前期内容较少&#xff0c;其他内容&#xff0c;我也只会想起来加一加&#xff01; 材质功能大全 竖直百分比进度HSV To RGBRGB转灰度值AlphaComosote(Premultiplied Alpha&#xff09;预乘 转 Translucent &#xff08;sRGB与…

Hello World!第一个labview程序

软件版本&#xff1a; labview myrio 2021英文版 因为没有找到中文版的&#xff0c;据说是myrio没有中文版本 实验内容&#xff1a; 文本显示&#xff0c;程序界面输入任意文本&#xff0c;然后运行程序 在前面板显示出输入的文本 以下为具体步骤&#xff1a; 第一步&…

【数据结构和算法初阶(C语言)】复杂链表(随机指针,随机链表的复制)题目详解+链表顺序表结尾

目录 1.随机链表的复制 1.2题目描述 1.3题目分析 1.4解题&#xff1a; 2.顺序表和链表对比 2.1cpu高速缓存利用率 3.结语 1.随机链表的复制 一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random 该指针可以指向链表中的任何节点或空节点。 1.2题目描…

Godot自定义控件样式语法解析

前言 本篇原始文章写于2023年8月7日&#xff0c;存储在我的语雀文档中。但是语雀分享有诸多不便&#xff0c;为了让更多Godoter更轻松的搜到和看到&#xff0c;就转过来了。 这个项目我上传了Github&#xff0c;后续会贴上链接。 概述 Godot控件体系存在的问题之一就是样式无…