Linode(XEN/KVM)更换为自定义内核

一.请原谅我作死

说起昨天把我的Linode老日本机房从AMH换Plesk的过程,其中还有个东西需要额外记录下,就是换内核,这玩意我发现是真的有坑啊
因为Plesk Onyx自带Docker(这点简直Nice),所以我打算把常用的Centos6换成7,毕竟一方面内核低,第二方面Centos6的Docker版本很久很久很久没更新了,很多功能都有缺失,实在是没法用。那么说干就干,换系统真的方便,直接面板Rebuild一下就行了,但是!!!内核的话我也真是怕了,最近一堆漏洞,我选择用最新的,考虑到BBR的问题我选择4.9版本的,4.10说实在话不太敢用。
因为Linode默认启动的内核并不是硬盘上的,而是类似DO选择了网络加载内核,这就必须得切换成加载硬盘的内核才行,但是但是!!!必须先对系统进行一番配置,不然直接切换了妥妥的进不去系统

二.怎么解救

对于Centos6来说,这个很方便

至于Centos7,则有所不同

/dev/xvda是XEN的默认系统分区,如果是KVM的话就是/dev/vda

获取vmlinuz-*文件的绝对路径的办法 ls -l /boot/vmlinuz* 阅读全文→

Plesk Onyx升级MariaDB数据库

被某人安利了Plesk,所以打算把博客的AMH换掉,这也是今天为啥博客挂了大半天的原因,本来以为挺快就能搞定的,但是……上手后发现这货功能实在太鸡儿多了,所以花了不少时间来摸索,由于Plesk Onyx无论是17.0还是17.5版本都默认带MariaDB 5.5而我的博客原数据库是Mysql 5.7的,所以为了“兼容”(强迫症),想把MariaDB从5.5升级到10.1,这个版本和Mysql 5.7基本同级,但是……我找了好半天重装了数次系统还是没找到怎么直接换数据库版本,头大,只能谷歌。结果……发现这个的数据库其实依赖不是很强,直接随便找个方法换掉就好_(:з」∠)_,心累,试了两次后终于搞定了,记录一下防止后面有人也被坑到。

首先还是要做好备份的

这样就把原始数据备份了两份,出问题了总能东山再起,接着就是添加MariaDB的repo了,一般能直接用repo后yum安装的请务必不要用rpm来直接安装,不方便后续的更新

创建/etc/yum.repos.d/MariaDB.repo ,内容如下

阅读全文→

Python2.6安装gevent——pip安装指定版本包

作为一个坚守在Centos6的人……我一般是会把系统默认的Python2.6换成2.7的,怎么换我在博客里好像说过来着,不过有些机器我不会换,主要是考虑到Centos6的源里很多软件默认只吃2.6……换2.7会有模块导入错误,比较头疼。

我一般配置环境都会给Python装上greenlet和gevent,之前一直都是顺利安装的,这次发现有问题了,貌似是gevent更新后不支持2.6了,这特么就很尴尬了

提示Exception: Please install gevent 1.1 for Python 2.6

其实就是新版本不支持2.6了,那么好办啊,装1.1版本咯,然而我并不知道pip怎么指定包的版本,猜了几条命令都不对,然后一波谷歌马上解决……

使用两个等号来指定包的版本……好像很有道理的样子,总之就这么解决了

Nginx(非OpenResty)编译安装VeryNginx

一.无话可说

最近买了个罗马尼亚的大硬盘机器,所以准备把Online上的存储站搬过去,拿oneinstack装了一波环境,不过总觉得还是不够,毕竟下载站要是被人搞事了挺蛋疼的,所以准备装个VeryNginx来简单配点策略。我很早就折腾过VeryNginx了,也用了挺久,一直是拿来用它的过滤器和跳转,挺方便的,只是懒得写,今天重新搞的时候又把过去的坑给踩了一遍。。。还是做点记录吧

二.还得再说

其实如果使用自带的安装脚本,会很方便,不过我个人没用过OpenResty,所以还是在Nginx的基础上配置吧,熟悉点。

首先是依赖部分,按照官方的Use Own Nginx的说明,需要如下依赖

  • lua-nginx-module
  • http_stub_status_module
  • http_ssl_module

而lua-nginx-module还需要lua以及nginx-dev-kit

首先装Lua,一般为了更好的性能,都选择安装LuaJit

然后下载lua-nginx-module以及nginx-dev-kit

之后就是编译Nginx了

然后一波编译,没错就OK了 阅读全文→

使Proxmox VE创建的LXC容器支持TUN/TAP

一.为什么

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

二.怎么办

首先当然是谷歌咯,关键词选得好马上出结果,proxmox官方论坛讨论贴 https://forum.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的程序时就不会出问题了 阅读全文→