Ubuntu 16.04.6 LTS 安装 KVM 虚拟机

Ubuntu 16.04.6 LTS 安装 KVM 虚拟机

环境描述

系统 IP 物理网卡
宿主机 Ubuntu 16.04.6 LTS 192.168.0.200 enp4s0
虚拟机 CentOS Linux release 7.9.2009 192.168.0.201

一、查看CPU是否支持虚拟化

egrep "svm|vmx" /proc/cpuinfo

二、安装kvm软件

apt-get update && apt-get install -y kvm qemu-kvm qemu virt-manager virtinst libvirt-bin python-libvirt virt-viewer virt-manager bridge-utils

三、查看系统是否支持kvm模版

lsmod | grep kvm

四、配置虚拟网桥

  • 根据实际情况进行修改
cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto br0
iface br0 inet static
address 192.168.0.200
netmask 255.255.255.0
gateway 192.168.0.1
bridge_ports enp4s0
bridge_stp on
bridge_fd 0

五、查看网络配置

# 重启网卡
systemctl restart network
# 查看网卡信息
ifconfig
br0       Link encap:Ethernet  HWaddr xx:xx:ss:ks:a1:gg
          inet addr:192.168.0.200  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: xxxx::1111f:622f:f126:a5aa/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:161697 errors:0 dropped:0 overruns:0 frame:0
          TX packets:106416 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:15306235 (15.3 MB)  TX bytes:31204946 (31.2 MB)

enp4s0    Link encap:Ethernet  HWaddr xx:xx:ss:ks:a1:gg
          inet addr:192.168.0.200  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: xxxx::1111f:622f:f126:a5aa/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:815000 errors:0 dropped:0 overruns:0 frame:0
          TX packets:217030 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:977753453 (977.7 MB)  TX bytes:39798281 (39.7 MB)
          Memory:f0200000-f027ffff

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:196730 errors:0 dropped:0 overruns:0 frame:0
          TX packets:196730 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:47435454 (47.4 MB)  TX bytes:47435454 (47.4 MB)

virbr0    Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:185 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:11789 (11.7 KB)  TX bytes:87 (87.0 B)
#查看虚拟网桥
brctl show

bridge name	bridge id		STP enabled	interfaces
br0		8000.ac1f6b46a5aa	yes		enp4s0
virbr0		8000.000000000000	yes

六、安装虚拟机

CentOS ISO下载地址:https://www.centos.org/download/
数据目录:/data/kvm/vm
ISO文件目录:/data/kvm/iso

# 虚拟磁盘格式支持qcow2格式(磁盘空间动态增长),若要使用这种格式,首先需要创建该格式磁盘
# Img名称:centos7_01.img
# 磁盘大小:100G
qemu-img create -f qcow2 /data/kvm/vm/centos7_01.img 100G
# 创建磁盘格式为qcow2的虚拟机
virt-install --name=centos7_01 --ram 8192 --vcpus=4 --disk path=/data/kvm/vm/centos7_01.img,format=qcow2,size=100,bus=virtio --accelerate --cdrom=/data/kvm/iso/CentOS-7-x86_64-DVD-2009.iso --vnc --vncport=15900 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole
选项解释:
	--name:指定虚拟机名称
	--ram:指定虚拟机内存大小
	--vcpus:指定虚拟机CPU核心数量,取决于物理机的核心数量 
	--disk:指定虚拟磁盘,默认磁盘格式是raw
		path=/data/kvm/vm/centos7_01.img:指定虚拟磁盘名称及存放路径
		size=7:指定虚拟磁盘容量,单位为G 
		bus=virtio:指定虚拟磁盘类型
	--accelerate:加速
	--cdrom:指定虚拟机镜像的位置、名称
	--network:指定网络类型
		bridge:指定桥接网卡
		model:指定网卡类型
	--vnc:启用VNC远程管理,一般安装系统都要启用。
	--vncport:指定VNC监控端口,默认端口为5900,端口不能重复(如安装第二台机器需指定不同端口)。
	--vnclisten:指定VNC绑定IP,默认绑定127.0.0.1,这里改为0.0.0.0。
# 查看正在运行的虚拟机
virsh list

 Id    Name                           State
-------------------------------------------
 1     centos7_01                     running

接下来可以用vnc软件远程宿主机进行服务器的安装操作

示例:

# 启动vnc服务,首次启动设置密码
vncserver
# 远程(windows系统需要下载VNC Viewer软件。MAC系统Screen Sharing屏幕共享)
VNC地址:192.168.0.200:15900
输入密码登录即可

// 图形页面 virt-manager

CentOS安装过程 略...

KVM 虚拟机日常操作

# kvm虚拟机默认配置文件位置:/etc/libvirt/qemu 
#	子目录networks/autostart是配置kvm虚拟机开机自动启动目录
ls  /etc/libvirt/qemu
centos7_01.xml   networks

ls /etc/libvirt/qemu/networks
autostart  default.xml

# 查看虚拟机状态 
virsh list --all 

# 启动kvm虚拟机
virsh start <kvm_name>

# 关闭kvm虚拟机
virsh shutdown <kvm_name>
# 若不能使用工具关闭linux虚拟机,需要手动在Linux虚拟机中开启电源管理服务
service acpid start 
chkconfig acpid on 

# 强制关闭电源
virsh destory <kvm_name>

# 通过配置文件启动虚拟机
virsh create /etc/libvirt/qemu/centos7_01.xml 

# 配置开机自启动虚拟机
virsh autostart <kvm_name>
cd /etc/libvirt/qemu
virsh autostart centos7_01
ls -l
lrwxrwxrwx 1 root root 31 8月  16 13:52 centos7_01.xml -> /etc/libvirt/qemu/centos7_01.xml
# 设置开机自动启动后,在/etc/libvirt/qemu目录下会生成autostart目录,在该目录中会有指向虚拟机配置文件的软链接

# 导出虚拟机配置文件 (可通过此种方式备份虚拟机配置文件)
virsh dumpxml centos7_01 > /tmp/centos7_01_xml

# 删除kvm虚拟机(注意:删除时仅删除虚拟机的配置文件,不会删除磁盘文件 )
virsh undefine centos7_01

# 重新定义虚拟机配置文件 
cd  /etc/libvirt/qemu/
mv /tmp/centos7_01_xml /etc/libvirt/qemu/centos7_01_xml.xml
virsh define /etc/libvirt/qemu/centos7_01_xml.xml 

# 编辑虚拟机配置文件
virsh edit <kvm_name>

# 挂起服务器
virsh suspend <kvm_name>

# 恢复服务器
virsh resume <kvm_name>

给虚拟机添加一块新磁盘

一、添加虚拟硬盘文件

qemu-img create -f qcow2 /data/kvm/vm/centos7_01_data2.img 100G

新磁盘存放位置: /data/kvm/vm/centos7_01_data2.img
磁盘大小:100G
-f 指定虚拟磁盘的格式

二、将新创建的虚拟磁盘添加至目标虚拟机中

virsh attach-disk centos7_01 /data/kvm/vm/centos7_01_data2.img vdb --persistent --subdriver=qcow2

虚拟机名:centos7_01
新磁盘存放位置: /data/kvm/vm/centos7_01_data2.img
虚拟机中磁盘的标识:vdb

三、检查磁盘是否添加成功

  • 在运行上面命令成功后,登录目标虚拟机(centos7_01)上运行 fdisk -l可以看到一块新增100G大小的新磁盘。

四、格式化磁盘并挂载(格式化成LVM)

新磁盘名为:/dev/vdb

创建PV:pvcreate /dev/vdb
创建VG:vgcreate data-vg /dev/vdb
创建LV:lvcreate -L 99G -n data-lv data-vg

运行fdisk -l可以查看到lv磁盘

格式化:mkfs.xfs /dev/data-vg/data-lv
查看lv的UUID:blkid /dev/mapper/data--vg-data--lv
          /dev/mapper/data--vg-data--lv: UUID="c3506f0a-af69-446e-9196-7c1ee78563ce" TYPE="xfs"


创建挂载目录:mkdir /data

添加开机自动挂载:
vim /etc/fstab
    UUID=c3506f0a-af69-446e-9196-7c1ee78563ce /data xfs	defaults	0 0

挂载:mount -a

查看:df -hT
/dev/mapper/data--vg-data--lv xfs        99G   33M   99G    1% /data
posted @ 2021-11-01 16:11  zongxiang  阅读(349)  评论(0编辑  收藏  举报