共计 2954 个字符,预计需要花费 8 分钟才能阅读完成。

KVM,Kernel-based Virtual Machine,基于内核的虚拟机,是一种内建于 Linux 的开源虚拟化技术。
我们推荐使用 CentOS7 为宿主机操作系统,本文档的所有操作也都是基于 CentOS7。
宿主机环境准备
宿主机准备
-
物理机上安装好 CentOS7, 建议无图形外安装 -
使用键盘、显示器或者通过 ssh 远程登录进系统
安装并启用虚拟化管理软件 libvirt
-
安装命令如下
shell
yuminstall-yqemu-kvmlibvirtvirt-installbridge-utilssystemctlstartlibvirtdsystemctlenablelibvirtd
-
检查是安装是否正常
shell
lsmod|grepkvmsystemctlstatuslibvirtd
-
有如下输出,表示一切正常
配置桥接网卡
说明
-
创建一个虚拟的桥接网卡(如 br0),把物理网卡(如 eth0)绑定到 br0,以达到宿主机和虚拟机使用同一个物理网络的目的 -
后续都用 br0 表示桥接网卡,eth0 表示物理网卡 -
如果 eth0 上联的路由器网段为 192.168.1.0/24,那么,我们就可以让宿主机的 br0 和虚拟机上的网卡都获取到 192.168.1.0/24 段的 IP 地址
创建桥接网卡
-
写 br0 配置文件
shell
vim/etc/sysconfig/network-scripts/ifcfg-br0
-
以配置为静态 IP 192.168.1.2 为例,配置如下
DEVICE=br0NM_CONTROLLED=noBOOTPROTO=staticTYPE=BridgeIPADDR=192.168.1.2NETMASK=255.255.255.0GATEWAY=192.168.1.1ONBOOT=yesDNS1=114.114.114.114DNS2=119.29.29.29
-
如果要配置为 DHCP,动态获取 IP 地址,配置如下
DEVICE=br0NM_CONTROLLED=noBOOTPROTO=dhcpTYPE=BridgeONBOOT=yes
-
推荐使用静态 IP 地址,以方便管理
配置物理网卡
-
写 eth0 配置文件
shell
vim/etc/sysconfig/network-scripts/ifcfg-eth0
-
配置如下
NAME='eth0'DEVICE='eth0'HWADDR='eth0 的 MAC 地址'BOOTPROTO=noneONBOOT=yesNM_CONTROLLED=noBRIDGE=br0
重启网络
-
重启网络会导致网络中断,如果是通过 ssh 登录,请保证以上配置文件书写正确
shell
systemctlrestartnetwork
-
检查网卡是否正常启动
shell
ipaddrshowdevbr0ipaddrshowdeveth0
-
如果一切正常,br0 是 UP 状态,并配置有 IP,eth0 也是 UP 状态,但没有 IP 地址,输入如下
10: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000link/ether 6c:92:bf:15:ca:cc brd ff:ff:ff:ff:ff:ffinet 192.168.1.2/24 brd 192.168.1.255 scope global br0valid_lft forever preferred_lft foreverinet6 fe80::6e92:bfff:fe15:cacc/64 scope linkvalid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000link/ether 6c:92:bf:15:ca:cc brd ff:ff:ff:ff:ff:ff
创建虚拟机
下载镜像
-
最新的下载地址参考 X86 盒子镜像刷机教程 -
此处以下载到 /data/iso 目录为例
mkdir -p /data/isocurl -o /data/iso/SparrowOS.iso https://osfile.niulinkcloud.com/iso/SparrowOS-Lite-v1.0.8-2408232021.isomd5sum /data/iso/SparrowOS.iso
安装虚拟机
-
虚拟机推荐硬件配置,请参考 X86 盒子上机教程 -
当前示例: -
虚拟机名称: sparrowos1 -
2G 内存,4 核 CPU,500G 存储,存储路径 /data/vm -
使用桥接网卡 br0
-
-
具体命令如下
mkdir /data/vmvmname=sparrowos1virt-install --name $vmname --ram 2048 --vcpus 4 --disk /data/vm/${vmname}.qcow2,format=qcow2,size=500 --network bridge=br0,model=virtio --graphics vnc,listen=0.0.0.0 --noautoconsole --os-variant=centos7.0 --cdrom=/data/iso/SparrowOS.iso
-
输入完成后,虚拟机即启动并开始安装操作系统 -
如果要开多个虚拟机,指定不同的虚拟机名称创建即可 -
可以用以下命令查看所有正在运行的虚拟机
virsh list
VNC 连接虚拟机
使用 VNC 客户端程序可以连接到虚拟机的控制台,效果就像给虚拟机接了一台显示器
下载并安装 VNC Viewer
-
需要在您自己的电脑上安装 VNC 客户端软件 -
此类软件很多,如果您没有自己习惯的软件,推荐 VNC Viewer -
MAC 版下载地址:https://download.niulinkcloud.com/czl/VNC-Viewer-7.10.0-MacOSX-universal.dmg -
Windows 版下载地址:https://download.niulinkcloud.com/czl/VNC-Viewer-7.10.0-Windows.exe -
安装过程都是一键安装,此处不再赘述
获取虚拟机的 VNC 端口
-
虚拟机的 VNC 端口号是从 5900 开始计算,第一台启动的虚拟机端口为 5900,第二台 5901,依次递增 -
在宿主机上,可以使用如下命令获取具体的端口号, 以虚拟名 sparrowos1 为例
shell
n=$(sudovirshvncdisplaysparrowos1|grep-oE'[1-9]+') &&echo$(($n + 5900))
连接到虚拟机
-
打开 VNC Viewer -
此处以宿主机的地址为 192.168.1.2,虚拟机的端口为 5900 为例 -
在地址栏内输入虚拟机的连接地址:192.168.1.2:5900 -
输入回车,即可连接到虚拟机 -
具体安装过程请参考 X86 盒子镜像刷机教程 -
安装完成点回车后,虚拟机会自动关机,需要我们使用命令重新启动
shell
virshstartsparrowos1
-
我们再次通过 VNC Viewer 连接到控制台 -
虚拟机完成初始化完成后会显示二维码,扫码绑定,完成安装
友情提示
正文完