A small tool for deploying VMware ESXi from another computer running with Microsoft Windows.
DotNet framework runtime 4.o is required.
Freeware.
Let's make harmony harmonious.
A small tool for deploying VMware ESXi from another computer running with Microsoft Windows.
DotNet framework runtime 4.o is required.
Freeware.
From ESXi 5.0, if you install ESXi to a empty hard disk, the target disk will be prepared with GPT-based partitions. That may cause some boot delay or even boot problem in some desktop motherboards.
Fortunately, you can use MBR mode instead of GPT.
Step:
1 Make a clean hard disk for ESXi. You can use any method to delete all partitions on that disk.
2 Boot with ESXi CD. During initial installation step, press Shift-O (letter, not number zero) when prompted (right down corner).
3 Type a space and “formatwithmbr” (without quotation marks). Press enter.
4 Go on setup. ESXi will make the target disk prepared with MBR-based partitions instead of GPT.
1 Create a new VM as you wish. Install CentOS6 with minimal configuration. After installation, shutdown the VM.
shutdown –h now
2 Add a new E1000 network interface card (eth1 in this article, if not, change all related steps below).
3 Boot and login.
4 Setup a temporary network:
ifconfig eth1 <temporary ip> netmask <netmask> up
route add default gw <gateway>
vi /etc/yum.conf
and add these lines:
# The proxy server – proxy server:port number
proxy=http://mycache.mydomain.com:3128
# The account details for yum connections
proxy_username=yum-user
proxy_password=qwerty
5 Install perl, and update system.
yum install perl
yum update
6 Shutdown.
shutdown –h now
7 Remove the E1000 network interface card, which was inserted in step 2.
8 Boot and login.
9 Insert VMware Tools CD.
10 Install VMware Tools, and reboot. (NOTE: you may need to do this step every time after system update)
cd /
mount /dev/cdrom /media
tar –zvxf /media/VM*
cd vmware-tools-distrib/
./vmware-install.pl
follow the instructions on your screen.
umount /media
reboot
11 Wait for reboot and login.
12 Setup eth0
vi /etc/sysconfig/network-scripts/ifcfg-eth0
and add these lines:
ONBOOT=yes
BOOTPROTO=dhcp
IPADDR=<IP>
NETMASK=255.255.255.0
BOOTPROTO=none
13 Setup DNS.
vi /etc/resolv.conf
and add these lines:
nameserver <1st DNS IP>
nameserver <2nd DNS IP>
domain <domain name> #your domain name, optional
14 Setup route.
vi /etc/sysconfig/network
and add these lines:
NETWORKING=yes
HOSTNAME=<value>
GATEWAY=<Gateway IP>
GATEWAYDEV=eth0
15 Reboot.
reboot
16 Disable SELINUX if you don’t like it.
vi /etc/sysconfig/selinux
find the line start with SELINUX=, and set it to disabled.
SELINUX=disabled
1 Backup your vCenter database.
2 Uninstall all vSphere client and plugins. If VUM plugin cannot be uninstall successfully, check this.
3 Upgrade vCenter / VUM software.
4 If you have changed your database before upgrading, vCenter installer maybe setup a SqlServer 2008R2 Express but never used. You can follow this step to change the service dependence and uninstall this instance of SqlServer. Warning: Make sure the instance is truly useless before you uninstall it.
5 Install a vSphere client and a VUM plugin.
6 Open vSphere client, go to Home – Solutions and Applications – Update Manager, ESXi Images tab.
7 Click Import ESXi Image, upload the ESXi 5.0 installation ISO file.
8 Go to Baselines and Groups tab, create a new baseline for hosts with type Host Upgrade.
9 Go to Home – Inventory – Hosts and Clusters, select the cluster or esxi hypervisor, Update Manager tab.
10 Click Attach, to link your selected hypervisors with new created baseline.
11 Scan.
12 Put some of hypervisors into maintenance mode.
13 Important: go to Conguration tab – Software – Security Profile, disable the Lockdown Mode. Or, HA agants will be unable to upgrade.
14 Remediate (context menu item of hypervisor) with Upgrade baseline, select the remove 3rd drivers checkbox.
15 The progress will stay at 22% for more than 5 minutes. You will be notified to press Enter to restart by hypervisor console, not vSphere client. After you press Enter, the CDROM tray will be ejected. You have to close it manually. That is funny, right?
16 Exit maintenance mode.
17 Re-enable the Lockdown Mode.
18 Upgrade license if you need.
19 Upgrade all vm-tools.
20 Upgrade distributed network switches.
21 Upgrade VMFS (terrible). I suggest you to delete and re-create the datastore one by one, by using Storage vMotion moving. It will cost several days.
Situation:
A “not responding” are displayed after all esxi hypervisor shown in vsphere client which linked to the vcenter. Right click any of the esxi and select “Connect” will bring it back. But after a short while, no more than 90 secs, it will be back to not responding status.
Solution:
1 In vShpere client, open menu “Administration” — “vCenter Server Settings”, click “Runtime Settings” from the left panel, make sure that all IP and server name are correct. If not, re-enter it. Close and reopen your vSphere client — This is important.
2 Try to ping from your vCenter, not the vSphere client, to each of esxi hypervisors.
3 If you are using Windows Server 2008/R2 or any OS with firewall for vCenter, you need to add or change some firewall rules:
change:
Enable the “File and Printer Sharing (Echo Request – ICMPv4-In)”
Enable the “File and Printer Sharing (Echo Request – ICMPv6-In)”
Add a rule to allow TCP 903 income for ESXi heartbeat.
Add a rule to allow UDP 902 income for ESXi heartbeat.
4 Try to reconnect all ESXi hypervisors.
If the problem still exists, you have to google it again.
才疏学浅,若有纰漏敬请斧正。转载请保留原地址。
同一台服务器中运行多个虚拟机。纯内部的高速安全网络(仅供服务器内部虚拟机通讯)与混合式内外网络(服务器内部通讯与对外通讯)支持。虚拟机保存于外置存储中。硬盘与内存快照支持。远程维护与管理支持。远程查看并控制虚拟机,无需虚拟机软件支持。
附加功能简介(需要VC及其可能的扩展包):
更新管理器:提供统一的管理界面和存储结构,更新每台服务器的ESX系统与每台虚拟机的系统补丁。
高可用性:允许将群集打开高可用性功能,当某台服务器主机发生故障时,自动于群集的其他服务器中启动受影响的虚拟机。对应的虚拟机必须使用共享式存储,例如磁盘柜系统。
vMotion(内存部分):将运行中的虚拟机动态的从一台服务器移动至另一台服务器,而在执行过程中虚拟机保持正常运行不受影响。对应的虚拟机必须使用共享式存储,例如磁盘柜系统。
vMotion(存储部分):将运行的虚拟机动态的从一个存储子系统移动至另一个存储子系统(例如更换一套硬盘),而在执行过程中虚拟机保持正常运行不受影响。
虚拟机硬件热增加:在不重启虚拟机的情况下,动态的向虚拟机增加内存或CPU。此功能需要虚拟机操作系统支持。Windows Server 2003企业版及以上版本支持动态内存增加功能。Windows Server 2008及以上版本(仅限64位版)支持动态CPU增加功能。
容错:支持将同一个虚拟机同时运行于两台服务器中,当其中任何一台服务器故障时,虚拟机自动切换并保持正常运行。切换过程用户无需干预且虚拟机用户无法察觉。虚拟机系统在切换时保持稳定执行不报错、不重启、不断线。对应的虚拟机必须使用共享式存储,例如磁盘柜系统。
分布式资源管理、分布式电源管理:根据当前启动的服务器负载,动态的规划服务器资源的使用,自动关闭暂时不需使用的服务器并在需要时自动重启,以实现低资源运行。
存储及网络负载控制:分别设置每台虚拟机的存储和网络访问优先性,以符合每个特定的虚拟机优先级要求。
分布式交换机:统一控制所有群集服务器的网络,以方便每台服务器的安装和维护。
主机概述文件:对每台或每组服务器建立主机概述文件,可迅速的应用于服务器,以应对服务器系统重新安装或群集新服务器安装后的快速部署。
范围排除:部署不包括电力、空调、网络部分。
限制:每台服务器之间无群集,无互相协作通讯,不支持虚拟机群集功能。每台服务器最多支持256GB内存,32个CPU核心。不支持附加功能。
必选:ESX基础包、ESX扩展包1、ESX扩展包2、ESX扩展包9、软件1、环境需求1(仅需一个IP地址)
可选:
范围排除:部署不包括电力、空调、外联网络部分。
服务器功能介绍:群集部署时,ESX服务器负责运行用户的虚拟机,并可自行在群集中实现高可用性与容错功能。ESX不提供任何用户界面。VC主机提供用户管理界面,提供用户操作及服务器的高级功能,以及vMotion等跨服务器的维护功能。当VC发生故障时,用户管理受限,但运行的虚拟机不受影响。
限制:每台服务器最多可以支持320个虚拟机,每个群集最多支持32台服务器,每个群集支持最多3000个虚拟机,所有群集最多支持1000台服务器(同一个VC中),所有群集最多支持15000个虚拟机(同一个VC中),且同时最多只能有10000个处于运行状态。群集连接的管理客户端并发最多120个。在分布式交换机管理模式下,每个服务器最多可以管理32块网卡。
必选:
每台ESX服务器:ESX基础包、ESX扩展包1、ESX扩展包4或ESX扩展包5或ESX扩展包6(用于存储、强烈不推荐采用ESX扩展包6)、软件2或软件3或软件4或软件5(以实际需求考虑)、环境需求1、环境需求4(亦可安装于VC主机中,但用户管理访问不便)。
VC主机:VC基础包
机柜其他:群集基础包、群集扩展包1、群集扩展包3与群集扩展包4(当选用ESX扩展包5时)、群集扩展包5与群集扩展包6(当选用ESX扩展包4时)、群集扩展包4(当选用ESX扩展包6用于存储时)
可选:
ESX基础包:服务器一台,不含操作系统。CPU为64位,支持虚拟化VT-x,推荐多核;内存2G为系统内部使用;至少8G可用空间的SATA / SAS硬盘;电源系统;配套主板需要支持VT-x;DVDROM(或统一采用USB接口光驱);两块千兆双绞线或光纤网卡(或更高),必须为ESX所支持之型号。
ESX扩展包1:内存空间。根据实际使用的虚拟机内存而决定容量,每台虚拟机分配的内存*1.1 + 32M即为此虚拟机运行所需,所有虚拟机所需相加即为总量(不包含ESX基础包内的内存)。不同时运行的虚拟机则无需重复计算,结果取同时运行的虚拟机的内存需求的最大值即可。
ESX扩展包2:硬盘空间。根据实际使用的虚拟机硬盘而决定容量,每台虚拟机分配的硬盘 + 32M即为此虚拟机存储所需,所有虚拟机所需相加即为总量(不包含基础包内的硬盘)。如使用系统快照,则根据实际数据变化量递增。
ESX扩展包3:备份硬盘。根据ESX基础包与ESX扩展包2计算得出的硬盘总需求,采用RAID1或RAID5增加必要备份硬盘。RAID接口卡必须为ESX所支持之型号。
ESX扩展包4:FC-HBA卡,必须为ESX所支持之型号。
ESX扩展包5:ISCSI-HBA卡,必须为ESX所支持之型号。
ESX扩展包6:千兆双绞线网卡(或更高),必须为ESX所支持之型号。
ESX扩展包7:千兆光纤网卡(或更高),必须为ESX所支持之型号。
ESX扩展包8:备份电源系统,必须可被对应的ESX基础包支持。
ESX扩展包9:键盘、显示器,必须与ESX基础包硬件兼容。
ESX扩展包10:CPU升级。CPU必须为64位并支持虚拟化VT-x。CPU需求计算为并发的每台虚拟机最大CPU需求量1.1 + 1G,以多核心并列计算(超线程不被计算时考虑),非同时并发的CPU需求则取其最高点计算。例如:本服务器运行有3台虚拟机,A为长期占用1GHz的2个CPU核心,B在工作时间占用最多2GHz的2个CPU核心并在晚上占用500MHz的2个CPU核心,C在夜晚占用最多2GHz的1个CPU核心并在白天基本空闲(100MHz)。计算出的CPU需流量分别为2GHz、4GHz(工作时间)或1GHz(非工作时间)、100MHz(工作时间)或2GHz(非工作时间),则需求的最大CPU需求量为(2+4+0.1)1.1+1 = 7.71(GHz),以4核CPU计算,则CPU需要的最小频率为1.93GHz。通常的,当同一台服务器上运行的虚拟机不多于5个,且运行的虚拟机非CPU高负载的业务,CPU采用4核2G的CPU通常可以满足需求。另,由于ESX的授权以CPU个数计算(非核心个数),推荐采用多核心的CPU,而应谨慎使用多CPU环境。
VC基础包:服务器一台,含64位Windows服务器版操作系统。CPU为64位,推荐多核;内存为6G以上;至少146G的SATA / SAS硬盘;电源系统;DVDROM(或统一采用USB接口光驱);两块千兆双绞线或光纤网卡。
VC扩展包1:存储数据库。支持的数据库有Microsoft SQL Server 2005 Standard edition (SP2, SP3) 64bit、Microsoft SQL Server 2005 Enterprise edition (SP2, SP3) 64bit、Microsoft SQL Server 2008 Standard Edition 64bit、Microsoft SQL Server 2008 Enterprise Edition 64bit、Oracle 10g Enterprise edition (Release 2 [10.2.0.1.0]) x64、Oracle 11g Standard edition x64、Oracle 11g Enterprise edition x64。
VC扩展包2:备份硬盘。根据VC基础包的硬盘需求,采用RAID1或RAID5增加必要备份硬盘。RAID接口卡必须为VC基础包内操作系统所支持之型号。
VC扩展包3:备份硬盘。当VC基础包采用Windows Server 2008 R2时,可以选用此包,使用Windows Backup保存历史系统快照。
群集基础包:机柜及相应的电力供应系统(包括电源插排、UPS系统)、KVM交换机及其配套的键盘鼠标显示器。
群集扩展包1:千兆双绞线交换机(或更高),及网线。
群集扩展包2:千兆光纤交换机(或更高),及光纤模块、网线。
群集扩展包3:ISCSI存储专用交换机,及光纤线。
群集扩展包4:ISCSI磁盘柜及磁盘。根据实际使用的虚拟机硬盘而决定容量,每台虚拟机分配的硬盘 + 32M即为此虚拟机存储所需,所有虚拟机所需相加即为总量。如使用系统快照,则根据实际数据变化量递增。所需总量与所选磁盘备份技术(Raid1、Raid5等)结合,确定最终磁盘选型。
群集扩展包5:光纤通道存储专用交换机,及光纤模块、光纤线。
群集扩展包6:光纤通道磁盘柜及磁盘。根据实际使用的虚拟机硬盘而决定容量,每台虚拟机分配的硬盘 + 32M即为此虚拟机存储所需,所有虚拟机所需相加即为总量。如使用系统快照,则根据实际数据变化量递增。所需总量与所选磁盘备份技术(Raid1、Raid5等)结合,确定最终磁盘选型。
群集扩展包7:附加的磁盘柜控制器,必须可以与选型的磁盘柜配合工作。
软件1:ESXi。免费,支持单机应用,不支持群集应用。如选择此功能,则所需的内存(包含于ESX基础包中)仅需512MB,硬盘(包含于ESX基础包中)仅需2G。
软件2:vSphere Standard。每台服务器支持最多256GB内存,每个CPU支持最多6个核心。附加更新管理器、高可用性、vMotion(仅内存部分,不包括存储vMotion)。
软件3:vSphere Advanced。每台服务器支持最多256GB内存,每个CPU支持最多12个核心。附加更新管理器、高可用性、vMotion(仅内存部分,不包括存储vMotion)、虚拟机硬件热增加、容错。
软件4:vSphere Enterprise。每台服务器支持最多256GB内存,每个CPU支持最多6个核心。附加更新管理器、高可用性、vMotion、虚拟机硬件热增加、容错、分布式资源管理、分布式电源管理。
软件5:vSphere Enterprise Plus。每台服务器支持的内存无限制,每个CPU支持最多12个核心。附加更新管理器、高可用性、vMotion、虚拟机硬件热增加、容错、分布式资源管理、分布式电源管理、存储及网络负载控制、分布式交换机、主机概述文件。
环境需求1:IP段,可供环境其他主机访问。用于群集管理而不是虚拟机的IP需求。
环境需求2:IP段,不供环境其他主机访问。但此IP段应不存在于环境中,以免影响其访问服务器资源。
环境需求3:活动目录,提供用户验证功能。
环境需求4:DNS,提供域名解析服务。
From version 7 of VMware workstation, a new function named AutoProtect is added, which makes it easier to create and remove snapshots automatically. Unfortunately, vSphere doesn’t have some function like that.
In my situation, I need to protect some crucial services, like configuration management database, by creating snapshots, which can be done by daily scheduled tasks. But I still need to delete old snapshots manually which was created 5 days ago. In another word, I need to keep only about 5 latest snapshots for each specified VM.
After some research, I find a tool named PowerCLI. I made some PowerShell scripts to delete snapshots.
Connect-VIServer localhost
$i = new-object System.Int32
$a = Get-VM "CM Database" | get-snapshot -name: 'Daily Backup'
$i = 0
while ($a.Count-$i -gt 5) {$a[$i] | remove-snapshot -confirm: $false; $i++;}
$a = Get-VM "SVN" | get-snapshot -name: 'Daily Backup'
$i = 0
while ($a.Count-$i -gt 5) {$a[$i] | remove-snapshot -confirm: $false; $i++;}
Disconnect-VIServer -confirm: $false
By running this script in PowerCLI environment, the snapshots of vm “CM Database” and “SVN” with a name “Daily Backup” will be deleted from older to newer, until only 5 left — to keep the 5 latest snapshots. All snapshots with other names will not be affected.
I saved this script to file C:\RemoveDailySnapshot.ps1. Create a batch file to run this script:
C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -psc "C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -c ". \"C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\Scripts\Initialize-VIToolkitEnvironment.ps1\";C:\RemoveDailySnapshot.ps1"
Update: code above is for vSphere 4.x; below is for vSphere 5.0.
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -psc "C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -c ". \"C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1\";C:\RemoveDailySnapshot.ps1"
(You may need to change the path string in this code above.)
Finally, by adding this batch file as a Windows schedule task, the AutoProtect for vSphere has been reached.
I still wonder that why this useful function is not included in vSphere?