最近ESXi虚拟机的磁盘空间就剩下几个G了。
研究了下三种虚拟机硬盘格式:厚置备延迟置零,厚置备置零(thick),精简置备(thin)
厚置备的两种都是直接占用分配大小的,精简置备(thin)则是用多少占多少,把厚置备改成精简置备(thin)能省不少空间。
所以第一步,把所有磁盘改成精简置备(thin)。这一步保证磁盘大小一致使用再生龙全盘备份+恢复就行。EXSi自有的迁移工具也行。
第二部需要分析磁盘该如何划分的问题,有些磁盘分得很大,实际上用不到那些,对这部分磁盘要进行缩容。便于以后规划和迁移。
实际上vmdk是不支持缩容改变硬盘大小的,就算你的磁盘有一大堆未分配空间也不行。
那么只能通过折衷的办法进行缩容处理了。
一、Windows系统缩容
1.虚拟机关机,修改挂载的ISO,改成PE光盘文件,PE带网络功能
2.虚拟机重新开机使用光盘启动,使用傲梅分区助手缩小磁盘空间,缩小后的空间=已使用空间*2即可
3.打开PE网络功能,将局域网共享目录挂载成S盘
4.Ghost备份到S盘
5.新建虚拟机,磁盘改成新大小,挂载PE,打开网络功能,挂载S盘,GHOST还原,Ghost支持还原不同大小。
二、Centos系统缩容
1.虚拟机关机,修改挂载的ISO,改成再升龙clonezilla
2.虚拟机重新开机使用光盘启动,使用再生龙samba全盘备份到局域网共享中,win7使用smb1.0,win10使用smb2.0
3.因操作时间较长,所有本地安装一个vmware将磁盘缩减功能在本地做完再还原回去
3.1 centos 6 缩减磁盘
无论是centos 6 还是centos 7 都有lvm分区,但是centos6 是基于EXT4系统的,centos 7是基于XFS系统的,centos6明显好缩减一些
以下操作挂载gparted的ISO进行操作
我的磁盘有4个分区 sda1 启动分区 sda2 交换分区 sda3 lvm分区,放/root目录和/opt目录,sda4 lvm分区,没有放任何目录
所以,我们的目标:1删除sda4多余的lvm分区,2.缩减lvm分区的 /opt目录大小
1.删除sda4
先执行vgreduce从vg组里删除物理分区
#查看分区和vg组名
pvs
vgscan
#删除 vg_01 指vg组名 /dev/sda4 指分区名
vgreduce vg_01 /dev/sda4
再使用pvremove删除物理分区
#查看物理卷
pvscan
#删除物理卷
pvremove /dev/sda4
这样操作之后sda4的uuid安全的从lvm中移除了
不过sda4并没有变成未分配空间,这个简单,gparted图形界面右键删除一下就行
接下来将lvm的/dev/mapper/vg_01-lv_opt缩小至30G,原来是200多G,缩小能减小将近200G的空间
#查看lv分区路径
lvdisplay
fdisk -l
#卸载分区
sudo umount /dev/mapper/vg_01-lv_opt
#检查分区
sudo e2fsck -f /dev/mapper/vg_01-lv_opt
#缩减分区
sudo lvreduce --resizefs -L 30G /dev/mapper/vg_01-lv_opt
#30G指的是最终是30G
这么调整完成之后,Gparted可以看到sda3分区空出来一段,还可以调整大小,调到最小即可
虽然空出来200多G,但是不能ghost,因为ghost不识别lvm分区,再生龙也不行,用全盘备份时,不能支持比他小的盘,备份分区太鸡肋了。分区大小不一致也会报错,总之很繁。
那么最简单的方法是什么呢。
挂载新磁盘+Gparted复制ext4分区+DD复制LVM分区+DD复制MBR主引导记录
本地再新建个虚拟机,找到这个虚拟机的硬盘路径,挂到本地上一个虚拟机的硬盘里,选择挂载已有磁盘即可。
还是GParted启动,可以看到2个硬盘,sda和sdb
sdb分区用msdos,然后Gparted 复制sda1 的启动分区 sda2 的swap分区 这两个没问题,但是LVM没法复制,咋办,用DD
用DD前先在sdb建一个相同大小的lvm分区,大小gpated可以看。
DD复制sda3到sdb3的命令
sudo dd if=/dev/sda3 of=/dev/sdb3
90G的估计半个小时DD完了
不过还不能启动,需要复制启动项
sudo dd if=/dev/sda of=/dev/sdb bs=446 count=1
复制启动项基本1秒完事,完事,关机,然后把那台后建立虚拟机开启来就行。
3.2 centos 7 缩减磁盘
centos 7使用XFS系统,它的lvm分区没centos6那么好缩容,xfs不支持缩减逻辑卷,折中的做法是先备份,然后重新创建,需要利用xfsdump|xfsrestore 工具
4.本地的VMware的磁盘缩容做好后,使用再升龙在备份下,然后还原的EXSi新建的同磁盘大小的虚拟机即可。