Skip to content

X86盒子Linux虚拟机教程

KVM,Kernel-based Virtual Machine,基于内核的虚拟机,是一种内建于Linux的开源虚拟化技术。

我们推荐使用CentOS7为宿主机操作系统,本文档的所有操作也都是基于CentOS7。

宿主机环境准备

宿主机准备

  • 物理机上安装好CentOS7, 建议无图形外安装
  • 使用键盘、显示器或者通过ssh远程登录进系统

安装并启用虚拟化管理软件libvirt

  • 安装命令如下
shell
yum install -y qemu-kvm libvirt virt-install bridge-utils
systemctl start libvirtd
systemctl enable libvirtd
  • 检查是安装是否正常
shell
lsmod | grep kvm
systemctl status libvirtd
  • 有如下输出,表示一切正常 avatar

配置桥接网卡

说明

  • 创建一个虚拟的桥接网卡(如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=br0
NM_CONTROLLED=no
BOOTPROTO=static
TYPE=Bridge
IPADDR=192.168.1.2
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes
DNS1=114.114.114.114
DNS2=119.29.29.29
  • 如果要配置为DHCP,动态获取IP地址,配置如下
DEVICE=br0
NM_CONTROLLED=no
BOOTPROTO=dhcp
TYPE=Bridge
ONBOOT=yes
  • 推荐使用静态IP地址,以方便管理

配置物理网卡

  • 写eth0配置文件
shell
vim /etc/sysconfig/network-scripts/ifcfg-eth0
  • 配置如下
NAME='eth0'
DEVICE='eth0'
HWADDR='eth0的MAC地址'
BOOTPROTO=none
ONBOOT=yes
NM_CONTROLLED=no
BRIDGE=br0

重启网络

  • 重启网络会导致网络中断,如果是通过ssh登录,请保证以上配置文件书写正确
shell
systemctl restart network
  • 检查网卡是否正常启动
shell
ip addr show dev br0
ip addr show dev eth0
  • 如果一切正常,br0是UP状态,并配置有IP,eth0也是UP状态,但没有IP地址,输入如下
10: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 6c:92:bf:15:ca:cc brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::6e92:bfff:fe15:cacc/64 scope link 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
    link/ether 6c:92:bf:15:ca:cc brd ff:ff:ff:ff:ff:ff

创建虚拟机

下载镜像

mkdir -p /data/iso
curl -o /data/iso/SparrowOS.iso https://osfile.niulinkcloud.com/iso/SparrowOS-Lite-v1.0.8-2408232021.iso
md5sum /data/iso/SparrowOS.iso

安装虚拟机

  • 虚拟机推荐硬件配置,请参考 X86盒子上机教程
  • 当前示例:
    • 虚拟机名称: sparrowos1
    • 2G内存,4核CPU,500G存储,存储路径/data/vm
    • 使用桥接网卡br0
  • 具体命令如下
mkdir /data/vm
vmname=sparrowos1
virt-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端口号是从5900开始计算,第一台启动的虚拟机端口为5900,第二台5901,依次递增
  • 在宿主机上,可以使用如下命令获取具体的端口号, 以虚拟名sparrowos1为例
shell
n=$(sudo virsh vncdisplay sparrowos1 | grep -oE '[1-9]+') && echo $(($n + 5900))

连接到虚拟机

  • 打开VNC Viewer
  • 此处以宿主机的地址为192.168.1.2,虚拟机的端口为5900为例
  • 在地址栏内输入虚拟机的连接地址:192.168.1.2:5900 avatar
  • 输入回车,即可连接到虚拟机 avatar
  • 具体安装过程请参考 X86盒子镜像刷机教程
  • 安装完成点回车后,虚拟机会自动关机,需要我们使用命令重新启动
shell
virsh start sparrowos1
  • 我们再次通过VNC Viewer连接到控制台
  • 虚拟机完成初始化完成后会显示二维码,扫码绑定,完成安装

友情提示

上机过程如果有任何问题,请联系客服解决。

客服微信