基于基础网络构建的 VDI 虚拟云桌面环境,考虑从现有环境迁移至 TCE 私有云环境,将 VDI 虚拟云桌面环境部署到 TCE 私有云环境中。客户的 VDI 方案采用的是华为的云桌面方案,采用 FusionCompute 6.5.1 做虚拟化(该客户用的是本地盘,因此主要用于桌面虚拟化),华为标准桌面云-逻辑架构如下图所示:
“FusionCompute 是云操作系统软件,主要负责硬件资源的虚拟化,以及对虚拟资源、业务资源、用户资源的集中管理。它采用虚拟计算、虚拟存储、虚拟网络等技术,完成计算资源、存储资源、网络资源的虚拟化。同时通过统一的接口,对这些虚拟资源进行集中调度和管理,从而降低业务的运行成本,保证系统的安全性和可靠性,协助运营商和企业构筑安全、绿色、节能的云数据中心能力。” FusionCompute在虚拟化套件中的位置如下图所示。
FusionCompute逻辑结构分为两个部分:CNA 和 VRM,VRM 通过 RESTful 接口进行 CNA 管理:
简而言之,CNA 是数据面、VRM 是控制面。因此方案上需要将 VRM 部署在 TCE 私有云环境内,可以是物理机或是虚拟机(CVM),由于是管控节点在资源消耗上面并不高,因此更为适合云服务器 CVM 上面进行部署,故而需要验证华为 FusionCompute 6.5.1 VRM 是否能够部署到 CVM 内且正常运行。
在本次方案验证中使用的工具或软件如下:
VRM 部署到云服务器技术方案验证的思路如下:
使用 VirtualBox 来创建来运行 VRM 的虚拟机,具体规格如下:
启动虚拟机,选择安装,如下图所示:
待加载完毕后,会进入 FusionCompute VRM 的图形化安装界面,如下图所示:
有两个选项必须配置:Password、Network。Password 配置界面如下图所示:
Network 配置界面如下图所示:
需要注意的是,选取 IPv4,然后选择配置静态 IP 地址,这里的网关和 IP 地址配置是分为两个界面进行操作,为何不选择 DHCP 呢?因为实际试验中发现,如果选用 DHCP 打包出来的镜像,会出现网卡起不起来的问题,通过排查怀疑是 cloud-init 会初始化一张网卡,dhcpclient 也会初始化一张网卡,因此采用配置静态 IP。
安装完毕等待重启进入操作系统,待控制台出现登录界面,宿主机使用浏览器访问 VRM 地址:https://IP-Adress:8443 ,如果能够看到如下页面就表示 VRM 镜像安装成功。
提示:记得把 sshd config 的 root 登录开启,这样通过ssh登录操作比较方便。
目前已经将 VRM 标准镜像在本地虚拟机安装并成功运行,接下来要导入到腾讯云(公有云、TCE 私有云)上做自定义镜像需要做如下准备:
接下来先进行 Virtio 驱动检查,查看腾讯云官网文档:Linux 系统检查 Virtio 驱动 来进行检查,试验中发现 VRM 的这个镜像是具有 Virtio 驱动的,因此此项通过。
再来进行 cloud-init 安装,这里推荐绿色安装版 green cloud-init,下载并上传至虚拟机,执行安装。
tar zxvf greeninit.tgz
cd greeninit
chmod a+x install.sh
./install.sh
检查 cloud-init 是否启动成功,可以参考腾讯云官网文档:Linux 系统安装 cloud-init 指南
VRM 虚拟机规格调整实际上分为两个事项:
这两个事项是否成功是整个 VRM 镜像是否能够成功导入自定义镜像的关键,开始接下来操作之前,先简单介绍几个概念,以便理解后续操作。
为什么这几个概念会这么重要,因为接下来的操作调整都是跟他们有关:
接下来,我们先进行“事项一”的操作实施,在实施之前我们先看下 VRM 镜像默认的 LVM 使用情况。
整个 VG 卷组分配了 119 GB 的空间。
lvscan 可以帮助我们来看各个 LV 逻辑卷的容量分配情况。
最后可以通过 mount 命令查看下这些 LV 被挂载到哪些目录,帮助我们理解 VRM 镜像磁盘空间的分配依据。
不难看出整个 VG 卷组已经预分配好了 119 GB 的空间,我们并不能就这样直接进行分区调整,而是要将各个 LV 逻辑卷容量进行调整后,才能够进行 VG 卷组容量的调整。接下来我们就要用到 GParted Live CD 帮助我们进行磁盘调整,我们先进行虚拟机关机,然后将 GParted Live CD 1.1.0-1 amd64 镜像文件挂载到光驱,然后启动虚拟机进入 GParted Live CD。
GParted 启动菜单选择默认配置就好。
GParted 启动配置选择 Do not match keymap,然后语言选择 26 简体中文。
接下来打开 Terminal 开始进行 LV 逻辑卷调整,在开始调整前先看下调整后的结果,即各个 LV 逻辑卷的容量分配如下:
现在开始对各个 LV 逻辑卷进行容量调整,命令如下(需要每个 LV 逻辑卷都进行调整,以下已 lv_root 为例):
# 检查下 LV 逻辑卷,如果出现需要修复,就确认修复就好
sudo e2fsck -f /dev/vg_vrm/lv_root
# 调整 LV 逻辑卷大小,调整会花些时间等待就好
sudo lvreduce --resizefs -L 5G /dev/vg_vrm/lv_root
接下来,按照最后的 LV 逻辑卷容量规划进行逐个调整既可。LV 逻辑卷大小调整完毕后,重启进行 VRM 虚拟机。接下来我们要进行 PV 物理卷容量调整,因为 LV 逻辑卷容量之前就分配好了,现在我们直接调整 PV 物理卷大小是不可以的,我们先要进行块的移动整理,然后才能够进行 PV 物理卷容量调整。这里我们将用到一个工具: pvshrink:进行 PV 物理卷大小调整的工具。下载并上传至 VRM 虚拟机。
pvs -o +pv_used /dev/sda2
查看 PV 物理卷使用情况:
可以看到我们调整 LV 逻辑卷完毕后,一共使用 43GB 空间,那接下来我们尝试直接使用 pvresize 命令,将 PV 物理卷大小修改为 43GB。
pvresize --setphysicalvolumesize 43g /dev/sda2
执行结果如下图所示,不难看出执行失败了,原因就是需要进行块的移动处理。
LVM提供了pvresize工具,可用于增大或缩小LVM物理卷的大小。 pvresize只能通过删除PV末端的自由空间来减小PV的大小。 例如,如果将PV的使用分散了,例如,由于删除了分区开始处正在使用空间的LV,则必须先使用pvmove重新整理PV中的盘区,然后才能使用pvresize回收空间。 根据碎片数量,可能需要多次调用pvmove。这里我们使用 pvshrink 这个工具来帮助我们执行这些命令和操作。
./pvshrink /dev/sda2
执行后等待工具帮我们整理 PV 物理卷,如下图所示:
等待 pvshrink 工具调整完毕 PV 物理卷后,就可以执行 pvresize 命令进行容量调整了。
# 查看具体使用的容量情况
pvs --units b -o pv_name,pv_used /dev/sda2
# 容量参数的值,由前面的查看命令执行结果来决定
pvresize --setphysicalvolumesize 46170898432B /dev/sda2
调整完 PV 物理卷容量后,接下来我们使用 GParted 把分配的磁盘空间调整到 47G,确保多出来的空间处于未分配状态。现在关闭虚拟机,然后挂载 GParted Live CD ISO 镜像,然后运行 GParted 工具进行磁盘空间调整,调整过程如下图:
磁盘调整完毕关闭虚拟机,至此我们终于完成了事项一:VRM 虚拟机磁盘容量调整,接下来将进行事项二:虚拟机虚拟磁盘文件 Virtual Size 调整。接下来我们将使用 VBoxManage 这个命令帮助我们进行 Virtual Size 的调整,以下是调整思路:
为什么不能使用 VBoxManage 来直接进行虚拟磁盘文件的 resize,因为 resize 只能扩容不能缩容,所以需要新建虚拟机的方式进行磁盘缩容。
# VBoxManage clonemedium disk 旧虚拟机磁盘文件路径 新虚拟机磁盘文件路径 --existing 例如
VBoxManage clonemedium disk fc651-vrm/fc651-vrm.vmdk fc651-vrm-test/fc651-vrm-test.vmdk --existing
在磁盘拷贝完毕之后,启动新的虚拟机(fc651-vrm-test),这时会发现启动失败,提示进入修复界面,这是因为 /etc/fstab 里面 /boot 分区挂载点不对所造成的启动失败,输入root密码登录控制台,修改 /etc/fstab 文件,更改 /boot 挂载 /dev/sda1,然后保存 /etc/fstab 重启验证是否正常,确认正常后关闭该虚拟机。
接下来通过浏览器将虚拟机虚拟磁盘文件 fc651-vrm-test.vmdk 上传到 COS,这里需要注意地域,确保 COS 的地域与要导入自定义镜像的地域一致。
上传成功后,将该 vmdk 文件的权限,改为公有读私有写,以便镜像导入程序能够成功下载,接下来进入控制台->云服务器->镜像->导入镜像。(注意地域的选择)
导入镜像页面,填入 vmdk 文件 URL(是对象地址,不是临时下载地址),镜像名称自己起一个,例如 fc651-vrm,记得一定要选择强制导入,如下图所示。
然后就提交导入任务,等待导入完成,导入完成后镜像列表如下。
步骤五:使用自定义镜像创建 VRM 虚拟机
在自定义镜像列表选择导入进去的 VRM 镜像,进行“创建实例”操作,创建 CVM 实例成功后,进行 VNC 登录,因为 /boot 分区挂载点的问题会启动失败,因此输入root 密码登录控制台,修改 /etc/fstab 文件,更改 /boot 挂载 /dev/vda1,然后保存 /etc/fstab 重启验证是否正常。(这里是因为云服务器的磁盘是以 vda 开始的)
至此确保该 CVM 云服务器实例挂载 EIP 弹性公网 IP,并安全组放开 8443,然后用浏览器访问应该看到 VRM 登录界面了。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有