debian怎么配置静态ip地址
640
2022-11-01
基于KVM和WebVirtCloud部署私有云的过程记录
KVM(Kernel-based Virtual Machine 的缩写)是一个 Linux 虚拟化应用程序,它使用户能够将他们的机器变成管理程序并在隔离的环境中运行多个虚拟机。
WebVirtCloud是一个供管理员和用户使用的虚拟化 Web 界面。它可以将虚拟机委托给用户。noVNC 查看器向来宾域提供完整的图形控制台。 KVM是目前唯一支持的管理程序。
本次是一台物理机服务器上部署KVM,然后在KVM虚拟机上WebVirtCloud对KVM进行管理。
物理机IP:192.168.*.71
虚拟机IP:192.168.*.70
Ps:以下部署方式在CentOS Stream 8、AnolisOS-8.4、openEuler -22.03通过测试。
一、部署KVM主机
1、服务器环境检测
查看服务器及操作系统版本信息,WebVirtCloud只支持内内核4.0以上版本。
#uname -a
#uname -r
#cat /etc/redhat-release
Ps:openEuler用cat /etc/os-release
检查环境是否支持KVM
#cat /proc/cpuinfo | egrep "vmx|svm"
在输出中,查看标志列表。如果发现vmx(对于 Intel 处理器)或svm (对于 AMD),则系统支持硬件虚拟化。
2、部署KVM
升级系统
#dnf -y update
查看是否加载KVM
#lsmod | grep kvm
关闭防火墙
#sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
#systemctl disable --now firewalld
使用groupinstall一次性安装KVM虚拟化组件
#yum groupinstall "Virtualization Host"
安装libvirt
#yum install libgcrypt virt-install
启用libvirt
#systemctl start libvirtd-tcp.socket
#systemctl enable libvirtd-tcp.socket
#systemctl status libvirtd-tcp.socket
#systemctl start libvirtd
#systemctl enable libvirtd
#systemctl status libvirtd
查看版本信息
#virsh version
3、配置桥接网卡
KVM虚拟机的网络配置有两种模式:桥接模式和NAT模式。NAT模式:即用户模式,数据包由NAT方式通过主机的接口进行传送,可以访问公网,但是无法从外部访问虚拟机网络,KVM部署时默认配置NAT网卡;。Bridge:即桥接模式,这种模式允许虚拟机像一个独立的主机一样拥有网络,外部的机器可以直接访问到虚拟机内部,需要单独配置。
查看网卡
#ip addr
查看当前网络连接
#nmcli connection
新建网桥,命名为:br0
# nmcli connection add type bridge con-name br0 ifname br0 autoconnect yes
查看新建网桥后连接信息
# nmcli connection
网桥br0桥接至网卡eno1
# nmcli connection add type bridge-slave ifname eno1 master br0
#cd /etc/sysconfig/network-scripts/
#ll
#cat ifcfg-bridge-slave-eno1
# cat ifcfg-br0
修改bro为静态IP:192.168.*.71
#vi ifcfg-br0
同时,修改eno1为的ip,不要冲突。
#vi ifcfg-eno1
查看当时网络信息,新建网桥未启用
# nmcli connection
重启操作系统
#reboot
# nmcli connection
查看当前网络信息,新建网桥已经可以使用了。
#ip addr
4、创建存储目录
在KVM主机上创建虚拟机和ISO镜像存储目录,位置没有要求,本次安装,笔者是存在KVM主机的/home/kvmadmin/目录下。在kvmadmin目录下新建kvm、iso目录,kvm用于存储虚拟机安装文件,iso应存储镜像文件。
#mkdir /home/kvmadmin/kvm /home/kvmadmin/iso
修改权限:
#chmod 777 /home/kvmadmin
二、部署WebVirtCloud虚拟机
1、上传或者网上下载操作系统镜像
上传或者下载操作系统镜像至iso,本次测试的镜像是CentOS-Stream-8-x86_64-latest-dvd1.iso,从清华大学源网上下载:
#wget -U NoSuchBrowser/1.0 -P /home/kvmadmin/iso create -f qcow2 /home/kvmadmin/kvm/WebVirtCloud.qcow2 200G
Ps:虚拟磁盘有raw和qcow2两种格式。raw相当于SSD硬盘,占用实际空间固定,支持虚拟化操作较少;qcow2相当于机械硬盘,占用空间随使用增长,支持虚拟化操作较。本次采用qcow2格式。
(2)安装操作系统
本次测试安装的centos-stream8操作系统:
#virt-install --name=WebVirtCloud --vcpus=8 --memory=4096 --disk=/home/kvmadmin/kvm/WebVirtCloud.qcow2 --cdrom=/home/kvmadmin/iso/CentOS-Stream-8-x86_64-latest-dvd1.iso --os-variant=centos-stream8 --noautoconsole --autostart --network bridge=br0 --graphics vnc,listen=0.0.0.0,port=5901
Ps:virt-install --name=安装名称,--vcpus=处理器核心个数, --memory=内存大小,--disk=磁盘位置,--os-variant 要安装到客户机中的操作系统,--noautoconsole 不自动连接控制-autostart,--network配置虚拟机网络接口,此处为桥接到br0,--graphics控制模式,listien=监听地址,port=监听端口。
VNC连接
操作系统的安装及配置,此处不讲解,虚拟机的ip地址为:192.168.*.70,并将主机名设为WebVirtCloud。
Ps:操作系统安装完成后,需要重启系统,但系统可能不会自动重启,需要手动去启动。
查看所有虚拟机列表
#virsh list –all
#virsh start WebVirtCloud
VNC登录
配置虚拟机IP地址为:192.168.*.70,主机名设为:WebVirtCloud。
Ps:virsh生命周期管理
关机指令
#virsh shutdown VMACHINE_NAME
断电指令
#virsh destroy VMACHINE_NAME
开机指令
#virsh start VMACHINE_NAME
重启指令
#virsh reboot VMACHINE_NAME
删除虚拟机
# virsh undefine VMACHINE_NAME
查看VNC端口
# virsh vncdisplay VMACHINE_NAME
三、部署WebVirtCloud
1、虚拟机环境检测
登录WebVirtCloud虚拟机,并对操作系统进行升级:
#dnf -y update
部署WebVirtCloud,需要Ubuntu18.04/20.04,Debian10/11, Centos/OEL/RHEL 8环境。
#cat /etc/redhat-release
2、部署WebVirtCloud
关闭防火墙
#sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
#systemctl disable --now firewalld
安装epel源
#yum -y install epel-release
安装依赖环境
#yum -y install python3-virtualenv python3-devel libvirt-devel glibc gcc nginx supervisor python3-lxml git python3-libguestfs iproute-tc cyrus-sasl-md5 python3-libguestfs
克隆webvirtcloud仓库
#cd /srv &&git clone && cd webvirtcloud
#pip3 install -i pip -U
#pip config set global.index-url install -U setuptools virtualenv
创建虚拟环境
#cp webvirtcloud/settings.py.template webvirtcloud/settings.py
#virtualenv -p $(which python3) /srv/envs/webvirtcloud
激活python虚拟机
#source /srv/envs/webvirtcloud/bin/activate
随机生成字符串
#python /srv/webvirtcloud/conf/runit/secret_generator.py
添加到SECRET_KEY中
#vi /srv/webvirtcloud/webvirtcloud/settings.py
安装第三方仓库
#cd /srv/webvirtcloud/&&pip install -r conf/requirements.txt
迁移数据
#python manage.py makemigrations
#python manage.py migrate
编辑supervisord(后端应用作为supervisord子进程管理)
#vi /etc/supervisord.d/webvirtcloud.ini
[program:webvirtcloud]
command=/srv/envs/webvirtcloud/bin/gunicorn webvirtcloud.wsgi:application -c /srv/webvirtcloud/gunicorn.conf.py
directory=/srv/webvirtcloud
user=root
autostart=true
autorestart=true
redirect_stderr=true
[program:novncd]
command=/srv/envs/webvirtcloud/bin/python /srv/webvirtcloud/console/novncd
directory=/srv/webvirtcloud
user=root
autostart=true
autorestart=true
redirect_stderr=true
添加网站目录权限
#chown -R nginx:nginx /srv/webvirtcloud
supervisord服务操作
#systemctl enable --now supervisord
#supervisorctl reload
#supervisorctl update
#supervisorctl restart all
将配置拷贝到nginx目录中
#cp conf/nginx/webvirtcloud.conf /etc/nginx/conf.d/
配置nginx.conf
#vi /etc/nginx/nginx.conf
注释默认虚拟机
设置nginx开机启动:
systemctl enable nginx
重启操作系统
#reboot
浏览器访问:-t rsa
(连续三次回车,即在本地生成了公钥和私钥,不设置密码,默认存储在 ~/.ssh目录下)
关闭公钥检查
#cat > ~/.ssh/config << EOF
Host *
StrictHostKeyChecking no
EOF
修改权限
#chmod 600 ~/.ssh/config
(2)推送公钥
将生成的公钥推送到KVM主机。
#ssh-copy-id root@192.168.*.71
验证:
#ssh root@192.168.*.71
(3)添加计算节点
浏览器登录WebVirtCloud:http://192.168.*.70
计算节点->ssh
填写节点名称、IP、登录用户等信息,然后保存
显示已连接
2、创建存储目录
新建存储:存储->“+”图标:
创建文件目录:
创建ISO镜像目录:
3、虚拟机实例实例管理
(1)创建实例
创建虚拟机实例
默认即可
本次测试选media模板。
Ps:可以自定义和新建模板。
创建虚拟机
(2)调整配置及操作系统安装
调整配置:可调整磁盘大小、内存大小、CPU数量。
快照:可以创建快照、管理快照
设置:可配置启动(自动启动、启动顺序)、磁盘、控制台、网络、克隆、迁移、用户等。
为虚拟机实例增加网络
添加完成后,是2个网卡,如下图:
挂在操作系统镜像:
挂在完成,如下图:
开启虚拟机实例
控制台
系统安装就赘述了。
(3)查看虚拟机状态
(4)删除虚拟机
4、用户管理
(1)用户组管理
添加用户组
可对用户组进行编辑和删除
(2)管理用户
添加用户
可对用户进行编辑和删除
(3)给用户分配虚拟机实例
test登录,即可看到拥有的虚拟机实例:
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~