转:https://my.oschina.net/u/2266513/blog/3083003

 

目前Proxmox中文社区源已正式提供镜像服务,镜像更新频率为每10小时,镜像站机房存放在法国巴黎online机房使用阿里云、华为云融合提供国内CDN加速服务。 地址 proxmox.wiki/">http://download.proxmox.wiki

# 删除企业源
rm -rf /etc/apt/sources.list.d/pve-enterprise.list
#下载秘钥
wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
# 添加社区源
echo "deb http://download.proxmox.wiki/debian/pve stretch pve-no-subscription" >/etc/apt/sources.list.d/pve-install-repo.list

建议同时使用国内debian源

deb http://mirrors.aliyun.com/debian/ buster main non-free contrib
deb-data-original http://mirrors.aliyun.com/debian/ buster main non-free contrib
deb http://mirrors.aliyun.com/debian-security buster/updates main
deb-data-original http://mirrors.aliyun.com/debian-security buster/updates main
deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib
deb-data-original http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib
deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib
deb-data-original http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib

最后执行

apt update
#apt update&&apt dist-upgrade #如需升级pve,则执行该命令

最近入了一台独立服务器,如果直接拿来跑项目的话就太浪费资源了。于是打算使用proxmox.com/">Proxmox VE这款虚拟化管理软件进行VPS管理。

Proxmox VE是一款套开源的虚拟化管理软件,用户可通过网页的方式来管理服务器上使用 kvm 以及 lxc 技术运行的虚拟机。同时提供了一些先进功能的支持,如集群、HA等。

0x00 安装

Proxmox VE是基于Debian进行开发的,主要有两种安装方式。
其一是proxmox.com/wiki/Installation">通过官方提供的iso作为一个全新的系统安装
另一种方式是在proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Stretch">已有的Debian系统上安装
手动安装时请务必保证网卡配置正确,若出错的话在不带IPMI的机子上很难处理。

安装完成后即可通过https://ip:8006/访问管理页面

另外,这里记录一下版本升级的方法。由于Proxmox VE是一家商业公司在运营,所以一些功能是需要购买订阅才能使用的,例如说版本更新功能。但是可以通过一些方法绕过限制。注意这些更新方法请勿用于生产环境中。

将软件源更改为测试源

修改/etc/apt/sources.list.d/pve-install-repo.list, 将 pve-no-subscription 修改为pvetest
然后apt三连即可更新为新版本。

apt-get update
apt-get upgrade
apt-get dist-upgrade

0x01 相关设定

对于kvm虚拟化的虚拟机,若想上传需要用到的iso文件,可以直接通过网页端上传,也可以直接将文件放入/var/lib/vz/template/iso/
如果想对kvm虚拟机的启动参数进行调整,官方提供了api:qm set,具体可参照官方文档
对于lxc虚拟化的虚拟机,可以直接从系统中下载对应发行版的模板,无需自行下载。
可以直接使用LXC自带的api对lxc虚拟机进行管理,注意-n为虚拟机的id。

0x02 网络配置

对于多ip的服务器,本身官方就是按照桥接的方式做好网络配置的,直接在虚拟机中填写分配的ip即可。
对于单ip服务器,可以采用NAT的方法让虚拟机连上外部网络。这里介绍俩种方式。

采用QEMU自带的NAT

对于KVM虚拟机,可以直接在创建虚拟机的时候勾上NAT,这时候就会自动为虚拟机分配一个虚拟的子网并且虚拟机可以通过nat连接到外部网络,基本上是开箱即用。同时也支持端口映射,具体可参考proxmox.com/wiki/Network_Model">官方wiki下的QEMU port redirection。但之前在使用的过程中,发现这个端口映射并不是很稳定。同时虽然这种方法很简单,但是虚拟机之间是隔离的,无法互通数据,这样就非常不灵活。
同时,LXC虚拟机是没有这种开箱即用的NAT的。

配置iptables创建子网以实现nat

主要思路是创建一个虚拟桥接设备并创建一个子网,然后将所有虚拟机包括宿主机都连接到这个子网内,再开启iptables的NAT功能。
编辑配置文件/etc/interfaces,以下是参考配置

auto vmbr2
iface vmbr2 inet static
    address 10.0.0.254
    netmask 255.255.255.0
    bridge_ports none
    bridge_stp off
    bridge_fd 0
    post-up echo 1 > /proc/sys/net/ipv4/ip_forward
    post-up iptables -t nat -A POSTROUTING -s '10.0.0.0/24' -o vmbr0 -j MASQUERADE
    post-down iptables -t nat -D POSTROUTING -s '10.0.0.0/24' -o vmbr0 -j MASQUERADE

以上配置创建了vmbr2并且分配了一个子网10.0.0.0/24,同时宿主机(同时亦为网关)在这个子网内的ip为10.0.0.254。然后开启了内核的转发功能与iptables的NAT功能(其中vmbr0为通向外部网络的设备)。
若想添加端口转发直接在iptables中增加相关条目即可。
例如想要将宿主机vmbr0的80端口的tcp连接转发到10.0.0.102的80端口上:
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 10.0.0.102:80
如果想保存转发规则,使之重启后依然有效,则需要在/etc/interfaces相应位置加入

post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 10.0.0.102:80
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 10.0.0.102:80

通过以上方法就能组建一个灵活的子网了,kvm虚拟机和lxc虚拟机都可接入,并且都可以有端口转发。由于没有DHCP服务器所以要自行分配ip。注意创建虚拟机的时候将其挂载到vmbr2端口下。
我的服务器只有一个ip,所以内部组网就只能采取这种这种的方法了hhhh。为了充分利用资源,我将80,443端口转发到内部一台虚拟机上,这台虚拟机再使用nginx反代到内网的其它虚拟机,以充分利用单个ip。

启用BBR优化网络

目前的Proxmox VE版本的linux内核版本比较新,已经包含了bbr模块了。

修改sysctl.conf

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

保存生效

sysctl -p

检测是否已启用bbr模块

lsmod | grep bbr

如果含有bbr即说明内核内已启用bbr模块

如何在不购买订阅的情况下更新Proxmox

作者: JOEL · 2018年6月8日

如果您尚未购买订阅,则Proxmox的“无有效订阅”导航屏幕会在每次登录时显示。

在Proxmox网站上,他们说:“ Proxmox VE是用于企业虚拟化的完整开源平台。”通常,您不为开源软件付费;但是Proxmox的人们已经尽了最大的努力来吓most我们大多数人购买订阅-或至少使我们因没有订阅而感到内gui。

现在,Proxmox是很棒的软件。开发出色的软件需要大量的资源,出色的开发人员……和大量金钱。因此,如果您在商业环境中使用Proxmox,我建议您购买订阅。但是,某些人可能有兴趣将其用于家庭使用或只是为了摆弄,以及由于各种原因中的任何一种,您可能不希望或可能无法购买订阅。本文适合您。

需要明确的是,Proxmox无需许可证即可正常工作。未经许可的版本与付费版本功能相同,但有一个例外:它无权访问经过测试的“企业”更新存储库。这样(没有我要向您显示的更改),您将无法更新Debian软件。哦,当然,每次登录时都会显示小屏幕。

我认为也有一种方法可以摆脱nag屏幕,但在这里我不会打扰。我本人并不介意,只要您登录即可再点击一下。我已经购买了主服务器的许可证,但是对于备用服务器,我决定暂时不每年花费120美元(大约)。事实证明,使Proxmox从“非企业”存储库进行更新非常容易。

通过SSH进入Proxmox主机,或通过Web界面访问其控制台,并制作pve-enterprise.list源文件的副本,如下所示:

root@pve ~# cd /etc/apt/sources.list.d/

root@pve ~# cp pve-enterprise.list pve-no-subscription.list

好,现在我们有了原始文件的副本。如果我们以后购买订阅并想使用企业存储库,我们将能够非常轻松地还原我们所做的工作。现在,编辑原始文件并注释掉其一行;保存并关闭文件。

接下来,打开复制的文件,pve-no-subscription.list然后稍稍更改行。原始行如下所示:

deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise

要注意的部分是https(将其更改为http,)enterprise.proxmox.com(更改enterprise为download),以及字符串的末尾— pve-enterprise(更改为pve-no-subscription)。不要编辑该单词stretch或该位置出现的任何其他单词;那是Debian版本代号。您编辑的行应如下所示:

deb http://download.proxmox.com/debian/pve stretch pve-no-subscription

保存并关闭文件。现在,更新软件包列表:

root@pve ~# apt-get update

完成后,运行软件升级!

root@pve ~# apt-get dist-upgrade

注意:始终运行dist-upgrade,而不仅是“ apt-get升级”。Dist-upgrade确保所有软件包及其依赖项都已更新。如果仅运行“ apt-get升级”,则可能会中断。相信我; 它曾经发生在我身上!我有一些紧张的时刻,试图找出为什么我的ZFS存储在停电后不会来了强制重新启动系统-和DIST升级,之后重新启动,化险为夷。只需使用dist-upgrade,一切都应该很高兴。

最后,请注意,“无订阅”存储库据说不能保证稳定。通过此渠道到达的更新更有可能是尖端更新和/或测试更新;他们没有经过测试以确保一切稳定。因此,风险自负-再次,如果Proxmox VE在帮助您的业务,请在那儿的人们帮忙购买订阅。他们的技术可能和我们其他人一样需要餐桌上的食物。
————————————————
版权声明:本文为CSDN博主「allway2」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/allway2/article/details/102846374

转:http://www.senra.me/remove-proxmox-ve-dont-have-valid-subscription-notice/

一.问

最近把我的OVH独服重装了下,打算用Proxmox开点VM来用,省得一直吃灰(雾,安装很简单,毕竟是OVH提供的模板,但是,这玩意每次登陆都会有个蛋疼的提示(You do not have a valid subscription for this server. Please visit www.proxmox" href="http://www.senra.me/tag/proxmox/" rel="tag">proxmox.com to get a list of available options.),而且找了半天没找到有关的地方,然后去官网看了下订阅的价格,呵呵呵,我还是自己想办法吧……

proxmoxve_invalid_sub_notice.png" alt="" width="679" height="204" />

二.解

对于一个网页,要明白它到底发生了什么,那当然是直接F12怼一波,看了下控制台发现有个pvemanagerlib.js,看看名字就觉得很像是这玩意在搞事啊,右击在新页面打开,看看内容,首先根据之前的提示文字来搜索

很好,找到目标,然后再次搜索noSubKeyHtml

一切顺利,找到了执行订阅检测的地方,现在简单了,直接改判断条件或者怼掉show操作都行,问题来了,这个文件在浏览器里又不能改,它到底在哪?

其实很简单,随便locate一下就找到了,我们先用cp备份一下,然后开始修改这个文件

然后注销重新登录,一切OK,世界清静

转:http://www.senra.me/add-internal-adapter-for-proxmox-to-secure-intranet-communication/

一.锲子

最近在配置hadoop过程中为了让各节点使用内网通信,研究了下怎么在proxmox下添加内网地址,一开始觉得挺容易,然后发现有点小坑,记录下。

二.Here We Go

首先需要在宿主机上添加个内网网卡,可以使用Proxmox添加,也可以直接改配置文件,效果一样,面板如下,vlan aware随意

proxmox_internal_br.png" alt="" width="598" height="294" />

编辑文件的话需要修改/etc/network/interfaces ,添加如下,同样vlan aware 随意

之后我们便为宿主机添加了一个内网网卡,地址为10.10.10.254

之后我们在创建的容器或是虚拟机上同样添加一个网卡,mac地址会自动生成,网关就写宿主机的,桥接写我们添加的那个网卡,然后就可以了

proxmox_vm_internal_eth.png" alt="" width="600" height="265" />

PS.需要注意的有一点,先加内网地址后加外网地址,否则默认路由会是内网,这个是个坑,我一开始没在意然后发现怎么也访问不了

转:http://www.senra.me/add-tun-tap-support-for-proxmox-ve-4-lxc-containers/

一.为什么

proxmox" href="http://www.senra.me/tag/proxmox/" rel="tag">Proxmox VE 4将3代的OpenVZ支持去除换成了LXC,算是跟随趋势吧,但是LXC和OpenVZ还是有挺多不同的,在权限上更是如此,而网上最多的还是OVZ相关的教程,LXC的是真的少,不过一直以来没需求,所以没怎么折腾,最近在搞内网,所以为了用Tunnel还是得把TUN/TAP支持打开。

二.怎么办

首先当然是谷歌咯,关键词选得好马上出结果,proxmox官方论坛讨论贴 https://forum.proxmox" href="http://www.senra.me/tag/proxmox/" rel="tag">proxmox.com/threads/tun-devices-in-ve-4-lxc.23473

总结一下

①.如果需要对所有(之后创建的)LXC容器全部开启tun/tap

那么需要修改/etc/lxc/default.conf,添加lxc.cgroup.devices.allow = c 10:200 rwm

当然,也可以创建/usr/share/lxc/config/common.conf.d/02-tuntap.conf 这样的配置文件来取得同样的效果

②.而如果只要对指定容器有效,则需要修改/etc/pve/lxc/[ID].conf , [ID]为你的容器编号

还没完,这样只是给了权限,实际上还没好,需要在容器的/etc/rc.local 自启动文件中添加如下

这样你执行需要tun/tap的程序时就不会出问题了

三.附录(记如何在v3版本的ovz下开启tun/tap)

a. 编辑vz.conf文件,添加iptable_nat ipt_state这2个东西

b. 手动关闭所有小鸡,重启openvz模块
/etc/init.d/vz restart

c. 对小鸡进行必要的设置(这里以小鸡100为例,100是指PID,WEB控制面板里可以看到)

d. 母鸡加载一次这些

e. 启动小鸡输入以下命令

包括 安装epel源、导入国内数据源、系统支持中文、调整时区等简单功能
适用于模板:centos-6-x86_64-minimal.tar.gz
wget "http://www.151051.com/soft/init/init_centos.sh" -O - | bash

proxmox.com/wiki/OpenVZ_Console">http://pve.proxmox.com/wiki/OpenVZ_Console

官方给文档了,这里记录一下:

Centos 6

Login via SSH (or use the VNC "Shell") to your Proxmox VE host and 'vzctl enter CTID' the container:

List all running container:

proxmox-ve:~# vzlist
     CTID      NPROC STATUS    IP_ADDR         HOSTNAME
      108         23 running   192.168.9.20    ubuntu-1204.proxmox.com
      109         18 running   192.168.9.21    centos63-64.proxmox.com
      111         15 running   192.168.9.23    centos5-64.proxmox.com
      114         14 running   192.168.9.30    deb6-32.proxmox.com
      115         15 running   192.168.9.31    deb7-32.proxmox.com
      122         14 running   192.168.9.36    deb5.proxmox.com

Enter the container:

proxmox-ve:~# vzctl enter 109
root@centos63-64:/# nano /etc/init/tty.conf

Change/Create the file that it looks exactly like this:

# This service maintains a getty on tty1 from the point the system is
# started until it is shut down again.

start on stopped rc RUNLEVEL=[2345]

stop on runlevel [!2345]

respawn
exec /sbin/agetty -8 tty1 38400

Save the changes and shutdown/start the container via Console.