设为首页 收藏本站
查看: 981|回复: 0

[经验分享] vmware ESX server性能调整

[复制链接]

尚未签到

发表于 2018-10-23 12:25:42 | 显示全部楼层 |阅读模式
  vmware ESX server 是当前服务器市场上基于intel平台的最流行的虚拟软件产品。对比其他虚拟软件产品,ESX的最大优点就是可以大大减少host系统所占用资源的。ESX server内核直接运行在硬件之上,而且系统稳定性和性能都有很大的提高。
  ESX server也很适合企业级应用,因为它支持重要的冗余功能,比如多路经,以及链路绑定。由于有诸如p2v vmotion 和virtualcenter软件的支持,ESX server 非常适合企业部署
  注意 此章节是按照ESX server 2.1.0来介绍的。对于其他版本的ESX server这些方法不一定都可以通用。
   介绍
  对于大型的ESX server系统来调整性能是一件非常艰巨的任务。ESX server可以在硬件上承载非常大的负载。根据负荷量以及所运行虚拟系统的数量。服务器的一些子系统可能会达到性能瓶颈。因此非常重要的一件事情就是要评估设计以及配置硬件系统,来保证不会出现系统瓶颈。
  理解ESX server仅仅会虚拟化你的负载这个概念很重要,他的意思是说实际上你需要根据原先的计划来调整ESX server系统。虚拟化很多基础服务器或者终端服务器会对你配置你系统的方法产生巨大影响。另外需要明白ESX server是虚拟化当前的硬件。你还需要根据不同的虚拟操作系统来做相应的系统性能调整。
   理解Vmware性能概念
  在讨论调整ESX Server性能之前,理解虚拟化对性能带来的影响是很重要的。ESX server虚拟化硬件,而且提供在一个物理机器上运行多个虚拟操作系统的环境。
  默认情况下,对于硬件的访问,比如硬盘,网络,每一个虚拟机器有同等的权利。通常不希望看到一个虚拟系统吃掉了其他虚拟系统所有可用的资源。比如有一个服务器连接了一个SAN存储,提供了250MBps带宽。如果安装了ESX server,创建了一个虚拟机器测试输出,一般只有25-50MBps输出这么少,是不是ESX server性能很差?现在,创建另一个虚拟机器,同时运行测试,每一个虚拟系统都可以达到25-50MBps,你可以继续这个测试,一直到ESX server内核或者SAN网络产生瓶颈。从这个例子中可以看出ESX server设计上来说是尽量考虑并行可扩展性,而不是某一个虚拟机器的高性能。如果你的应用确实需要某一个子系统的高性能负荷,你最好不好把这个应用放到ESX server上来。然而如果你有很多服务器应用但是每个都不是对i/o和cpu要求很高,使用ESX server确实可以节省硬件以及软件的费用。有些应用程序运行的性能可以和本地运行媲美。
   硬件布局
  在xserver上配置ESX server的时候,你可以有很丰富的硬件选择,从2路机器到16路机器64G内存,并且联接SAN存储。因此,可以做出一个非常好的解决方案,当然硬件的配置是要看自身的需求才有意义。
  对于ESX server,硬件子系统容易出现瓶颈的地方通常是:
  内存 磁盘,网络
  在虚拟机器中的典型应用比如ESX server通常不会造成cpu的瓶颈。
  为了避免内存内存瓶颈的产生。尽量选择高前端总线的系统。ESX server对于cpu到内存以及i/o到内存的操作很频繁。他们都会利用前端总线。另外尽量加大内存,来避免交换分区的产生影响性能。注意,内存的需要量是由各个虚拟机器上运行的应用程序需求来决定的。
  提示:如果配置445 440,需要每一个SMP板上的内存容量相同。如果不同的话,会影响性能。
  同内存同等重要的就是磁盘系统的调整,对于ESX server磁盘系统的影响尤为重要。承载ESX server内核,以及内核映像,以及控制台系统文件的磁盘来说应该配备raid1的保护
  我们不推荐利用板载lsi作raid,推荐用5i 6i 6m卡,因为板载的lsi的cpu很慢,没有缓存,没有电池保护,因此不建议应用在生产环境
  对于VMFS存储,我们推荐用可以用到的最好的存储设备来承载。比如:用很多磁盘作raid,磁盘越多,性能越好,尽量用10k或者15k的硬盘。如果用scsi,用u320的磁盘,使用高性能的raid控制器,比如6m,ds4300光纤控制器。使用raid10配置最大的stripe大小。对于serveRaid,使用64k 光纤通道用512k或者1MB
  VMFS文件系统使用的block大小就是1MB所以尽量的配合他的大小。如果用光纤存储比如告诉HBA卡比如fc2-133。本身配置SAN存储已经是一个非常复杂的任务了,但请尽量给ESX server划分单独的存储分区
  总的来说,调整磁盘系统是一个非常复杂而且耗时间的工作,需要分析利用以及系统负荷,来调整性能。
  提示:如果你对ESX server在ds4000上部署非常感兴趣,可以参考红皮书SG24-6434-00
  对于网络配置,我们建议至少有2个千兆网卡(不要共享给控制台系统)网络配置依据于网络布局,比如如果交换机是10/100m那么配置多个1000m网卡也就没有意义了。根据网络布局,最好把ESX server连接到一个高速交换机,并可以支持网卡绑定功能。
  cpu子系统需要根据所有的虚拟机器以及加上额外的10%-20%的复合计算的。因为ESX server支持到16路cpu,可以很容易在445上部署,请注意,不应该只考虑性能调整,你还应该考虑冗余等问题
  提示:ESX server支持超线程,如果是2.1.2版本的话,推荐启用HT。不过如果用的是2.1.0,强烈建议禁用超线程。需要在bios,以及ESX server内核中都禁用。
  vmware磁盘分区
  在ESX server中,你需要明确集中不同的磁盘存储类型:
  存储虚拟系统的
  存储ESX server内核,交换文件,日至文件的,以及控制台系统
  虚拟机器运行在VMFS系统上,通常来说,由ESX server默认设置的安装方法已经非常合适,不需要更多的优化了。以下是一个典型的磁盘存储布局(带SAN存储)
  /dev/sda1   *    1         6     47974+  83  Linux /boot
  /dev/sda2        7       325   2552319   83  Linux /
  /dev/sda3      326       516   1528191   82  Linux swap
  /dev/sda4      517      4442  31411926    f  Extended partition
  /dev/sda5      517      4429  31307881+  fb VMFS
  /dev/sda6     4430      4442    103981+  fc VMFS for core dump and swap
  /dev/sdb1        1     17681 142022601   fb VMFS for virtual machines
  注意控制台交换分区的大小是控制台建议最大内存的2倍。这样就允许你添加更多的内存给您的server,你也可以设置这个分区是实际应用内存的2倍
  在外部存储上,如果存储设备非常大,建议配置多余一个的VMFS文件系统。虽然可能损失一些性能,但是可以保证万一一个VMFS坏掉了,还有其他的可以工作。注意,如果在小磁盘上划分了多个VMFS的话,系统性能会下降很多,因为磁头会来回的在两个VMFS系统之间移动。
   调整控制台系统
  因为控制台系统是一个非常微小的redhat系统,控制台的调整空间也就很小。通常来说,控制台系统不需要调整。系统已经运行在3模式下,而且必要的服务已经启动。
  为一个可以对性能有一点提高的就是禁用一些虚拟控制台。可以再/etc/inittab种注释掉tty4 tty5 tty6
  例子
  # Run gettys in standard runlevels
  1:2345:respawn:/usr/sbin/vmkstatus tty1
  2:2345:respawn:/sbin/mingetty tty2
  3:2345:respawn:/sbin/mingetty tty3
  #4:2345:respawn:/sbin/mingetty tty4
  #5:2345:respawn:/sbin/mingetty tty5
  #6:2345:respawn:/sbin/mingetty tty6
  请注意,在控制台系统上如果安装ibm director agent会很影响性能的,因为它是基于java的。如果一定要安装director agent请额外给控制台系统添加至少50MB的内存。如果有其他的agents,要相应添加内存.虽然控制台系统没有更多的参数配置,但是如果ESX server承载60个以上的虚拟系统或者在重负载的情况下,有一些情况是需要了解的。这种情况下,特别是承载web服务的时候,控制台系统会非常的慢。这时候可以到管理工具里面增加控制台的内从容量到500MB-800MB,同时考虑到ibm director的影响。
  如果vmware的管理借口仍然很慢,更改http进程的优先全县。登陆进入控制台系统,检查进程id
  ps -axw |grep http
  输出入下,可以看到httpd线程的id是1431,现在便可以调整优先权限了
  renice -10 -p 1431
  [root@xseries01 root]# ps -axw
  PID TTY      STAT   TIME COMMAND
  1 ?        S      0:03 init
  1431 ?        S      0:00 /usr/lib/vmware-mui/apache/bin/httpd -DSSL
  -DSSL_ONLY -DSTANDARD_PORTS -DESX -d /usr/lib/vmware-mui/apach
  1166 pts/0    R      0:00 ps -axw
  [root@xseries01 root]# ps -p 1431
  PID TTY          TIME CMD
  1431 ?        00:00:00 httpd
  [root@xseries01 root]# renice -10 -p 1431
  1431: old priority 0, new priority -10
  这样httpd的权限已经得到了调整,相反的可以用-15减少httpd 的优先权限
  除了给httpd增加cpu时间之外,也可以调整为web服务保留的内存,如果有80个虚拟系统,要把默认的内存保留从24MB调整到更高,可以调整实际共享的内存,利用配置文件/etc/vmware/config ,例如从24MB提高到28MB 如下
  control.fullpath = "/usr/bin/vmware-control"
  wizard.fullpath = "/usr/bin/vmware-wizard"
  serverd.fullpath = "/usr/sbin/vmware-serverd"
  serverd.init.fullpath = "/usr/lib/vmware/serverd/init.pl"
  # The setting below increases the memory shares available for the httpd
  mui.vmdb.shmSize = "29360128"
  renice命令会即时生效,但内存的扩大需要重新启动httpd服务
  killall -HUP httpd
  为了确保可以在重负荷下登陆控制台,推荐把vmware联结超时的时间从30秒提高到更高的数值。可以通过修改/etc/vmware/config
  vmware.fullpath = "/usr/bin/vmware"
  control.fullpath = "/usr/bin/vmware-control"
  wizard.fullpath = "/usr/bin/vmware-wizard"
  serverd.fullpath = "/usr/sbin/vmware-serverd"
  serverd.init.fullpath = "/usr/lib/vmware/serverd/init.pl"
  mui.vmdb.shmSize = "29360128"
  # The setting below increases the login timeout to 2 minutes
  vmauthd.connectionSetupTimeout = 120
  ~
  也可以可以提高vmware-服务的内存限制,因为这个操作涉及到vmware线程,因此需要停掉所有虚拟机器才可以完成。修改/etc/vmware/config 提高软内存从64MB到96MB
  vmware.fullpath = "/usr/bin/vmware"
  control.fullpath = "/usr/bin/vmware-control"
  wizard.fullpath = "/usr/bin/vmware-wizard"
  serverd.fullpath = "/usr/sbin/vmware-serverd"
  serverd.init.fullpath = "/usr/lib/vmware/serverd/init.pl"
  mui.vmdb.shmSize = "29360128"
  vmauthd.connectionSetupTimeout = 120

  # The line below will>  vmserverd.limits.memory = “65536”

  # The line below will>  vmserverd.limits.memhard = “98304”
  ~
  当完成编辑后,需要重新启动vmware-serverd服务
  shutdown -r now
  或者
  killall -HUP vmware-serverd
  注意:需要事先关闭所有的虚拟操作系统


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-625460-1-1.html 上篇帖子: ESX Server 4.1的安装与破解全过程 下篇帖子: Could not find archived log for sequence 1 thread 2 under default destinations S
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表