为何管理需要远程拉起一个虚拟机?
实际使用过程中,往往需要手动执行脚本在远程主机上创建拉起虚拟机,时间久了可能忘记这个虚拟机是从哪个宿主机上拉起的。
如果这个后续逐渐投入生产中,管理这些从限制服务器上"偷"来的虚拟机是一个大的挑战。
业界都是如何对集群做虚拟化的?
【1】我的想法
是否可以使用Windows 的virtualbox工具远程管理linux机器上拉起的虚拟机。目前这种虚拟化方案是在每个需要创建虚机的物理机器上安装virtualbox 和vagrant. 然后拉起虚拟机供K8s使用。
这种虚拟化成本不知道有没有大家使用过?
我在想是否可以开发一个界面来管理这些分布式的虚拟机.
virtualBox 官方的建议
需要额外安装扩展,类似于我的第一个想法。
6.1.20版本下载地址
什么是VBoxHeadless?
在linux机器上开了几个虚拟机,启动命令都是VBoxHeadles。 这个是什么意思呢?
Oracle VM VirtualBox therefore comes with a front-end called VBoxHeadless, which produces no visible output on the host at all, but still can optionally deliver VRDP data. This front-end has no dependencies on the X Window system on Linux and Oracle Solaris hosts.
也就是启动一个没有界面的虚拟机。
# Use the VBoxManage command, as follows: $ VBoxManage startvm VM-name --type headless The --type option causes Oracle VM VirtualBox to use VBoxHeadless as the front-end to the internal virtualization engine, instead of the Qt front-end. # Use the VBoxHeadless command, as follows: VBoxHeadless --startvm uuid|vmname
遗留问题: VBoxHeadless 之前叫VBoxVRDP
In legacy releases of Oracle VM VirtualBox, the headless server was called VBoxVRDP. For backwards compatibility, the Oracle VM VirtualBox installation still includes an executable with that name.
windows上的虚拟机也有同样的进程
宿主机启动vboxweb-service
什么是vboxweb-service?
这个web-svc和remotebox相互关联进行管理宿主机上的虚拟机。这个的功能类似于我们使用VBoxManage 管理命令查看、管理虚拟机类似。只不过是将这个过程在远程以web的形式展现出来。
/opt/vagrant]#VBoxManage list runningvms "node1_default_1647242280112_12910" {9bdd280e-ef3e-42b9-9d73-f27e0558a6d3} "node3_default_1647329276461_97486" {65fcea86-01f6-4805-9c78-d3afa4c7ab2d} "node2_default_1647329289989_89030" {af8aff2c-3a92-4107-9d43-ef7578212254} "pigsty_meta_1655797373146_20333" {094d9a65-d5a2-48ec-bbd1-05ed77dd94fa} "master1" {7a83b753-149a-44c1-a69e-d701b2c47f50} "master2" {b90f4050-37c2-4330-997d-338ad641ec09} "master3" {7e7e16c2-43e0-4d4e-995c-ec653d999fbb} "node4" {31d58233-11de-43a2-8a2d-c31d0f4dcb8c} "node5" {d9de0220-2bae-4511-864f-d340b9c62fd1} "node6" {8196e54c-7612-4c1f-89b5-eafceec1f795}
启动VBoxweb-svc
/opt/vagrant]#/usr/lib/virtualbox/vboxweb-service.sh status Checking for VBox Web Service ...not running
问题
启动之后这个web-svc很快会消失,问题待查
管理客户端安装 RemoteBox
安装RemoteBox
选择对应版本的virtualbox安装包.注意安装包使用的是bzip压缩方式.
解压参数为jxvf
tar -zxvf RemoteBox-3.1.tar.bz2
解压之后启动remote程序
报错处理
remotebox启动报错,perl缺失一个依赖。
使用remotebox管理远程服务器上的虚拟机
我的理解就是这个remotebox是一个代理,可以通过tcp协议和remote 虚拟机进行通信。至少要能ping 通、telnet port要通。
如何在linux上批量管理创建的vm?
linux平台如果需要使用virtualbox GUI来管理创建的vm需要安装QT相关软件。
这个管理方式类似于virt-manager 直接拉起kvm创建的虚拟机一样。
virt-manager 查看创建的虚拟机。
什么是VRDP ?
VRDP is a backwards-compatible extension to Microsoft’s Remote Desktop Protocol (RDP)
参考
【2】实践
【3】youtobe视频实战
这我老哥的博客地址是: https://onlinecomputertips.com/
【4】 remote RDP实战