自己制作KVM系统模板的好处我想这个就不用多说了,举个简单的例子:某客户需要一台预装好LNMP环境的CentOS7小鸡,我们就可以制作一个这样的系统模板然后给用户使用,用户重装系统完成后,CentOS7系统内就自带了LNMP环境。
简而言之制作KVM系统模板就相当于DIY系统然后重新封装给客户使用。因为目前网上很难找到免费且好用的KVM系统模板,稍微好用点的都要收费,或者没有我们自己需要的,所以我觉得自己制作还是很有必要的。另外自己制作的模板更安全更放心。
本次我将制作一个CentOS7X64预装好Deluge1.3.15以及BBR的系统模板。
成品模板相关属性如下:
Generation:2
Arch:x86_64
Disk Driver:ide
Partition # to Resize:1
Swap Partition #:2
用来制作的系统ISO是CentOS-7-x86_64-Minimal-1804.iso,各位可以自行到这里下载:
https://www.centos.org/download/
注意,我们是制作给VPS用的系统,这里下载一定要下载Minimal ISO:
在这个页面复制一个下载地址(找一个速度快的):
进入SolusVM主控的如下目录:
cd /home/solusvm/kvm/iso
下载ISO文件:
wget http://centos.usonyx.net/main/7/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso
在SolusVM后台新建一个KVMISO的组:
然后添加ISO,注意关闭PAE这个选项:
现在将ISO同步到被控中去:
在Media Sync的Jobs中看到Completed就说明ISO文件同步完成了:
然后我们创建一台KVM虚拟机,在ISO这块选择我们刚同步过去的系统:
然后会告诉你这台VPS的IP/VNC端口/VNC密码:
注意:
我们用来连接这台VPS的VNCIP并不是上图中给我们的IP,而是母机IP。切记是用母机IP+上图给我们的端口去连接VPS。
OJBK,没什么意外的话,现在可以成功连接VNC并且看到系统安装界面:
注意看到如下图红框标注的两个地方:
首先我们点击“网络和主机名”,在如下图界面中把网络连接打开,如果你不打开,待会虚拟机没外网:
然后点击安装位置,选择“我要配置分区”:
选择“标准分区”,然后点击左下角的+号开始分区:
我给这台VPS分了100GB硬盘,SWAP2G,如下图所示:
注意:
上图中的文件系统这里我们要选择ext4。另外其实在制作KVM系统模板的时候,硬盘只需要10GB就够了,我是多打了个0。。。
都确定设置好了后,开始安装系统,记得设置一个复杂的ROOT密码:
安装完成后,点击右下角的重启:
在VNC里面可以看到系统重启后,运行正常:
现在我们回到SolusVM的后台,先来确认几样东西。
第一个是你这台用来制作KVM系统模板的VPSID,如下图所示,我这台是:kvm105
然后在节点的LVM管理这块,确定一下Volume Group以及Logical Volume都是正常的,如图所示我这里是kvm105_img:
现在登录到被控机器内,在被控机器内执行命令:
/scripts/kvmtemplate --mode=prescan --vmid=kvm105 --generation=2
确定这台虚拟机的硬盘信息是正确的,从如下图中我们可以看到sda1是文件系统,sda2是swap,一切正常:
现在我们登录到KVM虚拟机内,做你该做的事情,比如你要安装LNMP啊,安装什么其他的环境或者软件啊,都在这台虚拟机内做好。我这里就是安装BBR和Deluge了,这里的步骤就省略掉。
现在编辑虚拟机内的fstab文件:
vi /etc/fstab
一般情况下默认的fstab内容是这种带uuid的形式:
我们要改成:
/dev/sda1 / ext4 defaults 1 1 /dev/sda2 swap swap defaults 0 0
如图所示:
OJBK,做完这一系列事情之后,清理系统日志:
history -c echo > /root/.bash_history echo > /var/log/wtmp
然后关闭虚拟机:
halt
回到被控中,执行如下命令:
/scripts/kvmtemplate --mode=prepare --vmid=kvm105 --generation=2
等执行完成后再执行如下命令打包:
/scripts/kvmtemplate --mode=package --vmid=kvm105 --generation=2
注意上面这两条命令中的kvm105,我之前提醒过这个ID要对应你用来制作KVM系统模板的虚拟机ID。
最后完成后会有类似如图提示:
我们进入被控的系统模板目录:
cd /home/solusvm/kvm/template/
重命名:
mv template-dc7120e7272d9259f572315636407a74e66b87af.gz linux-centos-7-x86_64-custom-gen2-v1.gz
注意这个命名格式可不能随便乱写,一定要按照我上面的这种格式,当然你可以稍微修改一下,比如custom1/custom2之类的。其他的就不要改动了,否则容易出玄学问题。
然后我们用scp把做好的系统模板从被控内拉到主控中去:
scp linux-centos-7-x86_64-custom-gen2-v1.gz 你的主控服务器公网IP:/home/solusvm/kvm/template/
等待scp同步完成之后,我们删除被控内的系统模板:
rm -rf linux-centos-7-x86_64-custom-gen2-v1.gz
接着回到SolusVM的后台中去,添加系统模板:
注意我文章开头说过的系统模板属性,这里都要对应。
然后再把系统模板同步到被控中去:
OJBK,现在尝试使用我们刚制作好的系统模板开通一台VPS:
OJBK,基本正常:
为什么说是基本正常??因为SolusVM这里有一个BUG也是多年不愿意修。这样装上去的系统,硬盘大小不对,它只能识别最初我们制作的硬盘大小100GB,所以我们需要手动执行命令修复:
resize2fs /dev/sda1
如图所示就正常了:
这问题在SolusVM的论坛上面至少多人反应过并且超过多年官方不给解决。所以不要把SolusVM想的多么高大上,其实SolusVM就是一个BUG满天飞的辣鸡玩意。
最新评论
5211314
能不能教我 一点不会