# 检测是否支持KVM
cat /proc/cpuinfo | egrep 'vmx|svm'
# 桥接网络准备
(1) 宿主机桥接工具
yum -y install bridge-utils
(2) 增加宿主机的br0网络配置
cat >/etc/sysconfig/network-scripts/ifcfg-br0<<EOF
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
DEVICE=br0
ONBOOT=yes
USERCTL=no
EOF
# 说明:这个br0设备大多数情况是没有的,需要自己创建,同时这个设备是可以有网址的,作为宿主机的网卡使用。
(3) 编辑修改网络设备脚本文件,修改网卡设备eth0(或ens33),增加:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BRIDGE=br0
(4) 重启网络,
systemctl restart network
# 安装kvm
yum -y install qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools virt-install
---kvm相关安装包及其作用:
qemu-kvm 主要的KVM程序包
python-virtinst 创建虚拟机所需要的命令行工具和程序库
virt-manager GUI虚拟机管理工具
virt-top 虚拟机统计命令
virt-viewer GUI连接程序,连接到已配置好的虚拟机
libvirt C语言工具包,提供libvirt服务
libvirt-client 为虚拟客户机提供的C语言工具包
virt-install 基于libvirt服务的虚拟机创建命令
bridge-utils 创建和管理桥接设备的工具
---启动与开机自启动
systemctl enable libvirtd
systemctl start libvirtd
---在宿主机通过virsh console命令进入虚拟客户机,如下配置并重启机器:
grubby --update-kernel=ALL --args="console=ttyS0"
reboot
---创建所需的磁盘
qemu-img create -f qcow2 /var/lib/libvirt/images/centos7-1.qcow2 10G
说明:qemu-img 主要用来创建虚拟客户机所需的磁盘, create 表示创建,-f qcow2 表示创建一个格式为 qcow2 的磁盘, /var/lib/libvirt/images/centos7-1.qcow2 表示创建的磁盘名称及磁盘文件,10G 表示该磁盘可用大小。
---virt-install 安装虚拟客户机
virt-install --virt-type=kvm --name=centos7-1 --vcpus=2 --memory=1024 --location=/home/CentOS-7-x86_64-Minimal-1908.iso --disk path=/var/lib/libvirt/images/centos7-1.qcow2,size=10,format=qcow2 --network bridge=br0 --graphics none --extra-args='console=ttyS0' --force
注意:.iso镜像文件一定放到/home 或者根目录重新创建目录,不然会因为权限报错,无法创建虚拟机。
命令说明:
virt-install \
--virt-type=kvm \ 虚拟机类型
--name=centos7-1 \ 表示虚拟客户机名称
--vcpus=2 \ 表示给虚拟客户机分配的虚拟CPU数量
--memory=1024 \ 内存大小
--location=/home/data/CentOS-7-x86_64-Minimal-1908.iso \ 指定客户机安装镜像文件路径
--disk path=/var/lib/libvirt/images/centos7-1.qcow2,size=15,format=qcow2 \ 客户端磁盘的位置及格式
--network bridge=br0 \ 客户端网卡配置(机器默认会有virbr0,这里的br0为上一章节中配置过的)
--graphics none \ 不用图像配置界面
--extra-args='console=ttyS0' \ 表示使用 console ttyS0 进行管理
--force
上面创建虚拟机命令最终需要你配置系统基础设置,带 [!] 基本都是要配置的,按照顺序往下配置,按对用的数字以此进行设置。
-基本设置如下:
语言保持不变
时区选择上海
安装源选择本地镜像
软件选择最小安装
安装磁盘选择自动分别,且使用LVM逻辑卷管理
关闭Kdump,虚拟机关系不大
网络先不管,安装之后处理
Root 密码设置为 123456
不创建新用户
# 查看与连接虚拟客户机
-查看虚拟机
virsh list --all
-连接虚拟机
virsh console centos7-1
-退出命令:
ctrl + ]
#虚拟机的其他管理(在宿主机上)
virsh start centos7-1 # 虚拟机开启(启动):
virsh reboot centos7-1 # 虚拟机重新启动
virsh shutdown centos7-1 # 虚拟机关机
virsh destroy centos7-1 # 强制关机(强制断电)
virsh suspend centos7-1 # 暂停(挂起)KVM 虚拟机
virsh resume centos7-1 # 恢复被挂起的 KVM 虚拟机
virsh undefine centos7-1 # 该方法只删除配置文件,磁盘文件未删除
virsh autostart centos7-1 # 随物理机启动而启动(开机启动)
virsh autostart --disable centos7-1 # 取消标记为自动开始(取消开机启动)
# 虚拟机的克隆
virsh shutdown centos7-1
virt-clone -o centos7-1 -n centos7-2 -f /data/centos7-2.qcow2
-o 要克隆的原虚拟机名字
-n 克隆后新虚拟机的名字
-f 新虚拟机磁盘镜像文件的存储位置
# web管理端
-安装基础依赖
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install git python-pip libvirt-python libxml2-python python-websockify supervisor nginx
yum install apt install -y python3-pip
yum install -y gcc make autoconf automake git python3-pip python3-requests python3-mock gettext pkgconf xsltproc python3-dev pep8 pyflakes python3-yaml
yum install -y systemd logrotate python3-psutil python3-ldap python3-lxml python3-websockify python3-jsonschema openssl nginx python3-cherrypy3 python3-cheetah python3-pampy python-m2crypto gettext python3-openssl
-安装wok和kimchi
https://github.com/kimchi-project/kimchi/releases
https://github.com/kimchi-project/wok/releases
-Install Wok
wget https://github.com/kimchi-project/wok/releases/download/3.0.0/wok-3.0.0-0.fc31.noarch.rpm
yum install -y ./wok-3.0.0-0.fc31.noarch.rpm
-Some Kimchi dependencies need to be installed via pip
yum install -y python3-pip
pip3 install -r https://raw.githubusercontent.com/kimchi-project/kimchi/master/requirements-FEDORA.txt
# Install Kimchi
wget https://github.com/kimchi-project/kimchi/releases/download/3.0.0/kimchi-3.0.0-0.fc31.noarch.rpm
yum install -y ./kimchi-3.0.0-0.fc31.noarch.rpm
systemctl start nginx
systemctl enable nginx
systemctl start wokd
systemctl enable wokd
# 浏览器访问
https://172.17.203.92:8001/login.html
(必须加https不让无法登陆)账号和密码为主机root的密码和账号