加入收藏 | 设为首页 | 会员中心 | 我要投稿 海南站长网 (https://www.0898zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

CentOS 7全新安装配置KVM虚拟化平台

发布时间:2022-10-15 13:31:21 所属栏目:系统 来源:互联网
导读: 前情提要
UP在几个月前做了一个拨号上网的企划,当时视频里面演示用的拨号服务器是独立的一台计算机,然而那个企划刚做完没多久,Pandownload开发者被抓的新闻在网络上刷屏。虽然UP常年百度

前情提要

UP在几个月前做了一个拨号上网的企划,当时视频里面演示用的拨号服务器是独立的一台计算机,然而那个企划刚做完没多久,Pandownload开发者被抓的新闻在网络上刷屏。虽然UP常年百度云会员,也没有出现过即使会员依然龟速下载的情况,可出于跨平台同步文件、个人隐私、资料可控度等多个方面需求,还是搭建了一个运行于内网的私有云盘。

服务器虚拟化_虚拟叫号器_重生之虚拟天帝 化十 小说

私有云盘搭建好了,问题也出现了,由于私有云盘和拨号服务器都是独立的计算机,两台计算机放在一起实在是太占地方,特别是功耗高、热量大、噪音吵。忍了一个多月实在是受不了,决定对私有云盘服务器进行虚拟化改造,将服务器配置为虚拟化平台,把拨号服务器和云盘服务器全部运行于虚拟机中。经过虚拟化之后,理论上可以大大提升服务器的利用率并减少占地面积、减少电力消耗、减少热量噪音输出。

服务器虚拟化_重生之虚拟天帝 化十 小说_虚拟叫号器

服务器机房

运行于Linux上的虚拟化平台主要有两种,Proxmox和Libvirt+WebVirtMgr,前者是一个完全集成的虚拟化平台,安装好后开箱即用,无需多余配置,自动化程度高;后者则需要手动安装部署,需要一定的折腾能力,但可自定义的地方较多。二者都是基于KVM,所以理论上性能没有区别。由于UP主并没有接触过Proxmox,且需要对服务器进行一定的定制,所以选择了Libvrt+WebVirtMgr。

服务器虚拟化_虚拟叫号器_重生之虚拟天帝 化十 小说

开始配置

配置KVM平台需要服务器满足以下需求:

UP主目前服务器配置如下:

由于网络上的配置文档五花八门,很多都不符合当今的配置环境,特写此篇文档以记录配置过程,仅供参考。可能你在配置的时候软件版本已经更新,请以实际情况为准。

开始配置

首先全新安装CentOS 7 Minimal,安装完成后更新软件源,安装常用软件包;

yum update

yum install nano vim gcc wget zip unzip gzip

重生之虚拟天帝 化十 小说_服务器虚拟化_虚拟叫号器

安装并更新常用软件包

检查处理器是否支持虚拟化技术

接下来确认服务器是否支援虚拟化技术,看见有vmx或svm即表示支援虚拟化技术,如果确认处理器支持虚拟化技术,但没有看到vmx或svm,请到BIOS中开启它。

egrep '(svm|vmx)' /proc/cpuinfo

服务器虚拟化_虚拟叫号器_重生之虚拟天帝 化十 小说

确认服务器的处理器支援虚拟化技术

为了防止配置失败,关闭SELinux

nano /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled,保存并离开

重生之虚拟天帝 化十 小说_服务器虚拟化_虚拟叫号器

关闭SELINUX

安装KVM、Libvirt和管理工具

yum install qemu-kvm libvirt virt-install bridge-utils

虚拟叫号器_服务器虚拟化_重生之虚拟天帝 化十 小说

安装KVM、Libvirt和管理工具

配置网桥

安装好KVM后会自动生成一个给虚拟机用的NAT网络,接入NAT网络的虚拟机无法被内网访问,所以需要配置一个桥接网络,这一步类似于VMware虚拟机的桥接模式,目的是让虚拟机有一个内网IP。

cd /etc/sysconfig/network-scripts/

nano ifcfg-enp2s0 #ifcfg-enp2s0这个名称会根据不同计算机而发生变化

虚拟叫号器_重生之虚拟天帝 化十 小说_服务器虚拟化

配置网桥

在末尾添加BRIDGE=”br0”,保存并离开。

虚拟叫号器_重生之虚拟天帝 化十 小说_服务器虚拟化

为网络连接设置网桥

将网络连接复制一份,作为桥接网络的模板。

cp ifcfg-enp2s0 ifcfg-br0

复制网络连接作为网桥配置文件模板

nano ifcfg-br0

TYPE值改为Bridge,NAME和DEVICE值改为br0,删除BRIDGE="br0",删除UUID=“XXXXXX”

保存后重启网络

systemctl restart network

安装配置WebVirtMgr

至此KVM部分已经完成,接下来安装配置Web管理工具WebVirtMgr,此工具运行于Web,所以需要Nginx作为支持。由于需要下载的软件包服务器位于国外,可能速度较慢,可以通过SFTP把软件包上传到/root目录下。

cd ~

yum install gcc-c++ autoconf automake zlib zlib-devel pcre-devel openssl openssl-devel net-tools perl

安装PCRE

wget

tar -xvf pcre-8.42.tar.gz

cd pcre-8.42

./configure

make && make install

pcre-config --version

检查PCRE是否安装成功

看到有输出8.42则表示配置成功。

安装Nginx

wget

tar -xvf nginx-1.15.9.tar.gz

重生之虚拟天帝 化十 小说_虚拟叫号器_服务器虚拟化

cd nginx-1.15.9

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/root/pcre-8.42

make && make install

/usr/local/nginx/sbin/nginx -v

检查Nginx是否安装成功

看到有输出Nginx版本,则表示配置成功。

为Nginx创建用户

/usr/sbin/groupadd www

/usr/sbin/useradd -g www www

配置Nginx虚拟主机

此步骤为WebVirtMgr管理站点提供支持。

cd /usr/local/nginx/conf/

nano nginx.conf

在文件末尾添加include vhost/*.conf;

重生之虚拟天帝 化十 小说_虚拟叫号器_服务器虚拟化

配置nginx.conf

检查配置文件是否存在错误,如果提示错误则检查上一步是否修改正确。

/usr/local/nginx/sbin/nginx -t

使用nginx -t检查配置文件是否正确

启动Nginx

/usr/local/nginx/sbin/nginx

/usr/local/nginx/sbin/nginx -s reload

/usr/local/nginx/sbin/nginx -s reopen

systemctl stop firewalld.service #临时关闭防火墙

此时访问服务器的IP地址就可以看到Web页面了。

重生之虚拟天帝 化十 小说_服务器虚拟化_虚拟叫号器

Nginx启动后的默认页面,看到此页面表示Nginx已成功启动

安装WebVirtMgr

Nginx配置完成后,就可以开始安装配置WebVirtMgr了,通过WebVirtMgr可以很轻松的管理KVM虚拟机。首先安装WebVirtMgr的依赖软件包。

cd ~

yum install epel-release

yum install git python-pip libvirt-python libxml2-python python-websockify python-devel

pip install --upgrade pip

pip install numpy

下载解压安装WebVirtMgr

git clone git://github.com/retspen/webvirtmgr.git

WebVirtMgr下载中

mv webvirtmgr/ /var/www/

cd /var/www/webvirtmgr/

pip install -r requirements.txt

创建Web管理页面管理员账户

./manage.py syncdb

虚拟叫号器_服务器虚拟化_重生之虚拟天帝 化十 小说

配置Web管理页面的管理员账户

此步骤需要输入用户名、邮箱地址和密码,按照提示输入即可。

生成Web管理页面的静态页面文件

./manage.py collectstatic

虚拟叫号器_服务器虚拟化_重生之虚拟天帝 化十 小说

生成静态页面文件

配置Nginx虚拟主机站点

cd /usr/local/nginx/conf/

mkdir vhost

cd vhost/

touch wvm.conf

nano wvm.conf

输入以下文本后保存并离开

server {

listen 80 default_server;

server_name $hostname;

location /static/ {

root /var/www/webvirtmgr;

expires max;

}

location / {

proxy_pass :8000;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-for $proxy_add_x_forwarded_for;

proxy_set_header Host $host:$server_port;

proxy_set_header X-Forwarded-Proto $scheme;

proxy_connect_timeout 6000;

proxy_read_timeout 6000;

proxy_send_timeout 6000;

client_max_body_size 8192M;

}

}

配置说明:

proxy_connect_timeout、proxy_read_timeout、proxy_send_timeout这三个参数为上传读取连接的超时时间,以秒为单位,如果单个连接超时,则服务器会报504错误。

client_max_body_size为单个上传文件最大大小,以MB为单位服务器虚拟化,如果上传的文件超出值大小,则服务器会报413错误。

检查配置文件是否有错误,重新载入Nginx配置

/usr/local/nginx/sbin/nginx -t

/usr/local/nginx/sbin/nginx -s reload

/usr/local/nginx/sbin/nginx -s reopen

启动Web管理程序

nohup /usr/bin/python /var/www/manage.py run_gunicorn 127.0.0.1:8000 &

nohup /usr/bin/python /var/www/webvirtmgr/console/webvirtmgr-console &

配置SSH免密码登录

此步骤为WebVirtMgr管理KVM虚拟机提供授权

ssh-keygen -t rsa #如果提示需要输入直接回车

ssh-copy-id [服务器IP地址] #期间需要输入一次服务器root密码

访问WebVirtMgr

此时在浏览器中打开服务器IP就可以看到管理页面了,用户名和密码为之前配置时所设置的用户名和密码。

重生之虚拟天帝 化十 小说_服务器虚拟化_虚拟叫号器

WebVirtMgr登录界面

点击New Connection,选择SSH连接,Label和IP输入服务器的IP地址,用户名和密码为刚才设置的值,点击添加,然后就可以通过Web管理虚拟机了。

重生之虚拟天帝 化十 小说_虚拟叫号器_服务器虚拟化

虚拟机服务器管理页面

收尾工作

如果不重启,此时是可以正常通过Web操作虚拟机的,但是重启后就无法连接了,原因是缺少novnc服务,安装即可。

yum -y install novnc

启动防火墙

systemctl start firewalld.service

systemctl enable firewalld.service

添加防火墙例外端口,此步骤按需添加

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --zone=public --add-port=8080/tcp --permanent

firewall-cmd --zone=public --add-port=6080/tcp --permanent

firewall-cmd --zone=public --add-port=5900/tcp --permanent

firewall-cmd --zone=public --add-port=5920/tcp --permanent

firewall-cmd --zone=public --add-port=443/tcp --permanent

systemctl restart firewalld.service

创建开机自启脚本

cd ~

chmod +x /etc/rc.d/rc.local

touch autostart.sh

nano autostart.sh

输入以下内容后保存并离开

#!/bin/sh

/usr/local/nginx/sbin/nginx

/usr/local/nginx/sbin/nginx -s reload

/usr/local/nginx/sbin/nginx -s reopen

nohup /usr/bin/python /var/www/manage.py run_gunicorn 127.0.0.1:8000 &

nohup /usr/bin/python /var/www/webvirtmgr/console/webvirtmgr-console &

nohup novnc_server –vnc IPADDR:5920 &

设置开机启动脚本

chmod +x autostart.sh

nano /etc/rc.d/rc.local

在文件末尾添加 /root/autostart.sh

重启服务器

reboot

至此,所有配置结束,每次启动服务器就可以直接开始使用虚拟化平台了。文中所使用的WebVirtMgr只是众多管理平台之中的一个,在熟悉了解整个配置流程,摸清楚各个组件之间的关系之后,可以更换其他管理平台。整个配置过程相对来说还是比较繁琐的,一步出错后面的步骤就无法完成,需要一定的Linux使用经验。

(编辑:海南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!