SSO服务器失效会在您的vSphere环境引发许多问题。这里提供了设置SSO服务器负载均衡来规避危机的指南。
正如大多数的VMware管理员所知道的,单点登录(SSO)服务器和vSphere 5.1一起发布。对于小规模站点,SSO可以开箱即用,完全不需要为之操心。而对于更大或更复杂的安装场景,深入理解SSO及其工作原理很有必要。
在vSphere 5.1之前不存在Windows Active Directory之外的替代身份验证方案。这实际上成为了一种束缚。在和vCenter Server虚拟设备配合时,有限的身份验证机制可能会成为一个麻烦点。因此,Vmware开发了SSO,允许采用可替换的身份验证方法。
SSO背后的目的
SSO本质上是一种可绑定多种验证渠道的机制,这些验证渠道除了微软Active Directory,还包括原生LDAP。SSO在身份验证系统(如LDAP或AD)和vSphere基础设施之间充当守门员角色。当用户或管理员成功通过验证源的身份验证时,SSO会向该用户分配使用令牌。用户每次使用令牌都会让令牌的生存时间(TTL)值减1。一旦TTL减少为零,令牌就会过期,必须通过后台操作向身份验证源重新进行身份验证。
如果选择简单安装模式从头开始安装vSphere vCenter基础设施,SSO会被安装在主控模式配置。在这种安装模式下,SSO只为本地安装的基础设施提供身份验证功能。在vSphere 5.5版本,SSO最大可支持10000个客户机和1000台主机。问题在于,SSO丢失就意味着没有人可以登录到vCenter基础设施中。当然,人们仍然可以使用本地凭据直接登录到每一台物理主机。
这种简单配置模式在本地基础设施运行良好。SSO丢失造成的痛苦程度和失去vCenter服务器相同,因为在简单安装场景下,两者会被安放到同一台服务器,一损俱损。对于更大规模的场地和设施,建议把vCenter服务器和SSO安装到不同的服务器。在vSphere 6.0中,SSO成为Platform Services Controller(平台服务控制器)的一部分,可以安装到一个单独的服务器。将SSO安放到第二个服务器可以提供更多选择自由,例如通过使用负载平衡来消除单点故障。
防止故障
简单说,你可以设置一个HA备份节点,在主SSO失效时接管SSO功能。这种方式需要占用更多服务器资源,但需要的基础设施资源已经很便宜,特别是虚拟化之后。VMware演示了如何使用免费的Apache软件创建基本的SSO服务器负载平衡组。要搭建一套带负载平衡的SSO基础设施,需要对证书和负载平衡技术有足够的了解。
假定正在使用虚拟化基础架构,任何承载SSO服务器站点虚拟机的物理主机出现故障,SSO站点虚拟机都会通过HA机制从备份节点重新启动,从而接管SSO功能。当然,这并不能修复配置错误。如果要应对配置错误的情形,快照非常有用,即使你因为配置失误而把SSO弄丢了,你也可以很容易回滚快照进行恢复。只要你能决定,这种投入肯定是值得的。但可惜,即使是一些我曾经工作过的大型组织都没有采用这类措施。如果有正常运行的HA系统,确实没有必要。
如果需要运行多个站点并期望实现单一管理体系,方法会略有区别。多站点安装过程需要在SSO安装选项下拉,选择多站点。从本质上说,使用多站点模式意味着在多主控模式下为每个站点设置了自己单独的主节点。区别是,当您设置多站点模式时,你需要一个SSO服务器将这些站点链接到一起。
这种安装模式的一个潜在问题是,不同站点彼此之间将不会复制数据库。在实际案例中,对于大多数站点,数据库复制并不重要。数据库偶尔会需要复制,但是只要你选择外部独立的身份验证系统进行身份验证,如OpenLDAP或微软AD,就几乎不会有这种复制需要。