VMWare Horizon 8(2312) 团队配置与使用(上)

1 前言

  • 场景需求:团队共享桌面、远程办公、研发测试、统一环境管理

  • 上篇覆盖范围:ESXi、域控、vCenter的安装与基础配置

  • 下篇覆盖范围:Horizon的安装与配置

  • 整体目标

    • 搭建一套可供团队使用的 VMware 虚拟化桌面环境
    • 实现统一认证、集中管理、远程接入与桌面池分发
    • 支持后续模板化批量交付和权限管理,以及安全控制(禁止文件拷出)

2 总体架构

机器名称 主机名 IP 系统/组件 主要作用
交换机 xxx 172.20.13.254 xxx, DHCP 分配IP,与上层网络以及其他机器相连接
ESXi宿主机1 esxi01 172.20.13.42 VMware ESXi 承载所有虚拟机,提供虚拟化计算、存储、网络资源
ESXi宿主机2 esxi02 172.20.13.43 VMware ESXi 承载所有虚拟机,提供虚拟化计算、存储、网络资源
域控服务器 dc 172.20.13.100 Windows Server + AD DS + DNS 提供域控、用户认证、DNS 解析、组策略管理
vCenter 服务器 vc 172.20.13.101 vCenter Server Appliance 统一管理 ESXi、集群、数据存储、模板和虚拟机
Horizon 连接服务器 horizon 172.20.13.102 Horizon Connection Server 提供 Horizon 管理入口、用户认证对接、桌面分配与连接
win11桌面模板机 win11-template 172.20.13.xx Windows 11 + Horizon Agent 制作标准桌面模板,供后续克隆生成团队桌面
ubuntu2204桌面模板机 win11-template 172.20.13.xx Windows 11 + Horizon Agent 制作标准桌面模板,供后续克隆生成团队桌面
团队桌面xx userxx 172.20.13.xx Horizon Agent 分配给团队成员使用的虚拟桌面
  • 实际物理机器只有两台服务器,其他都是在ESXi里装的。
  • 部署顺序说明:
    1. ESXi安装配置
    2. 域控服务器安装配置
    3. vCenter安装配置
    4. Horizon安装配置

3 安装前准备

先把这些镜像、安装包下载好(自行搜索)

  • ESXi 镜像: 7.0 Update3 (这个看服务器型号,可能得去服务器官方下载镜像)
  • Windows Server 镜像:Microsoft Windows Server 2016 (64-bit) (选2016准没错)
  • vCenter Server Appliance 镜像: vSphere Client 版本 7.0.3.02400 (公司之前买的这个版本的key)
  • Horizon 安装包: VMware Horizon 8.12.0 版本2312 (公司之前买的这个版本的key)
  • Win11 镜像: Windows 11 IoT Enterprise LTSC 2024 简体中文 (避坑网上各种所谓的“纯净版”,这才是真正的纯净版)
  • Ubuntu 镜像: ubuntu-22.04-desktop-amd64 (注意和horizon的兼容性,比如Horizon2312最多只支持Ubuntu 22.04版本)

注意Horizon 8和Horizon 7的安装配置过程差距挺大的,似乎是删了一些组件

4 ESXi 安装与基础配置

4.1 ESXi 安装过程

此部分没什么好说的,正常装系统呗

  • 安装介质制作
  • 引导安装
  • 磁盘选择
  • 初始密码设置

4.2 管理网络配置

主要是在交换机上配置,然后在ESXi里改就行

  • 配置管理 IP
  • 子网掩码、网关、DNS(DNS服务器可能要手动进入shell通过命令配置、记得打开shell)
  • 测试网络连通性

值得注意的是几个概念: 物理网卡、VMkernel网卡、端口组、虚拟交换机, 后面改vCenter网络的时候可能会派上用场。设置不当也会导致你的机器直接失联!!

目标是看懂这样的拓扑图(我这个是配置后的分布式虚拟交换机,可能和一开始的vSwitch0还不太一样)

所以如果是远程,请务必配置好服务器的带外管理页面IP,方便远程重启、进入BIOS等操作。

4.3 ESXi 基础优化

  • 主机名修改

  • NTP 配置,时区与时间同步(我用的ntp.aliyun.com)

  • 存储与数据存储检查(新建数据存储,ESXi好像识别不太出来SSD,奇怪)

  • 上传 ISO 与安装文件(镜像要传到数据存储浏览器里,或者直接shell scp过去)

  • 按需修改一些高级设置(比如我修改了最大失败登录尝试,之前被锁定登录不上还以为是密码被改了)

5 域控(AD/DNS)安装与配置

域控机的作用非常重要,没有它后续无法开展,安装好ESXi之后就可以创建一个虚拟机作为域控(当然有稳定的真实物理机做域控更好)。

5.1 创建域控虚拟机

  • 虚拟机规格: 我给了 2CPU、4G内存、100G存储,感觉够用
  • 系统安装: windows server 2016安装
  • 固定 IP 配置: 这些管理机就不要用自动IP了,固定设置一下吧

5.2 安装 AD DS 与 DNS

主要包括 AD DS 与 DNS 的安装、域控制器提升以及新域创建,这类基础操作网上教程很多,按流程执行一般问题不大。
真正需要重点关注的是后续基础配置是否到位,包括正向解析区是否正常、主机名解析是否正确、时间同步是否一致,以及用户和用户组是否提前规划清楚(一般区分普通用户和管理员就够用了)。

我还花时间折腾了一会AD CS证书服务,发现难用的一匹,于是放弃。

  • DNS服务器比较重要,之后的用户机器DNS都要设成这台域控的IP,这样就能自动解析这里设置的各种域名了。

  • 顺便说下Windows Server的共享文件夹功能可以使用一下,方便在不同计算机之间传文件。以我这个例子进行说明,该计算机名为dc,文件夹share:Windows访问只需通过\\dc\share地址即可,Linux则是通过smb://ip.xxx来实现。(前提是机器加入了该域)

5.3 将计算机加入域

域存在的价值是有其他计算机加入进来,因此得明白各种系统的计算机怎么加进创建好的域。加入之后就可以统一用域账号、而不需要再用本地账号进行登录和使用了。

5.3.1 windows

系统属性里面点击更改计算机名就行,会提示你加入域、输入域成员账号和密码。(我这里用域控为例,改不了是因为有证书在)

5.3.2 linux(Ubuntu为例)

主要使用realm工具

sudo apt install -y realmd libnss-sss libpam-sss sssd sssd-tools adcli samba-common-bin oddjob oddjob-mkhomedir packagekit
sudo hostnamectl set-hostname xxx.simforge.work
# 测试
realm discover simforge.work
simforge.work
# 返回类似:
#  type: kerberos
#  realm-name: SIMFORGE.WORK
#  domain-name: simforge.work
#  configured: kerberos-member
#  server-software: active-directory
#  client-software: sssd
#  required-package: sssd-tools
#  required-package: sssd
#  required-package: libnss-sss
#  required-package: libpam-sss
#  required-package: adcli
#  required-package: samba-common-bin
#  login-formats: %U
#  login-policy: allow-realm-logins

# 使用管理员账户加入域
sudo realm join --user=administrator dc.simforge.work

加入域后修改下配置/etc/sssd/sssd.conf,避免需要输入用户名时要把域带上,简化使用:

use_fully_qualified_names = False
fallback_homedir = /home/%u

再配置下sudoer的权限就好了,sudo EDITOR=vi visudo

# 用户无法切换成管理员,但有一些sudo权限
Cmnd_Alias SERVICE_OPS = /usr/bin/systemctl status *, /usr/bin/systemctl restart *, /usr/bin/systemctl start *, /usr/bin/systemctl stop *, /usr/bin/systemctl reload *
Cmnd_Alias LOG_OPS = /usr/bin/journalctl *, /usr/bin/tail *, /bin/cat /var/log/*
Cmnd_Alias PKG_SAFE = /usr/bin/apt *, /usr/bin/apt-get *, /usr/bin/apt-cache *
Cmnd_Alias NET_OPS = /usr/sbin/ip *, /usr/bin/ss *, /usr/bin/netstat *
Cmnd_Alias SAFE_READ = /bin/ls *, /usr/bin/du *, /bin/df *
Cmnd_Alias DATA_RW = \
    /bin/ls *, /bin/cat *, /usr/bin/tail *, /usr/bin/head *, \
    /usr/bin/vim *, /usr/bin/vi *, \
    /bin/cp *, /bin/mv *, /bin/rm *, \
    /bin/mkdir *, /bin/rmdir *, \
    /usr/bin/touch *, /usr/bin/truncate *, \
    /bin/chmod *, /bin/chown *, /bin/chgrp *, \
    /usr/bin/tee *, /usr/bin/find *, \
    /usr/bin/du *, /bin/df *
%simforge_user ALL=(root) NOPASSWD:SERVICE_OPS, LOG_OPS, PKG_SAFE, NET_OPS, SAFE_READ, DATA_RW

# 管理员的sudo权限
%simforge_admin    ALL=(ALL:ALL) NOPASSWD:ALL

6 vCenter Server 安装与配置

6.1 部署 vCenter Server Appliance

  • 安装程序启动: 安装程序在能连上ESXi的机器上运行就行
  • 目标 ESXi 选择:填空就行,size我选的Small(但空间需求还是挺大的)
  • 配置 IP、FQDN、DNS: 注意FQDN填写的域名需要在域控服务器里设置好正向查找解析
  • stage1部署完成后的stage2: SSO configuration部分设置登录账号密码(名字改不改无所谓,反正好像除了登录也用不到),该阶段会卡挺长时间的

其实安装过程没有什么好说的,大部分按照默认选项即可,必须填的填一下就行了。

6.2 登录与配置

  • Datacenter 创建
  • Cluster 创建
  • 添加 ESXi 主机
  • 许可证与基本参数设置

这部分配置好后大概这样:

我还折腾了一段时间网络的配置,最后弄成了这种自己看起来比较舒服的样子:

用vCenter迁移/备份虚拟机数据还是很方便的,可以开机状态无感知完成迁移。

Author: zcp
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source zcp !
评论
 Current
VMWare Horizon 8(2312) 团队配置与使用(上)
1 前言 场景需求:团队共享桌面、远程办公、研发测试、统一环境管理 上篇覆盖范围:ESXi、域控、vCenter的安装与基础配置 下篇覆盖范围:Horizon的安装与配置 整体目标 搭建一套可供团队使用的 VMware 虚
Next 
凌晨三点半的灯光映照着破碎的大理石桌
1 吵架的结束和开始今天是大年初二凌晨2点半,我从睡梦中醒来,原因是听到了来自客厅的争吵:导火索大致是我爸因为爷爷大晚上不睡觉上个厕所就穿好了衣服坐在沙发上不时还跺脚叹气等行为影响了他的睡眠这件事。但这并不是没有预兆:昨天也发生了
  TOC