KVM虚拟机的安装,wok, kimchi kvm


# 检测是否支持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的密码和账号


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回