IDC零基础系列——CentOS6安装SolusVM(从系统分区到删库跑路)

一.介绍

SolusVM我想应该不用介绍了,目前国内外卖VPS的最常见的面板之一,另外还有Virtualizor以及Xen System,以及比较少见的Promox和ESXi以及非常稀有土豪专用的OnApp。当然还有些号称云主机的用OpenStack或者OpenNebula,这些就不提了。不过我相信大部分人应该都接触过SolusVM,作为OnApp旗下的比较低端的虚拟化产品,以及和WHMCS等财务系统比较好的集成,所以非常多的VPS商家都喜欢用这个。

所以这个系列来稍微介绍下这些IDC比较常用的东西,之前的Proxmox也是这个系列的其实,之后会有啥就看心情了。

由于Solusvm的某些BUG(其实是一堆),在CentOS7上安装Solusvm会导致出现无法限速,无法重启后自动启动VM的情况,所以一般情况下建议使用CentOS6安装。

但是Solusvm对于系统的分区是有要求的,所以我们从安装CentOS6开始介绍,当然是跳着介绍的,只说需要特别注意的地方,最好的情况是你的独服商家提供了Solusvm的镜像,这样你就不用折腾的,但是有些只提供了OpenVZ Slave(Master)的镜像,所以这种情况下如果你要安装KVM或者Xen的Solusvm Slave就需要自己动手了。

二.安装

本文分为Master篇和Slave篇,我将在本篇文章中分别介绍

首先看下安装前的注意事项

  • You CANNOT Install a  Master on a Xen/ Slave Directly, you can however install your Master on a Xen  which is hosted on this slave, it just cant be installed directly onto the slave

解释: 这个就是告诉你,你无法直接在一台已经安装了Xen或者KVM的Slave上安装Master,但是你可以在Slave上开的VM中安装Master,当然如果你有别的的空的机器还是建议分开(OVZ可以使用Master with OpenVZ来实现安装在一台机器上)

  • This Script should NEVER be used to upgrade  to the latest version, doing so will destroy your installation of 

解释: 安装脚本无法被用于升级Solusvm,这么做会导致你的已经安装的Solusvm损坏

  • DO NOT use this installer on servers that contain any other control panel (cPanel, Directadmin etc..) Always use a clean install of /RHEL/Scientific!

解释: 不要在存在其他控制面板(比如cPanel、Directadmin或者其他的),总是使用一个纯净的系统(/RHEL/Scientific之一)

支持的系统和虚拟化

PS. 需知

1. 5那列是支持的,但是不进行维护了
2. Virtuzzo的话在我看来是OpenVZ的商业(企业)版,功能更加强大,但是依旧是属于和OpenVZ一样类似于容器,内核依赖于宿主机,无法在Linux宿主机上安装Windows啥的

分区要求

翻译一下
虚拟化 分区布局

1. “/”(根目录)需要80GB以上,使用ext4/ext3并且选择Primary(主分区)而不是逻辑分区
2. Swap(交换分区)需要4GB以上,以便应对内存不足的情况(VM会占用宿主Swap)
3. 剩下的空间全部分配给LVM(需要注意,只配置Logical Volume Group逻辑卷组,具体的卷会由Solusvm自己创建),Solusvm推荐使用32MB及以上的PE(Physical Extent, 物理块)大小

  • Xen Source

1. 同上()
2. Swap(交换分区)不超过4G(VM*不会*占用宿主Swap)
3. 同上()

  • OpenVZ

1. “/”(根目录)需要40GB以上,使用ext4/ext3并且选择Primary(主分区)而不是逻辑分区。如果没有创建”/vz”目录且独立挂载分区,OpenVZ的模板会存储在”/vz/template/cache”目录,占用”/”根目录空间
2. Swap(交换分区)两倍于物理内存(如果物理内存小于2GB,则Swap为物理内存+2GB)
3. “/vz”占用剩余的空间,用于存储OpenVZ的模板以及VM的磁盘

  • OpenVZ 7

1. 使用 Virtuozzo Linux
2. 同上(OpenVZ)
3. 同上(OpenVZ)
4. 同上(OpenVZ)

安装脚本倒是挺简单

首先,请按照上面说明准备好系统环境,大部分的商家提供ISO挂载来安装的功能,建议使用这个而不是系统模板来安装,因为模板安装不太方便调整分区。
Hetzner的话也有类似的功能,这就不需要Rescue模式了,请注意了。我们点击面板上的VNC,然后来进行安装

然后会给你一个IP以及密码,使用VNC客户端连接即可,可以下载tightvnc或者realvnc啥的

PS.需要注意,这儿给出的IP是带端口的(但其实也不是端口)
比如给你的是192.168.0.1:1,你会很奇怪为啥端口是1对吧,其实是VNC的端口,默认从5900开始,1代表的就是5901,即你实际的地址是192.168.0.1:5901

当然,在开始连接之前我们需要重启服务器进入VNC安装模式(重启前记好端口和密码,重启后会消失的)

然后我们就能连上去了

记得选上两块硬盘

中间啥时区啊,网络啊,就跳过了,因为没啥特别的

 

大概是这样的

然后还是比较常规的安装流程了,我也就不说了

然后进入系统后运行脚本开始安装,首先是脚本环境安装以及部分检测,稍等后进行简单的选择题

由于是独服,所以我们这台机器上装KVM的Slave,也就是选4
然后就开始安装了

稍等一会儿然后就OK了,最后会给出ID Key以及ID Password,凭借IP以及这两个就能在Master里面添加节点了

然后,按照说明我们还需要配置个Bridge,按照Solusvm的教程其实挺简单的——>传送门 https://documentation..com/display/DOCS/+Bridge+Setup

我这边简单的介绍下

1. 首先安装bridge-utils软件包(虽然文档里让你检查是否已经安装,但是直接装下不就知道了吗…)

yum install bridge-utils -y

2. 然后查看你现有的网卡配置文件

#你的网卡名字可能有差别,总之选你外网IP的那个
cat /etc/sysconfig/network-scripts/ifcfg-eth0
#内容大概如下,虽然我Hetzner上安装完不是这样的,不过差不多啦
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
HWADDR=MAC地址
IPADDR=公网IP
NETMASK=子网掩码
NETWORK=网络号
GATEWAY=网关
BROADCAST=广播地址
IPV6INIT=yes
IPV6_AUTOCONF=yes

3. 备份你的配置

cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/backup-ifcfg-eth0

4. 依照你网卡配置创建Bridge的配置文件

vi /etc/sysconfig/network-scripts/ifcfg-br0
#内容参照如下
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
ONBOOT=yes
IPADDR=公网IP
NETMASK=子网掩码
NETWORK=网络号
GATEWAY=网关
BROADCAST=广播地址

PS.这部分你按照自己的,有啥填啥,没的去服务器面板看看,有些比如广播地址和网络号其实都是不必要的,可选。另外有IPv6地址的自己参照着填,这个需要注意一下,如下

#Hetzner的IPv6在CentOS下大概配置文件需要加这些,最后一行少了不行,倒数第二行不能改
IPV6INIT=yes
IPV6ADDR=IPv6地址/64
IPV6_DEFAULTGW=fe80::1
#在Bridge中这儿应该是br0
IPV6_DEFAULTDEV=eth0

5. 修改原网络配置

vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=MAC地址
IPV6INIT=yes
IPV6_AUTOCONF=yes
ONBOOT=yes
BRIDGE=br0

这儿这个IPV6_AUTOCONF如果你上面是手动配IPv6的这个就不要了,有些机房IPv6自动DHCP分配的可以开这个

6. 重启网络

/etc/init.d/network restart

我建议这部分最好慎重一点,特别是如果你的机器没有KVM或者IPMI,改错了可能就得重装了,但是,也可以做个故障修复脚本

#配置重启后的计划任务,删除Bridge配置,覆盖原配置文件然后重启网络
echo "@reboot rm -rf /etc/sysconfig/network-scripts/ifcfg-br0 && \cp /etc/sysconfig/network-scripts/backup-ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0 && /etc/init.d/network restart" >> /var/spool/cron/root
chmod 600 /var/spool/cron/root
service crond reload
service crond restart

在配置这个之后,如果你发现自己搞炸了导致服务器失联,请使用控制面板上的重启来使机器重启恢复,之后你可以再次作死了。

PS. 当然,在你成功配置后记得把计划任务删掉,别问我怎么删

配置完大概是这样的,那个virbr0不用管,是自动添加的一个,如果看官方文档还可以配置一个内网用的Bridge,这个就看你自己需求了

然后我们就可以找个地方来装Master了,重复上面的第一步操作,在选择那儿选1

然后等着安装完成

如果你解析了域名到IP上可以按照它给的命令来签发Let’s Encrypt的证书
我们只做测试,所以这些都不管,直接登录面板,然后添加节点(更改默认密码啥的就不用我提了吧)

然后我们来添加一份中文翻译(这个是用户界面的翻译,管理员安安心心看英文啦)

cd /usr/local/solusvm/language/client/
wget "https://documentation.solusvm.com/download/attachments/7667936/Simplified-Chinese.lang.txt?api=v2" -O Chinese.lang.txt
chown solusvm:solusvm Chinese.lang.txt

然后我们需要添加模板和ISO,KVM的模板我们可以从SolusVM的TDN那儿获取)——>传送门

模板的获取命令和参数都有,举个栗子,我们要添加CentOS6的模板

	
wget w http://templates.repo.onapp.com/solusvm/kvm/linux-centos-6-x86_64-minimal-latest.gz -O /home/solusvm/kvm/template/linux-centos-6-x86_64-minimal-latest.gz

然后我们需要添加模板和ISO,KVM的模板我们可以从SolusVM的TDN那儿获取)——>传送门

模板的获取命令和参数都有,举个栗子,我们要添加CentOS6的模板

wget http://templates.repo.onapp.com/solusvm/kvm/linux-centos-6-x86_64-minimal-latest.gz -O /home/solusvm/kvm/template/linux-centos-6-x86_64-minimal-latest.gz

然后照着信息添加

 

接着添加完后模板其实是在Master上的,我们需要同步到节点上

先Queue然后Active,之后稍等变成Complete就OK了

然后去添加一个Plan

然后加下IP

这是先加Block然后加IP的,像Hetzner和OVH这种机房IP绑定MAC的也必须给IP指定一个MAC,不能用默认的auto随机生成

然后就可以开机器了(开机器必须要创建一个用户,左侧Add Client了解一下)

 

然后就OK了

然后在用户面板也能看到啦

三.优化

默认情况下,我们的cpu是kvm64模式,这个时候在VM内显示的CPU型号是QEMU开头的,虽然这个是为了集群情况下能够方便迁移,不因为CPU型号不同导致某些故障,但是这种情况下你的宿主机CPU指令集不能完全提供给VM,会导致性能损耗。

 

那么怎么改呢,很简单,直接后台修改参数,然后保存重启VM就行

如果需要后续创建的机器都是这样的,可以直接修改模板里面的CPU Model

重启之后的效果

发表回复