生物信息用途的Linux服务器上,让每个普通用户在各自的虚拟机上工作是个好主意吗??
之所以这样考虑一定程度上是由于传统的用户账号模式下,难以兼顾普通用户无特殊权限带来的不便与沟通成本(远程使用),以及普通用户有特殊权限带来的潜在风险。
我先抛砖引玉说一下自己的考虑以及疑问,欢迎高手点解。
看起来有利的一面:
每个用户的错误操作不会危害到系统。
每个用户可以有自己虚拟机的root权限。
潜在不利因素包括:
运行虚拟机带来的开销(overhead)。
常用软件重复安装的需要。
有的新手可能把自己的虚拟机搞乱。
不太确定的潜在问题:
默认的NAT网络模式下无法从外部远程连接虚拟机,
而Bridge模式是否能做到一台以上的虚拟机共享物理网卡?
即使能够做到多台虚拟机共享同一个物理网卡,独立IP的供给是否会成为问题?
而这里需要的独立IP是否还必须是与原IP处于同一网段的?
另外不太确定在执行大运算量工作的时候,虚拟机是否能有效全面调用CPU物理内核,在此过程中,以及需要大量内存的情况下,虚拟机是否容易处理不好跨NUMA cell调用内存,从而带来性能的显著下降(一直不太明白宿主系统为什么好像优艾设计网_平面设计不存在这种问题?)
虚拟化的方式选择:
虚拟化的方式选择上是否以container-based Virtualization为佳?貌似这样所有虚拟机共享宿主系统的kernel,能将虚拟化的开销降到最小。
从正常ssh登陆到进入container操作系统是否简单直接?
container-based Virtualization下是否依然支持网络的桥接?
container操作系统相对宿主系统在何种程度上是独立的?是否没有任何库和软件的共享?那么服务呢?
综合考虑用那种虚拟化软件比较好?KVM or Xen or LXC or OpenVZ?
还是说你想劝阻题主不要这样做?问题比较琐碎,谢谢回答,欢迎分享你们的经验!
PS:再得寸进尺的问一句,那些Virtual private server供应商是如何实现在为一台物理服务器上的不同虚拟机提供独立IP的?
精彩评论