140. 利用vsphere 5.1 drs来防止vms都集中在同一台esxi主机上(5.1)
在vsphere drs里,有一个参数叫做“limitvmsperesxhost”,它可以帮助用户不把鸡蛋放在一个篮子里,以规避vms过于集中,导致服务全部崩溃,配置方式如下:
 
备注:这个是在vsphere web client里配置。
 
141. Vsphere 5.1 web client配置sessions timout
为vsphere client配置sessions timeout比较简单,那么,为vsphere web client配置sessions timeout该如何做呢?
首先需要确认的是我们需要登录到vsphere web client所在的服务器,找到webclient.properties选项,更改缺省的timeout值。对于virtual appliance版本的vcenter,缺省timeout值为120分钟,windows版本的应该也一样;
Web client sessions timeout修改方式如下:
1、登录到vcenter服务器,找到如下路径:
(vcsa) #cd /var/lib/vmware/vsphere-client/webclient.properties
(windows)%alluserprofile%\vmware\vsphere web client\webclient.properties
2、去掉注释后更改session.timeout的的值,单位为分钟,如下为缺省值:
Session.timeout=120
3、启vsphere web client服务:
(vcsa) # /etc/init.d/vsphere-client restart
(windows)进入服务管理器里,右击服务,选择restart即可
4、然后再次打开vsphere web client将会看到timeout时间到后,将会提示如下图所示的timeout提醒。
 
142. 在esxi主机下如何安装brocade hba卡驱动
故障问题:
在esxi主机上无法识别到brocade hba卡,通过lspci可以发现该卡的存储,初步判断可能驱动驱动导致。
解决方法:
a、使用dcui或者vsphere client连接到主机,针对指定主机启用ssh连接。找到主机的“配置”选项卡|“软件”-->“安全配置文件”
点击“服务”之“属性”菜单,然后在弹出的会话框中选择“ssh”
打开ssh“选项”按钮,并点击“启动”按钮,启动主机的ssh服务
在“近期任务”栏中确认启动服务操作完成,并确定ssh服务器在“防火墙”的“入站连接”中被启用。
b、使用scp工具上fc hba卡的驱动程序文件,该驱动程序的下载url为http://www.brocade.com/services-support/drivers-downloads/adapters/vmware.page也可以将驱动程序“brocade_driver_esx50_v3-0-0-0.tar.gz”上传到esxi主机的数据存储中进行操作。
上传结果如下:
c、使用支持ssh协议的工具,如putty连接到主机,或者直接通过dcui,按alt+f2切换到命令行操作模式,输入用户名和密码登录到系统,切换到驱动程序存放的位置并解压驱动程序软件包
Login as: root
Using keyboard-interactive authentication.
Password:
This system has been migrated to esxi 5.0.0.
~ # cd /tmp/drivers
/tmp/drivers # ls
Brocade_driver_esx50_v3-0-0-0.tar.gz
/tmp/drivers # tar zxf brocade_driver_esx50_v3-0-0-0.tar.gz
/tmp/drivers # ls
Bcd-bfa-3.0.0.0-00000-offline_bundle-465342.zip
Bcd-bna-3.0.0.0-00000-offline_bundle-465579.zip
Readme_install_esxi
Bcu_esx50_3.0.0.0.zip
Bfa_aen_adapter.xml
Bfa_aen_audit.xml
Bfa_aen_ethport.xml
Bfa_aen_ioc.xml
Bfa_aen_itnim.xml
Bfa_aen_lport.xml
Bfa_aen_port.xml
Bfa_aen_rport.xml
Bfa_aen_team.xml
Bfa_aen_vlan.xml
Bfa_log_fcs.xml
Bfa_log_hal.xml
Bfa_log_linux.xml
Bfa_log_solaris.xml
Bfa_log_test.xml
Bfa_log_wdrv.xml
Bfahbaapi.so
Brocade-esx-5.0.0-bfaconfig-3.0.0.0-offline_bundle-463306.zip
Brocade_driver_esx50_v3-0-0-0.tar.gz
Brocade_install_esxi.sh
Driver-bld-info.xml
Hba.conf
Libhbaapi.so
Libdbfal.so
/tmp/drivers # pwd
/tmp/drivers
d、执行./brocade_install_esxi.sh脚本安装fc hba驱动程序,安装完毕重启esxi主机。
/tmp/drivers # ./brocade_install_esxi.sh
Checking currently installed packages of ... [bna]...done
Installation result
Message: the update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot required: true
Vibs installed: brocade_bootbank_net-bna_3.0.0.0-1oem.500.0.0.406165
Vibs removed:
Vibs skipped:
Checking currently installed packages of ... [bfa]...done
Installation result
Message: the update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot required: true
Vibs installed: brocade_bootbank_scsi-bfa_3.0.0.0-1oem.500.0.0.406165
Vibs removed:
Vibs skipped:
Checking currently installed packages of ... [bcu]...done
Installation result
Message: the update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot required: true
Vibs installed: brocade_bootbank_bcu-plugin_3.0.0.0-1oem.381646
Vibs removed:
Vibs skipped:
Checking currently installed packages of ... [hp]...done
Installation result
Message: the update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot required: true
Vibs installed: brocade_bootbank_hostprofile-bfaconfig_3.0.0.0-1oem.400876
Vibs removed:
Vibs skipped:
---------------------------------------------------------------------
Driver software is successfully installed.
Please reboot the system.
---------------------------------------------------------------------
/tmp/drivers #
至此,驱动程序安装完成。
E、安装完毕,使用vmkload_mod命令验证系统是否有加载fc hba卡驱动模块,并通过vsphere client查看fc hba卡信息。使用vsphere client连接vcenter server或esxi主机查看hba卡相关信息
验证模块加载成功
# vmkload_mod -l |more
Name used size (kb)
Vmkernel 95 8508
Procfs 2 16
Vmkplexer 1 24
Vmklinux_9 29 536
Vmklinux_9_2_0_0 21 48
Random 1 32
Usb 5 128
Ehci-hcd 0 44
Usb-ohci 0 24
Usb-uhci 0 28
Hid 0 24
Dm 2 12
Nmp 23 144
Vmw_satp_local 9 12
Vmw_satp_default_aa 4 8
Vmw_psp_lib 6 12
Vmw_psp_fixed 10 12
Vmw_psp_rr 4 16
Vmw_psp_mru 0 12
Libata 1 140
Usb-storage 0 72
Vfat 0 48
Vprobe 0 396
Vmci 0 152
Iscsi_trans 5 52
Etherswitch 4 208
Netsched 1 40
Cnic_register 2 12
Bnx2 1 188
Cnic 1 60
Iscsi_linux 1 16
Bnx2i 2 92
Libfc 1 112
Libfcoe 0 28
Pata_serverworks 2 12
Cciss 1 48
Bfa 2 1932 %新加载的brocade hba卡驱动程序模块%
Lvmdriver 1 100
(以下输出省略)
 
143. 使用storage vmotion迁移有多个磁盘的虚拟机时timeout失败
故障状态:
使用storage vmotion迁移虚拟机失败(可能表现形式为超时timeout);
通常发生在迁移进程到5%到10%之间或90%到95之间时容易出现这个问题;
在vcenter server的vpxd日志里可以看到类似消息:
[2010-02-19 02:49:57.283 02828 error 'app'] [migrate] (1216409209437375) vmotion failed: vmodl.fault.systemerror
[2010-02-19 02:49:57.454 02828 verbose 'app'] [vpxvmomi] throw vmodl.fault.systemerror with:(vmodl.fault.systemerror) {dynamictype = <unset>,reason = "source detected that destination failed to resume.",msg = "a general system error occurred: source detected that destination failed to resume."
故障分析:
这个问题一般都是由于用于storage vmotion的参数fsr.maxswitchoverseconds设定太小导致,系统缺省值为100s;
解决方案:
修改fsr.maxswitchoverseconds的值,调大一些,步骤如下:
1、右击需要storage vmotion的虚拟机,点击edit settings;
2、点击options->advanced->general后点击configuration parameters;
3、点击add row后输入fsr.maxswitchoverseconds=xxxs;备注:这里的xxx表示超时值的大小,根据用户需求设定.
4、点击ok完成之后,重启虚拟机生效。
当然,也可以直接在虚拟机的vmx文件里添加下面这行参数:
fsr.maxswitchoverseconds="xxx" 备注:缺省以秒为单位.
如何还不行,请关闭虚拟机在迁移。
 
144. 命令行列出esxi主机的arp表
Arp表的用途我想不用多说了,那么,在esxi下面如何通过命令行查看arp表呢?
Esxi 4.x
执行如下命令:
#esxcli network neighbor list
如果如下图所示:
Esxi 5.x
执行如下命令:
#esxcli network ip neighbor list
输出结果如下图所示:
Vcli命令
执行如下命令分别针对esxi 4.x和esxi 5.x:
#esxcli --server=xxx --username=root --password=xxx network neighbor list
#esxcli --server=xxx --username=root --password=xxx --server=esxi5 network ip neighbor list
Powercli命令
(esxi 4.x)执行如下powercli命令查询esxi主机的arp表:
$esxcli=get-esxcli -vmhost xxx
$esxcli.network.neighbor.list() format-table
输出结果如下图所示:
(esxi 5.x)执行如下powercli命令查询esxi主机的arp表:
$esxcli=get-esxcli -vmhost xxx
$esxcli.network.ip.neighbor.list() format-table
输出结果如下图所示:
 
145. 解决已经从esxi 5.x移除掉的lun重新出现在device list的问题
第146个问题描述了正常移除esxi 5.x主机上的lun,实际上,那样的步骤后,在esxi 5.x上还会有这个device 在esxi主机的storage list里的,因此,还需要执行如下步骤:
1、root权限登录到esxi shell或ssh,执行如下命令:
#esxcli storage core device detached list
2、将被移除掉的lun从detached list里移除掉,执行如下命令:
#esxcli storage core device detached remove -d naa_id
3、执行rescan,重新扫描hba卡,至此才算真正完成移除动作。
但是,完成上述动作之后,可能会发生一件事情:被移除掉的lun会重新出现,什么原因导致的呢?
这个问题一般发生在iscsi作为存储的情况下(本例中客户选用了dell的equallogic存储)。尽管lun已经被正常的从esxi主机移除掉了,但是iscsi target的连接还是正常的,因此,实际上这个lun还能够被访问和看到的。
如果要彻底解决这个问题,则需要在iscsi的静态发现里去掉这个,然后最好重启下esxi服务器。
备注:需要注意一点,如果这个lun只是需要暂时被无视,而不是永久移除,则千万不要做detach动作,否则,esxi将再也无法看到这个lun了
 
146. 如何从esxi 5.x里正确的移除掉一个lun
将正常的lun添加到esxi 5.x服务器比较简单,可是,如何将lun从esxi 5.x服务器移除掉呢?尤其是,如果遵循标准流程去移除呢?因为,移除lun需要考虑的很多,比如:
? 确保没虚拟机在lun上;
? lun不能为rdm lun;
? storage i/o control确保处于关闭状态;
? lun不能是heartbeat datastore;
? lun不是日志存放点;
? lun也不能是datastore cluster的组成部分;
因此,在移除lun之前,需要注意上述部分,在考虑清楚上述步骤后,最关键的是需要按照如下步骤执行:
1、首先unmount这个lun;
2、其次是在device里detach(这一步很少人回去做)。
 
147. 在vsphere 5.1里安装inventory service ssl证书(5.1)
Ssl证书这个东西在以后,越来越常见了,view 5.1要求这个,vcenter也会要求这个,慢慢的,有一个证书验证也就成了习惯了,这里,讨论下如何为inventory server部署一个ssl证书;
备注:目前,启用了独立ssl证书的inventory service可能会导致vcenter无法正常工作,因此,本文仅介绍下证书的部署方式,暂不建议使用;
1、首先,将inventory service从vcenter sso服务解除注册;
2、打开命令行,然后执行下列命令:
?cd /d c:\program files\vmware\infrastructure\inventory service\scripts
?unregister-sso.bat https://xxxx:7444/lookupservice/sdk admin@system-domain password
备注:上文中的password是你在部署的时候自行设定的password;
如果成功解除注册信息,则将会看到类是如下的界面:
3、如果第2步的执行有问题,则进入到c:\program files\vmware\infrastructure\inventory service\sso里面拷贝一个regtool.cmd文件,然后用文本编辑器打开它:
找到如下脚本:
Set log4j_conf=-dlog4j.configuration=file:%tool_dir%\log4j.xml
更改为如下格式(将路径做一个调整,输入完整执行路径):set log4j_conf=-dlog4j.configuration=file:"c:\program files\vmware\infrastructure\inventory service\sso\log4j.xml"
然后,保存之后重新运行第2步中的unregister-sso.bat文件,理论上应该ok了;
4、然后,就可以将ssl证书拷贝到c:\programdata\vmware\infrastructure\inventory service\ssl,证书文件分别为rui.crt、rui.eky和rui.pfx,都利用openssl生成,在openssl-win32\certs\inventory目录下;
5、进入服务管理里面停止掉“vmware vcenter inventory service”,然后按照第2步的方式,执行如下命令
Register-sso.bat https://xxx:74444/lookupservice/sdk admin@syste-domain password
如果成功,将会提示出现如下界面:
 
6、重新进入服务管理器里,启动“vmware vcenter inventory service”即可。
 
148. 配置oracle数据库用户,用于vcenter到数据库的连接
1、利用系统账户登录sql *plus会话;
2、运行下面的sql命令,创建vcenter server数据库的用户并分配合适的权限:
这个脚本位于vcenter server的安装目录\vpx\dbschema\db_and_schema_creation_scripts_oracle.txt,脚本内容如下:
1. Create user "vpxadmin" profile "default" identified by "oracle" default tablespace
2. "vpx" account unlock;
3. Grant connect to vpxadmin;
4. Grant resource to vpxadmin;
5. Grant create view to vpxadmin;
6. Grant create sequence to vpxadmin;
7. Grant create table to vpxadmin;
8. Grant create materialized view to vpxadmin;
9. Grant execute on dbms_lock to vpxadmin;
10. Grant execute on dbms_job to vpxadmin;
11. Grant select on dba_tablespaces to vpxadmin;
12. Grant select on dba_temp_files to vpxadmin;
13. Grant select on dba_data_files to vpxadmin;
14. Grant unlimited tablespace to vpxadmin;
备注1:上面脚本中的vpxadmin可自行定义;
备注2:缺省情况下resource角色拥有create procedure,create table和create sequence特权;
备注3:如果需要替换掉针对unlimited tablespace,可选用如下执行脚本:
1. Lter user "vpxadmin" quota unlimited on "vpx"
3、(可选)成功部署vcenter server专用的oracle数据库,则可以使用如下脚本收回下列特权:
1. Revoke select on dba_tablespaces from vpxadmin
2. Revoke select on dba_temp_files from vpxadmin
3. Revoke select on dba_data_files from vpxadmin
完成上述动作后,意味着oracle数据库和必要的数据表空间的权限都已完成赋予。
 
149. Esx(i) server里root用户权限丢失或被降级
故障状态
1、利用root用户vsphere client链接esxi/esx服务器时,部分组件成灰色状态;
2、无法针对root的权限进行调整;
故障分析
这种问题一般都是由于用户错误的调整权限设定或极其罕见的程序配置混乱导致;
解决方案
要想恢复相关权限,vsphere client的图形界面是不行的,只能进入到控制台界面操作,解决思路是修改authorization.xml或authentication.xml文件来调整,步骤如下:
1、cos或ssh登录到esxi/esx服务器的service console界面;
2、利用vi或nano编辑器打开下面的文件:
1. #vi /etc/vmware/hostd/authentication.xml
3、更改其中<acedataroleid></acedataroleid>之间的值为;
4、保存退出之后,重启hostd服务或重启服务器即可。
1. #service mgmt-vmware restart
2.
3. 或esxi
4.
5. ./sbin/services.sh restart
本文转自 saturn 51CTO博客,原文链接:http://blog.51cto.com/saturn/1211766