openvz(openvzvps)

2023-12-02 0 791

目录:

如何查看vps是不是openvz

1、通过系统上的相关目录或文件判断

执行:ls /proc/ ,一般Xen的VPS,/proc目录下面会有xen的目录,openvz的会有vz目录。

2、执行:free -m 看内存,openvz的没有swap,当然也有xen的没有swap,但是xen的是可以加的,openvz不行。

3、执行:uname -a 有些xen的VPS里面会显示有xen。

4、执行:ifconfig 查看网卡,openvz的一般都是venet0:* ,xen的一般都是eth*。

5、通过VPS控制面板查看,像SolusVM、vePortal控制面板上都显示虚拟技术。

6、使用专门的软件:virt-what ,virt-what是一个判断当前环境所使用的虚拟技术的脚本,常见的虚拟技术基本上都能正常识别出来。

求科普什么是VPS的openVZ,KVM,超售内存

openVZ和KVM都是虚拟化技术,你如果在你的电脑上面安装过虚拟机,你应该知道什么叫做虚拟化技术。比如你现在的电脑是win7的,你可以用虚拟机再安装一个 xp 或者2003,然后你就可以通过虚拟机来运行xp和2003系统了。

openVZ就是KVM虚拟机技术了,使用了不同的方法来实现虚拟机。

什么叫超售内存呢?

假设你的电脑是4G内存的,你用虚拟机开了8个xp系统,每个分配给1G的内存,除去母机需要咱用一定的内存外,另外还需要8G内存才能保证每个xp的内存有1G,但是你的内存只有4G,这就叫超售。

这个是最简单的解答,如果你想要更详细的,可以看这篇文章《Xen、OpenVZ、KVM、Hyper-V、VMWare 等几种常见虚拟化技术介绍》:

OpenVZ 开启 BBR 技术说明

首先,对 Google 公司发明的 BBR TCP 拥塞控制算法表示致敬。

网上有大量的 OpenVZ 开启 BBR 的帖子,但是基本上只有操作,没有技术说明和分析。

本文的目的是这些帖子涉及到的技术以及相关思路进行一些说明。

所谓拥塞控制算法,其要解决的问题是判断网络是否拥堵,从而控制发包速率以及重传等。

在 Google 的 BBR 出现之前,所有的拥塞控制算法都是以是否丢包来作为判断标准,一旦有丢包,就认为可能有网络拥塞,随之降低发包速度。这类算法在网络传输需要跨大洋,或者有一些外部干扰导致丢包的情况下,会误判为网络拥塞。

BBR 算法其判断是否拥塞是基于数据包传输的网络延时。这是基于这样一个事实:如果网络延时增加了,那么有可能在某个设备上数据包有排队,因此网络是已经过载了,需要降低速度。而对丢包,不进行传输速度的控制。其中后者对譬如中美之间的网络访问这样的案例速度上有质的提升。

当前大部分基于 OpenVZ 的虚拟机内核都不支持 BBR,因此需要把 TCP 协议栈运行在用户态。

要在用户态运行网络协议栈,我们使用的技术名为 LKL (Linux Kernel Library),即将内核编译成为一个动态链接库,可以通过对指定程序设置 LD_PRELOAD 这个环境变量来使的该程序调用 LKL 中定义的函数而不是系统原生的函数。通过这种方式,我们调用的网络函数实际上使用了LKL中的网络函数,其是支持BBR的。关于 LD_PRELOAD 的更多信息,可以参考附录链接。

要使用 LKL,我们需要在外部创建一个网络设备,然后将这个网络设备作为参数传递给 LKL,那么流经该网络设备的流量就会被 LKL 处理。

出于简要起见,对于本文涉及到 OpenVZ 虚拟机,我们称呼其为 ss。

我们期望发往 ss 的流量直接被用户态程序处理而不经过 ss 的 TCP 协议栈,而直接发送到 LKL 处理的网络设备。

要在进入 TCP 协议栈前劫持流量,这可以通过 iptables 改变 IP 包目的地址,使其转变为通过 LKL 处理的网络设备来实现。至于改变成什么 IP 地址取决于哪些路由表。一般简单起见。可以改成和 LKL 处理的网络设备同一个网段。

在网上流行的帖子中,清一色用了 haproxy 放在应用程序前面,实际上这并不是必须的。完全可以在应用程序前面加上 LD_PRELOAD 来实现应用程序支持 BBR。另外,这个 Haproxy 也是一个普通的 Haproxy,没什么特殊的。

对于引入 Haproxy 的原因,我猜想除了后面我会提到 LKL 虚拟网络设备的问题,还可以通过在程序前端监听多个端口,来转发到后端同一个服务,从而达到流量分散比较容易隐藏的目的。

这里讲到的 LKL 虚拟网络设备主要是指 tun/tap 中的 tap 设备。

在程序运行过程中 LKL 会去读取虚拟网卡的内容,对环境变量中指定的 IP 地址进行响应,如果多个 LKL 都去读取同一块虚拟网卡,在数据源上可能会有冲突(譬如A程序已经读取过导致B程序读取不到?未验证)。也可能会导致被劫持的 IP 地址冲突(譬如两个 LKL 程序都配置了同一个 IP 地址)。因此在这种情况下需要用多个虚拟网卡(这会导致配置复杂和维护困难)或者就用 Haproxy 作为中间人,转发请求到后端应用。我猜想这是网上帖子引入 Haproxy 的一个主要原因。

在网上的帖子中,能够ping 10.0.0.2 那是使用了 LKL 应用程序开启后才可以的。推测可能是 LKL 初始化的时候会自己开启一些线程。

部署参考:

技术参考:

求科普什么是VPS的openVZ,KVM,超售内存?

openVZ和KVM都是虚拟化技术,你如果在你的电脑上面安装过虚拟机,你应该知道什么叫做虚拟化技术。比如你现在的电脑是win7的,你可以用虚拟机再安装一个 xp 或者2003,然后你就可以通过虚拟机来运行xp和2003系统了。

openVZ就是KVM虚拟机技术了,使用了不同的方法来实现虚拟机。

假设你的电脑是4G内存的,你用虚拟机开了8个xp系统,每个分配给1G的内存,除去母机需要咱用一定的内存外,另外还需要8G内存才能保证每个xp的内存有1G,但是你的内存只有4G,这就叫超售。

VPS虚拟化架构OpenVZ和KVM的区别

1、OpenVZ

OpenVZ(简称OVZ)采用SWsoft的Virutozzo虚拟化服务器软件产品的内核,是基于Linux平台的操作系统级服务器虚拟化架构。这个架构直接调用母服务器(母机)中的内核,模拟生成出子服务器(VPS,小机),所以,它经过虚拟化后相对于母服务器,性能损失大概只有的1-3%。

当然OpenVZ可以超售,意思味着一台服务器总共16G内存,他可以开出配置为1G内存×17台以上的子服务器。因为他的虚拟架构关系属于:客户用多少,就扣除母服务器多少,所以OpenVZ架构的VPS较为便宜。但由于存在超售因素,如果服务商毫无休止的超售会导致服务器的性能急剧下降。

OpenVZ另一个特点是,它是直接调用母服务器的内核,所以会导致部分软件无法使用,以及部分内核文件是无法修改。

2、KVM

KVM是Linux下的全功能虚拟化架构,基于KVM架构的VPS,默认是没有系统的,可自己上传ISO或调用服务商自带的ISO手动安装系统。这个非常适合热爱DIY自己VPS的客户。

由于KVM架构全功能虚拟化架构,甚至拥有独立的BIOS控制,所以对母服务器性能影响较大,所以基于KVM的VPS较贵,但KVM VPS相对其它架构的VPS较为自由。

【openvz】的内容来源于互联网,若引用不当,请发邮件456@456.cn联系删除

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务

  • 0 +

    访问总数

  • 0 +

    会员总数

  • 0 +

    文章总数

  • 0 +

    今日发布

  • 0 +

    本周发布

  • 0 +

    运行天数

你的前景,远超我们想象