虚拟机磁盘空间不足,需要扩容,ESXI主机未接存储,且虚拟机磁盘模式均为“厚置备延迟置零”,主机仅剩余16GB存储空间,无法满足扩容需求,需要为ESXI主机的磁盘组进行扩容。
操作过程:插入物理磁盘–>配置磁盘RAID–>ESXI存储扩容–>虚拟机添加硬盘–>linux lvm扩容。
整个过程顺利的话均可在不影响业务正常运行的情况下,在线完成,但仍建议,在业务闲时或的低峰期进行操作。以下为详细操作过程。
本次扩容的服务器型号为DELL Poweredge R730xd,RAID控制器为PERC H330 Mini (嵌入式),支持实时配置。目前拥有两块2TB的物理磁盘,布局为RAID1。本次操作将额外插入两块2TB物理磁盘,再创建一个RAID1虚拟磁盘。
插入物理磁盘后,有两种方式在线创建虚拟磁盘。
首先查看物理磁盘是否已经识别,依次点击“存储——物理磁盘”,定位新插硬盘。硬盘“状况”如果为“非RAID”,则需要点击“存储——物理磁盘——设置”,将硬盘转换为RAID模式,才可以进一步操作。
依次点击“存储——虚拟磁盘——创建”,勾选物理磁盘,选择“布局”为raid1,其余配置使用默认配置即可。图中已操作完成,无多余物理磁盘,所以无法选择。
idrac8操作界面
“应用操作模式”选择“立即应用”,点击“创建虚拟机磁盘”,即可开始raid创建,可在“作业队列”中查看创建进度。
读取策略将表示控制器在搜索数据时是否必须读取虚拟磁盘连续扇区:
写策略指定控制器是否在数据一进入高速缓存或写入该磁盘后就发送写请求完成信号。
磁盘高速缓存策略适用于特定虚拟磁盘上的读取。这些设置不影响预读策略。
这种方式通用性比较强,如果IDRAC中不支持创建虚拟磁盘(如果RAID控制器固件版本较低,则可能不支持,注意,升级RAID控制器固件版本需重启服务器),或者新插入的磁盘在idrac中未显示出来,则建议采用这种方式。
可参考链接:https://www.dell.com/support/article/zh-cn/sln283135/如何使用poweredge-raid控制器-perc-命令行界面-cli-实用程序管理raid控制器?lang=zh
下载适用于VMware的PERCCLI程序,下载链接为:https://www.dell.com/support/home/cn/zh/cnbsd1/drivers/driversdetails?driverid=17ngt&oscode=xi67&productcode=poweredge-r730xd
下载PERCCli_VMWare_17NGT_A08_7.1020.tar.gz,解压后得到:vmware-perccli_007.1020.vib
安装方法为:ESXI开启SSH服务,通过SSH登录ESXI后,上传vmware-perccli_007.1020.vib,安装命令为:
esxcli software vib install -v **/vmware-perccli-xxx.xxxx.xxxx.xxxx.vib --no-sig-check
安装完成后perccli命令所在目录为:
cd /opt/lsi/perccli
查看物理磁盘信息(c0:Controller 0、eall:all Enclosure、sall:all Slot):
[root@localhost:/opt/lsi/perccli] ./perccli /c0/eall/sall show
CLI Version = 007.1020.0000.0000 July 1, 2019
Operating system = VMkernel 6.7.0
Controller = 0
Status = Success
Description = Show Drive Information Succeeded.
Drive Information :
=================
----------------------------------------------------------------------------
EID:Slt DID State DG Size Intf Med SED PI SeSz Model Sp Type
----------------------------------------------------------------------------
32:0 0 Onln 0 1.818 TB SAS HDD N N 512B ST2000NM0023 U -
32:1 1 Onln 0 1.818 TB SAS HDD N N 512B ST2000NM0023 U -
32:3 3 JBOD - 1.819 TB SAS HDD N N 512B ST2000NM0001 U -
32:4 4 JBOD - 1.819 TB SAS HDD N N 512B ST2000NM0001 U -
----------------------------------------------------------------------------
EID=Enclosure Device ID|Slt=Slot No.|DID=Device ID|DG=DriveGroup
DHS=Dedicated Hot Spare|UGood=Unconfigured Good|GHS=Global Hotspare
UBad=Unconfigured Bad|Onln=Online|Offln=Offline|Intf=Interface
Med=Media Type|SED=Self Encryptive Drive|PI=Protection Info
SeSz=Sector Size|Sp=Spun|U=Up|D=Down|T=Transition|F=Foreign
UGUnsp=Unsupported|UGShld=UnConfigured shielded|HSPShld=Hotspare shielded
CFShld=Configured shielded|Cpybck=CopyBack|CBShld=Copyback Shielded
UBUnsp=UBad Unsupported|rbld=Rebuild
可以看到32:3、32:4两块磁盘处于JBOD(即Non-RAID硬盘)状态,未关联磁盘组。首先将硬盘设置为RAID模式:
[root@localhost:/opt/lsi/perccli] ./perccli /c0/e32/s3 set good force
CLI Version = 007.1020.0000.0000 July 1, 2019
Operating system = VMkernel 6.7.0
Controller = 0
Status = Success
Description = Set Drive Good Succeeded.
[root@localhost:/opt/lsi/perccli] ./perccli /c0/e32/s4 set good force
CLI Version = 007.1020.0000.0000 July 1, 2019
Operating system = VMkernel 6.7.0
Controller = 0
Status = Success
Description = Set Drive Good Succeeded.
[root@localhost:/opt/lsi/perccli] ./perccli /c0/eall/sall show
CLI Version = 007.1020.0000.0000 July 1, 2019
Operating system = VMkernel 6.7.0
Controller = 0
Status = Success
Description = Show Drive Information Succeeded.
Drive Information :
=================
----------------------------------------------------------------------------
EID:Slt DID State DG Size Intf Med SED PI SeSz Model Sp Type
----------------------------------------------------------------------------
32:0 0 Onln 0 1.818 TB SAS HDD N N 512B ST2000NM0023 U -
32:1 1 Onln 0 1.818 TB SAS HDD N N 512B ST2000NM0023 U -
32:3 3 UGood - 1.818 TB SAS HDD N N 512B ST2000NM0001 U -
32:4 4 UGood - 1.818 TB SAS HDD N N 512B ST2000NM0001 U -
----------------------------------------------------------------------------
EID=Enclosure Device ID|Slt=Slot No.|DID=Device ID|DG=DriveGroup
DHS=Dedicated Hot Spare|UGood=Unconfigured Good|GHS=Global Hotspare
UBad=Unconfigured Bad|Onln=Online|Offln=Offline|Intf=Interface
Med=Media Type|SED=Self Encryptive Drive|PI=Protection Info
SeSz=Sector Size|Sp=Spun|U=Up|D=Down|T=Transition|F=Foreign
UGUnsp=Unsupported|UGShld=UnConfigured shielded|HSPShld=Hotspare shielded
CFShld=Configured shielded|Cpybck=CopyBack|CBShld=Copyback Shielded
UBUnsp=UBad Unsupported|rbld=Rebuild
设置完成后即可创建raid,创建raid1的命令为:
[root@localhost:/opt/lsi/perccli] ./perccli /c0 add vd r1 size=all drives=32:3,32:4
CLI Version = 007.1020.0000.0000 July 1, 2019
Operating system = VMkernel 6.7.0
Controller = 0
Status = Success
Description = Add VD Succeeded.
可使用如下命令查看虚拟磁盘初始化过程:
[root@localhost:/opt/lsi/perccli] ./perccli /c0/vall show init
CLI Version = 007.1020.0000.0000 July 1, 2019
Operating system = VMkernel 6.7.0
Controller = 0
Status = Success
Description = None
VD Operation Status :
===================
-----------------------------------------------------------
VD Operation Progress% Status Estimated Time Left
-----------------------------------------------------------
0 INIT - Not in progress -
1 INIT - Not in progress -
-----------------------------------------------------------
磁盘创建完成后需关注后台初始化过程(此过程影响磁盘性能):
[root@localhost:/opt/lsi/perccli] ./perccli /c0/vall show bgi
后台初始化 (BGI) 率:在 PERC 控制器上,冗余虚拟磁盘的后台初始化会在虚拟磁盘创建后 0 到 5 分钟内自动开始。冗余虚拟磁盘的后台初始化会准备虚拟磁盘以维持冗余数据并提高写入性能。例如,RAID 5 虚拟磁盘的后台初始化操作完成后,奇偶校验信息已初始化。RAID 1 虚拟磁盘的后台初始化操作完成后,物理磁盘将进行镜像。 后台初始化过程有助于控制器识别和纠正今后冗余数据可能发生的问题。在这方面,后台初始化过程与检查一致性过程类似。应 允许后台初始化运行直至完成。如果取消,后台初始化会在 0 到 5 分钟内自动重新启动。后台初始化正在运行时,某些进程 (比如读和写操作)可以执行。创建虚拟磁盘等其他进程无法与后台初始化同时运行。这些过程会造成后台初始化取消。 后台初始化率(可配置为 0% 到 100%)代表专用于运行后台初始化任务的系统资源的百分比。为 0% 时,后台初始化对于控 制器具有最低优先级,需要最长的时间才能完成,且对系统性能的影响最小。后台初始化率为 0% 不表示后台初始化已停止或 暂停。为 100% 时,后台初始化为控制器的最高优先级。后台初始化时间最短,并且是对系统性能的影响最小的设置。
以及一致性检查:
[root@localhost:/opt/lsi/perccli] ./perccli /c0/vall show cc
检查一致性:检查一致性任务可以验证冗余(奇偶校验)信息的准确性。此任务仅适用于冗余虚拟驱动器。如果需要,检查一致性任务可重建冗余数据。当虚拟磁盘处于“失败的冗余”状态时,执行检查一致性可能让虚拟磁盘返回到就绪状态。 检查一致性率(可配置为 0% 到 100%)代表专用于运行检查一致性任务的系统资源的百分比。为 0% 时,检查一致性对于控制器具有最低优先级,需要最长的时间才能完成,且对系统性能的影响最小。检查一致性率为 0% 不表示此过程已停止或暂 停。为 100% 时,检查一致性为控制器的最高优先级。检查一致性时间最短,并且是对系统性能的影响最大的的设置。
以上为服务器磁盘扩容过程
此过程在web页面操作即可。
依次点击“存储——数据存储”,选中需要扩容的存储,点击“增加容量”,“创建类型”选择“向现有VMFS数据存储添加数据区”,下一步下一步即可,此过程支持实时配置,不影响业务正常运行。(“选择设备”步骤可用来验证虚拟磁盘创建成功与否,注意看可选的设备与你的预期是否相同)
此过程不赘述。
此过程在web页面操作即可。
依次点击要扩容的虚拟机,“编辑”——“添加硬盘”,硬盘类型可根据实际需要选择。简单来说,ESXI硬盘类型的选择可按照如下原则进行:
已CentOS7为例,为/home目录扩容。
查看新增磁盘名称(例如为/dev/sdb):
fdisk -l
添加分区:
fdisk /dev/sdb
输入n,增加分区
选择p,增加主分区,依次回车
输入t,选择8e
输入w,写入分区表
创建物理卷,并加入卷组:
pvcreate /dev/sdb1 ---创建物理卷
vgdisplay ---查看VG Name
vgextend vg_name /dev/sdb1 ---为卷组增加容量
逻辑卷扩容:
lvextend -l +100%FREE /dev/mapper/centos-home
重新加载逻辑卷:
xfs_growfs /dev/mapper/centos-home
或
resize2fs /dev/mapper/centos-home
---根据文件系统类型选择,Centos7默认为xfs
此过程可在线完成,不影响业务正常运行。