用proxmox做服务器虚拟化已经很长一段时间了,不过全玩的是单服务器,最多也就弄三台整个集群,因为没有共享存储,无法实现高可用(雇主舍不得投入,还欠俺很多工钱呢)。近期给人出了一个方案,计划用proxmox高可用的方案,虚拟出n多虚拟机,然后把业务系统部署上去。方案讨论了很多次,发现共享存储的方式,费钱又费磁盘。考虑性能的话,得用15000转的sas盘,但这种规格sas盘的容量最大是600G,而且单盘价格很高。用容量的sata盘吧,解决了容量问题,但性能又会成为瓶颈。回来对方说,有人用ceph做存储,挂接之,再创建做服务器虚拟化。
以前做过分布式存储moosefs、Hadoop dfs等,都有一个软肋,即存在控制节点(或者叫命名节点一类),控制节点是关键,一死全死。最近查看moosefs官网,新版的商业版本,整出两个master来,死掉一个,其他节点选举剩下的那个节点做master。这样整出来,光存储就是好大一堆服务器了。当然,有钱的可以买商业存储,解决性能和可用性问题。既然有人推荐,那就去了解一下ceph,嘿嘿,是去中心化的架构,这一点有优势了。
虽然有人用ceph做存储,但与服务器虚拟化是单独使用,我的意图是能不能整合到proxmox里?官网一看,好家伙,proxmox5.x 集成了ceph啊,天意!
本来就有很长时间的proxmox使用和维护经验,花点时间看看官网英文文档,大概就明白怎么一个情况。弄台式机来虚拟三个节点的proxmox,谁知配置不行,卡的要死无法往下进行测试。正好北京有人要做虚拟化,让我过去做个咨询,哈哈,有了物理机,测试有着落了。
建议的方案是,用四台物理服务器,配置完全相同,划分两个网段,一个是网段用于存储,另一个用于虚拟机等。存储分配上,ssd安装proxmox,大概200G的ssd。剩下的盘位,插3块以上的10000转的sas大容量盘(单盘1.2T-1.8T)。我只在电话里大致说了一下建议,等我到现场的时候,他们已经配置得差不多了。在ha那步卡住了,我给点拨了一下,暴力关机,运行其上的虚拟机状态显示正常,本打算用手工方式迁移到其他节点,没想到片刻自动漂移了,大喜过望!
看到管理界面有那个spice协议,实验了一把。关闭某个虚拟机,编辑其硬件属性,显示器一项改成spice,然后启动此虚拟机,真的可以呢!
遗憾的是,只能通过浏览器,点控制台下拉菜单spice才可以。
而我希望用virt-viewer客户端访问,这样如果能成功,就可以采购云终端盒子进行连接。把服务器虚拟化与桌面虚拟化集成在一个proxmox上边,远胜于其它商业解决方案。
查看宿主服务器的进程及网络,只发现spice代理进程spiceproxy。
监听tcp 3128端口,试着telnet 该端口,可以连接。如果虚拟机显示器选定了spice,启动后,附带启动一个61000端口的服务,进程名为kvm。再启动一个选择spice显示的虚拟机,宿主机就再起一个tcp 60001的端口。监听地址是127.0.0.1,进程名还是那个kvm。由此可以判断,以浏览器操作管理界面的下拉菜单spice,代理程序把这个请求传递给127.0.0.1:61000端口,于是可以弹出窗口。
直接用客户端连3128端口,不灵;换61000端口,还是不灵。查了很多资料,也问了一些人,无果。这段时间,甚至走路都在想这个怎么突破。后来,查到一种方法,用qm showcmd vmid 查指定虚拟机的整个kvm 指令所带的全部参数和选项,这些参数和选项,到现在还不知道藏哪个配置文件里?当我们用web管理界面创建虚拟机的时候,应该会去读某个文件,但肯定不是虚拟机那个配置文件,配置文件我查了,参数值很少的。比如我的某个虚拟机的id是100,我就执行 qm shoucmd 100>/root/vm100.sh,执行完毕,就去修改这个文件,找到spice那行,改“127.0.0.1”为本地网卡实际地址,注意这个文件就是一整行,不要回车换行哟。不能确定会不会有作用,执行一把再说,如果不对,也不会有什么影响(再次重启虚拟机后,这些配置是不会不保存和加载的)。执行此脚本无报错,看管理界面,虚拟机是启动起来了。到宿主机看看网络监听,61000端口绑定到实际网络接口,而不是先迁的127.0.0.1.看来有戏。远程telnet这个61000,嘿嘿,能连呢。现在,可以试试客户端,小心翼翼输入"spice://172.16.35.99:61000",等待中....,哇塞!真出windows登录界面了呢!
化缘网购的盒子到了好几天,客户端连接正常,那么拿盒子也是不在话下了。
设置好盒子的值,猛戳连接。
到这里,总算有前进了一步。不过有问题,如果把这个交付给别人,不能让人编辑脚本,再执行这个脚本吧?并且,虚拟机每次重启以后,这些设置就没有了。这个问题需要解决,继续查资料,问人。有开发虚拟平台的兄弟说可能有类似xml这样的文件存在,宿主机搜吧,没有。差不多把目录都翻遍了,没找到有用的信息。暂且搁置吧,后边再搞。
这远程windows用spice协议连上以后,鼠标有两个,点击起来特别费劲。用盒子连或者用客户端连,都是这个尿性,直接问卖盒子那个杰云厂家售后,答复说需要在虚拟机里边安装vgaent,可以从spice-space.org官网下载。这好办,进去点download,真有这玩意,仔细看发现一个spice-guest-tools包,包含了vgaent等,就是你了,下载到虚拟机并安装,还真可以,鼠标只有一个指针,完全正常。
后边还有问题,没有声卡、u盘识别。继续回去折腾spice,今天骑摩托到山上,突然想到,能不能直接改虚拟机配置文件呢?咋老司机,改之前备份一下。回来后,立马动手,查看官方文档,可以在配置文件里写参数.
改完,重启虚拟机,还真有效。下一步,怎么给加个界面,在web界面创建虚拟机的时候,把监听地址、监听端口、用户密码等,通过某种方式传递到虚拟机配置文件就完美了。
基本思路:弄个脚本,等创建好虚拟机配合文件后执行,取得其id,以610+id号做端口,并接受密码输入。交互后,输出文本文件,记录监听ip、端口、密码,交给用户使用。
具体如何修改虚拟机配置文件?能调试出spice连接、声卡、usb等,请订阅俺的专栏,猛戳此处直达。
最后,来总结一下私有云通杀神器proxmox的强大之处:
1、去中心化,死掉哪个节点都无大碍。vmware有vcenter,这个死翘翘以后,有些功能不能用了,一比见高低。
2、超融合。虚拟化平台、存储融合;服务器虚拟化、桌面虚拟化融合。据了解,大部分的商业方案,服务器虚拟化与桌面虚拟化各干各的,管理成本和采购成本,那是杠杠的高。
3、超低成本。不需外挂共享存储,光这个就省老鼻子了。商业解决方案,动不动一个cpu core报价就以万为单位,不过是openstack改改,价格壳壳嘛。
4、部署简单快捷。proxmox本身就是iso文件,烧录到u盘,引导后一路回车,分分钟搞定一台;建立集群,每节点仅仅执行一条命令行指令,后边的配置都在浏览器进行了。试问其它方案,不管商业的还是开源的,谁能这么便捷?别的不说,试试openstack,老司机都得犹豫。
来几张图,看看土豪公司的资源。
六个节点物理服务器组成的小集群。
176个线程,除以2就是88个核心,舍得投入啊。
Linux公社的RSS地址: https://www.linuxidc.com/rssFeed.aspx
本文永久更新链接地址: https://www.linuxidc.com/Linux/2018-09/154117.htm
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Redis 主从配置心得及其高可用方案
- Mongodb 高可用方案及副本集搭建
- 调研Redis高可用两种方案
- 「如何设计」一套微服务高可用方案
- MySQL正式发布高可用方案 InnoDB Cluster
- 超全面分布式缓存高可用方案:哨兵机制
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Data Structures and Algorithm Analysis in Java
Mark A. Weiss / Pearson / 2011-11-18 / GBP 129.99
Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course wa......一起来看看 《Data Structures and Algorithm Analysis in Java》 这本书的介绍吧!