ESXi主机ssh开启、 thin磁盘空间回收、虚拟磁盘类型转换

ESXi 5.5是直接安装在物理主机上的一个虚拟机系统,本质上是一个Linux系统。平时可以通过VMware Client端或者VMware vCenter进行管理,但对于一些特殊的VMware命令或设置更改,有时需要连接到VMware主机进行操作,这就需要ESXi主机的ssh是开通的。由于ESXi主机是创建虚拟机的基础,非常重要,所以默认安装了ESXi后,默认ssh服务是关闭着的,而且一旦开启,在vCenter里面也会出现ssh已开启的警告,以说明目前ESXi主机处于一个相对有安全风险的状态。

ESXi主机ssh开启

一、   在ESXi主机的控制台进行设置

进入系统设置界面,如下图所示,向下移动光标到Troubleshooting Options,按回车。

wKiom1ZLV0WgcS95AABbxemgN0o914.png

然后进入如下图所示的界面,然后把光标向下移动到Enable Remote Tech Support(SSH)启用远程连接,如果右边显示Remote TSM (SSH) is Disabled则按一次回车,右侧就会显示Remote TSM (SSH) is Enable。

wKioL1ZLWBez1CuuAACRDbNElxw917.png

最后按ESC键退出就可以通过SSH客户端来远程连接了。

二、   通过vSphere进行设置

在vSphere Client中选中ESXi服务器,点击右面的【配置】>【安全配置文件】>【属性】

wKioL1ZLWOKjaWeQAACz36VcEdg508.jpg

在【服务属性】画面中,选择【远程技术支持(SSH)】后点击【选项】。

wKiom1ZLWMjSV2zgAAD_VkU--5o826.jpg

选择【自动启动】,并点击【启动】

wKiom1ZLWOLi8-UqAACIsPmCIFA225.jpg

ESXi主机SNMP开启


1、开启ssh后,登录编辑ESXi主机上的/etc/vmware/snmp.xml的文件

格式如下:

<config> 

  <snmpSettings> 

    <communities>【community值】</communities> 

    <enable>【true/false】</enable> 

    <targets>【snmp trap接收服务器】 【共享的community值】</targets> 

  </snmpSettings> 

</config>

~ # cat /etc/vmware/snmp.xml 
<?xml version="1.0"?>
<config><snmpSettings><enable>true</enable><port>161</port><EnvEventSource>indications</EnvEventSource><loglevel>info</loglevel><communities>public</communities><targets>10.15.97.195@161 public</targets><engineid>00000063000000a100000000</engineid></snmpSettings></config>
~ #

9f2833bf919c129d420d59bed61cdbdc.jpg

true表示开启SNMP服务,public表示的是snmp的团体名,192.168.1.247@161 public表示该snmp使用161端口,其中表示的192.168.1.247esxi的管理IP地址。这个ip也可以不指定,保持默认。

2、登陆esxi开启snmp服务,如果没配置snmp.xml就启动可能会提示你调用对象 “serviceSystem-1209”的“HostServiceSystem.Start” 失败。

9c98d30b1991bbda80dd2e63741920cf.jpg



以上修改完毕后,需要使用以下命令启动:

/sbin/services.sh  restart

执行该命令后,SSH、vsphere连接都可能会断开,然后就可以通过snmp获取信息了


通过命令设置:

esxcli system snmp set --communities public
esxcli system snmp set --enable true
esxcli network firewall ruleset set --ruleset-id snmp --allowed-all true ####允许所有主机访问snmp服务
esxcli network firewall ruleset set --ruleset-id snmp --enabled true
/etc/init.d/snmpd restart

####如果要只允许特定的IP地址访问snmp服务
esxcli network firewall ruleset set --ruleset-id snmp --allowed-all false
esxcli network firewall ruleset allowedip add --ruleset-id snmp --ip-address 10.0.101.0/24
esxcli network firewall ruleset set --ruleset-id snmp --enabled true
/etc/init.d/snmpd restart



Thin磁盘空间回收

最近3个月一台ESXI服务器里的mysql从库挂了两次,两次都是因为宿主机空间不足,导致从库的文件加载不了,最近一次查看了下磁盘使用情况,宿主机磁盘空间为0,一台server2008占用了133G左右,mysql从占用了将近380G,进入系统发现只用了100多G,在创建虚拟机时候选的都是精简模式:

  • 厚置备延迟置零(zeroed thick):以默认的厚格式创建虚拟磁盘。创建过程中为虚拟磁盘分配所需空间。创建时不会擦除物理设备上保留的任何数据,但是以后从虚拟机首次执行写操作时会按需要将其置零。

  • 厚置备置零 (eager zeroed thick):创建支持群集功能(如 Fault  Tolerance)的厚磁盘。在创建时为虚拟磁盘分配所需的空间。与zeroed thick相反,在创建过程中会将物理设备上保留的数据置零。创建这种格式的磁盘所需的时间可能会比创建其他类型的磁盘长。

  • 精简置备(thin):使用精简置备格式。最初,精简置备的磁盘只使用该磁盘最初所需要的数据存储空间。如果以后精简磁盘需要更多空间,则它可以增长到为其分配的最大容量。

在创建mysql从虚机的时候,我指定的是500G的空间,但是由于使用了thin的方式,可能实际上只分配了200GB的空间(还有300GB的空间预留着,并没有从存储上真正分出去)。但后来随着mysql从文件越来越多,使用了400GB,那这时候我发现空间不够了,我删了100GB的空间,其实这100GB空间并没有完全空闲出来,还是真正划分给了mysql从虚机。这是因为这个delete操作是在guest OS中进行的,而hypervisor并不知道这个动作,所以也就不会reclaim space。所以,我们会发现虽然在创建虚机的时候使用thin的方式,但是到后来后端存储空间还是消耗的很快。对于ESXi可以使用vmkfstools这个工具将空间清理出来。

注意事项:
1、操作前请先关闭虚拟机
2、操作前需要打开ESXI ssh 服务,并需要登陆到ESXI
 ,进入虚拟机所在的datastore目录,每个目录为一个虚拟机 

~ # cd /vmfs/volumes/datastore1\ \(8\)/
/vmfs/volumes/55b99e39-9c3650d8-20a4-3ca82a23c98c # ls
Mysql3  ser08   soft
/vmfs/volumes/55b99e39-9c3650d8-20a4-3ca82a23c98c # cd Mysql3/

需要用到的文件是vmdk磁盘文件,vmdk有两种,一种是”虚拟机名.vmdk”,另一种是”虚拟机名-flat.vmdk”,vmdk文件很小,存放了虚拟磁盘的一些配置信息(如虚拟磁盘数据文件等),实际数据都存放在flat.vmdk文件中,转换时需要使用vmdk文件而不是flat.vmdk文件 

/vmfs/volumes/55b99e39-9c3650d8-20a4-3ca82a23c98c/Mysql3 # vmkfstools -K(大写) Mysql3.vmdk  #vmkfstools --punchzero Mysql3.vmdk
vmfsDisk: 1, rdmDisk: 0, blockSize: 1048576         
Hole Punching: 100% done. 
/vmfs/volumes/55b99e39-9c3650d8-20a4-3ca82a23c98c/Mysql3 # du -sh *
64.0G   Mysql3-8c9d0a22.vswp
315.9G  Mysql3-flat.vmdk
1.0M    Mysql3.nvram
0       Mysql3.vmdk
0       Mysql3.vmsd
8.0K    Mysql3.vmx
0       Mysql3.vmx.lck
0       Mysql3.vmxf
8.0K    Mysql3.vmx~
1.0M    vmware-1.log
1.0M    vmware-2.log
1.0M    vmware.log
141.0M  vmx-Mysql3-2359101986-1.vswp
/vmfs/volumes/55b99e39-9c3650d8-20a4-3ca82a23c98c/Mysql3 #

vmkfstools是一个创建和维护在VMware ESX Server上的虚拟磁盘,文件系统,逻辑卷和物理存储设备的程序.他支持创建在一磁盘分区上创建VMFS,和管理保存在VMFS上的文件(如虚拟磁盘). 

/vmfs/volumes/55b99e39-9c3650d8-20a4-3ca82a23c98c/Mysql3 # vmkfstools --h
vmkfstools: option '--h' is ambiguous

OPTIONS FOR FILE SYSTEMS:

vmkfstools -C --createfs [vmfs3|vmfs5]
               -b --blocksize #[mMkK]
               -S --setfsname fsName
           -Z --spanfs span-partition
           -G --growfs grown-partition
   deviceName

           -P --queryfs -h --humanreadable
           -T --upgradevmfs
   vmfsPath
           -y --reclaimBlocks vmfsPath [--reclaimBlocksUnit #blocks]

OPTIONS FOR VIRTUAL DISKS:

vmkfstools -c --createvirtualdisk #[gGmMkK]
               -d --diskformat [zeroedthick
                               |thin
                               |eagerzeroedthick
                               ]
               -a --adaptertype [buslogic|lsilogic|ide
                                |lsisas|pvscsi]
               -W --objecttype [file|vsan]
               --policyFile <fileName>
           -w --writezeros
           -j --inflatedisk
           -k --eagerzero
           -K --punchzero
           -U --deletevirtualdisk
           -E --renamevirtualdisk srcDisk
           -i --clonevirtualdisk srcDisk
               -d --diskformat [zeroedthick
                               |thin
                               |eagerzeroedthick
                               |rdm:<device>|rdmp:<device>
                               |2gbsparse]
               -W --object [file|vsan]
               --policyFile <fileName>
               -N --avoidnativeclone
           -X --extendvirtualdisk #[gGmMkK]
               [-d --diskformat eagerzeroedthick]
           -M --migratevirtualdisk
           -r --createrdm /vmfs/devices/disks/...
           -q --queryrdm
           -z --createrdmpassthru /vmfs/devices/disks/...
           -v --verbose #
           -g --geometry
           -x --fix [check|repair]
           -e --chainConsistent
           -Q --objecttype name/value pair
           --uniqueblocks childDisk
   vmfsPath

OPTIONS FOR DEVICES: 

           -L --lock [reserve|release|lunreset|targetreset|busreset|readkeys|readresv
                     ] /vmfs/devices/disks/...
           -B --breaklock /vmfs/devices/disks/...

vmkfstools -H --help

/vmfs/volumes/55b99e39-9c3650d8-20a4-3ca82a23c98c/Mysql3 #


虚拟磁盘类型转换(thick to thin ) 

没有机器用来做实验,这里应用ngood的BLOG文章VMware ESXI 虚拟磁盘工具 - vmkfstools 使用实例

  1. 1 虚拟磁盘类型转换,thick to thin 

  2.  

  3. vmkfstools 命令格式 

  4. # vmkfstools -i<source-disk-name.vmdk>-d {thin|thick}<destination-disk-name.vmdk> 

  5. 参数解释: 

  6. -i <source-disk-name.vmdk>参数:原vmdk磁盘名 

  7. -d {thin|thick}<destination-disk-name.vmdk> :目标磁盘的格式,thin或thick; <destination-disk-name.vmdk>为要生成的目标vmdk磁盘名; 

  8.  

  9. 1.1 进入虚拟机所在的datastore目录,每个目录为一个虚拟机 

  10. ~ # cd /vmfs/volumes/datastore1 

  11. /vmfs/volumes/4f3cedd3-1b48e924-3d7d-0022195a4404 # ls 

  12. cobbler-5.85          converter-two-57.72   datanode2-57.78 

  13. converter-four-57.74  converter-win-xp      ovf-cos-5.7 

  14.  

  15. 1.2 此次转换的虚拟机为converter-two-57.72,进入该虚拟机目录 

  16. /vmfs/volumes/4f3cedd3-1b48e924-3d7d-0022195a4404 # cd converter-two-57.72/ 

  17. /vmfs/volumes/4f3cedd3-1b48e924-3d7d-0022195a4404/converter-two-57.72 # du -sh * 

  18. 20.0G   converter-two-flat.vmdk 

  19. 64.0k   converter-two.nvram 

  20. 64.0k   converter-two.vmdk 

  21. 0   converter-two.vmsd 

  22. 64.0k   converter-two.vmx 

  23. 64.0k   converter-two.vmxf 

  24. 64.0k   vmware-4.log 

  25. 1.0M    vmware-5.log 

  26. 1.0M    vmware-6.log 

  27. 1.0M    vmware-7.log 

  28. 1.0M    vmware-8.log 

  29. 64.0k   vmware-9.log 

  30. 64.0k   vmware.log 

  31.  

  32.  

  33. 1.3 需要注意:转换过程中需要用到的文件是vmdk磁盘文件,vmdk有两种,一种是”虚拟机名.vmdk”,另一种是”虚拟机名-flat.vmdk”,vmdk文件很小,

  34. 存放了虚拟磁盘的一些配置信息(如虚拟磁盘数据文件等),实际数据都存放在flat.vmdk文件中,转换时需要使用vmdk文件而不是flat.vmdk文件 

  35.  

  36. 1.4 开始转换 

  37. 1.4.1 使用vmkfstools将厚模式的vmdk文件克隆为精简的vmdk磁盘文件,转换磁盘完成后将生成两个新的vmdk和flat.vmdk文件 

  38. /vmfs/..../converter-two-57.72 # vmkfstools -i converter-two.vmdk  -d thin converter-two_new.vmdk   

  39. Destination disk format: VMFS thin-provisioned 

  40. Cloning disk 'converter-two.vmdk'... 

  41. Clone: 100% done. 

  42.  

  43. /vmfs/..../converter-two-57.72 # du -sh * 

  44. 20.0G   converter-two-flat.vmdk 

  45. 64.0k   converter-two.nvram 

  46. 64.0k   converter-two.vmdk 

  47. 0   converter-two.vmsd 

  48. 64.0k   converter-two.vmx 

  49. 64.0k   converter-two.vmxf 

  50. 7.9G    converter-two_new-flat.vmdk 

  51. 64.0k   converter-two_new.vmdk 

  52. 64.0k   vmware-4.log 

  53. 1.0M    vmware-5.log 

  54. 1.0M    vmware-6.log 

  55. 1.0M    vmware-7.log 

  56. 1.0M    vmware-8.log 

  57. 64.0k   vmware-9.log 

  58. 64.0k   vmware.log 

  59.  

  60. 1.4.2 将原来的厚模式磁盘文件vmdk和flat.vmdk文件备份 

  61. /vmfs/..../converter-two-57.72 # mv converter-two.vmdk converter-two_old.vmdk  

  62. /vmfs/..../converter-two-57.72 # mv converter-two-flat.vmdk converter-two-flat_old.vmdk  

  63.  

  64. 1.4.3 将新生成的vmdk和flat.vmdk磁盘文件分别重命名为原有磁盘名称 

  65. /vmfs/..../converter-two-57.72 # mv converter-two_new.vmdk converter-two.vmdk      

  66. /vmfs/..../converter-two-57.72 # mv converter-two_new-flat.vmdk converter-two-flat.vmdk 

  67.  

  68. 1.4.4 编辑 vmdk 文件,确保 # Extent description "converter-two-flat.vmdk" 为原有磁盘名称 

  69. /vmfs/..../converter-two-57.72 # cat converter-two.vmdk  

  70. # Disk DescriptorFile 

  71. version=1 

  72. encoding="UTF-8" 

  73. CID=9cad19cd 

  74. parentCID=ffffffff 

  75. isNativeSnapshot="no" 

  76. createType="vmfs" 

  77.  

  78. # Extent description 

  79. RW 41932416 VMFS "converter-two_new-flat.vmdk" 

  80.  

  81. # The Disk Data Base  

  82. #DDB 

  83.  

  84. ddb.deletable = "true" 

  85. ddb.toolsVersion = "0" 

  86. ddb.geometry.biosHeads = "255" 

  87. ddb.geometry.biosSectors = "63" 

  88. ddb.geometry.biosCylinders = "2610" 

  89. ddb.virtualHWVersion = "7" 

  90. ddb.longContentID = "364b422b2ceb3f6f0a4e88d09cad19cd" 

  91. ddb.uuid = "60 00 C2 94 89 93 59 2c-d9 22 d3 e4 e6 b3 a4 22" 

  92. ddb.geometry.cylinders = "2610" 

  93. ddb.geometry.heads = "255" 

  94. ddb.geometry.sectors = "63" 

  95. ddb.thinProvisioned = "1" 

  96. ddb.adapterType = "lsilogic" 

  97.  

  98. 1.4.5 启动虚拟机检查是否工作正常,对比精简置备与厚置备大小 

  99. /vmfs/..../converter-two-57.72 # du -sh *500.0M converter-two-326dc793.vswp 

  100. 7.9G    converter-two-flat.vmdk 

  101. 20.0G   converter-two-flat_old.vmdk 

  102. 64.0k   converter-two.nvram 

  103. 64.0k   converter-two.vmdk 

  104. 0   converter-two.vmsd 

  105. 64.0k   converter-two.vmx 

  106. 64.0k   converter-two.vmxf 

  107. 64.0k   converter-two_old.vmdk 

  108. 64.0k   vmware-10.log 

  109. 64.0k   vmware-11.log 

  110. 1.0M    vmware-6.log 

  111. 1.0M    vmware-7.log 

  112. 1.0M    vmware-8.log 

  113. 64.0k   vmware-9.log 

  114. 64.0k   vmware.log 

  115.  

  116. 1.5 其它方式 

  117. 精简置备转换至厚置备置零: 

  118. vmkfstools --inflatedisk /vmfs/volumes/DatastoreName/VMName/VMName.vmdk 

  119. 厚置备延迟置零转换至厚置备置零: 

  120. vmkfstools --eagerzero /vmfs/volumes/DatastoreName/VMName/VMName.vmdk 

  121.  

  122.  

  123. 2 更改虚拟磁盘(vmdk)大小 

  124. 要特別注意的是,如果此虚拟机已有快照,请先删除所有快照在执行以下操作,否则这个VMDK将出错,內部的资料丢失!!!! 

  125.  

  126. 2.1 vmkfstools 命令格式 

  127. vmkfstools -X [新的大小] [目的vmdk文件] 

  128. 2.2 当前虚拟机虚拟磁盘大小 

  129. [root@bz-cl2 ~]# fdisk -l /dev/sda 

  130.  

  131. Disk /dev/sda: 21.4 GB, 21469396992 bytes 

  132. 255 heads, 63 sectors/track, 2610 cylinders 

  133. Units = cylinders of 16065 * 512 = 8225280 bytes 

  134.  

  135. 2.3 关闭虚拟机,登陆ESXI 调整虚拟磁盘大小 

  136. /vmfs/..../converter-two-57.72 # vmkfstools -X 40g converter-two.vmdk

  137.  

  138. 2.4 开启虚拟机,验证虚拟磁盘大小 

  139. [root@bz-cl2 ~]# fdisk -l /dev/sda 

  140.  

  141. Disk /dev/sda: 42.9 GB, 42949672960 bytes 

  142. 255 heads, 63 sectors/track, 5221 cylinders 

  143. Units = cylinders of 16065 * 512 = 8225280 bytes 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值