KVM的安装

KVM的安装

首先我们要在调整好的虚拟机中检查一下CPU参数

free -a  //启动虚拟机查看内存是否更改
grep -Ei 'vmx|svm' /proc/cpuinfo
//检查CPU是否开启虚拟化支持

挂载新磁盘

lsblk //检查虚拟机是否新增一块50 GB的磁盘
mkfs.ext4 /dev/sdb //格式化这块磁盘
mkdir /kvm_data //创建挂载目录
mount /dev/sdb /kvm_data/  //挂载

这种方式挂载,重启虚拟机后,需要再次重新挂载,我们为了方便开机后可以自动挂载,编写/etc/fstab文件,添加文件最末一行

vi /etc/fstab //编写/etc/fstab文件
  cat /etc/fstab //查看

关闭防火墙和selinux

 systemctl stop firewalld
 systemctl disable firewalld

关闭SELinux,编辑/etc/selinux/config,将enforcing修改为disabled

vi /etc/selinux/config
cat /etc/selinux/config
getenforce //使用getenforce查看是否成功

安装KVM

yum install -y  virt-*  libvirt  bridge-utils qemu-img

启动KVM
配置网卡,增加桥接网卡ifcfg-br0

 cd /etc/sysconfig/network-scripts/
 cp ifcfg-ens33 ifcfg-br0

修改桥接网卡ifcfg-br0的内容

 vi ifcfg-br0
 cat ifcfg-br0

修改NAT网卡ifcfg-ens33

 vi ifcfg-ens33
 cat ifcfg-ens33

修改完成网卡内容后,重新启动网卡服务并查看网卡信息

service network restart

启动libvirtd服务
检查KVM模块是否加载

 lsmod|grep kvm

启动libvirtd并检查是否成功启动

systemctl start libvirtd
ps -ef |grep libvirt

使用brctl命令可以看到两个网卡

brctl show

命令行安装CentOS 7
在上传后的前提下,查看/tmp目录下是否存在CentOS 7镜像文件

ll /tmp/

使用virt-install进行CentOS 7的安装

 virt-install --name=test --memory=512,maxmemory=1024
--vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7
--location=/tmp/CentOS-7-x86_64-DVD-2009.iso
--disk path=/kvm_data/test.img,size=10 
--bridge=br0
--graphics=none
--console=pty,target_type=serial 
--extra-args="console=tty0 console=ttyS0"

接下来我们开始配置“Timezone settings”,输入“2”,按Enter键,设置时间,地区,城市,等。

  • “Timezone settings”时区设置选择 5) Asia亚洲,再选择城市 62) Shanghai上海
  • 配置“Software selection”,选择“4”,在选择“c”,因为默认就是minimalinstall,按Enter键
  • 配置“Installation Destination”,选择“5”,其余的依次选择“c”,按Enter键
  • 配置“Root password”,选择8,按Enter键
  • 依次输入两次密码,密码相同,我设置的为123456
  • 配置完成,选择“b”,按Enter键后,开始安装

虚拟机管理

通过宿主机virsh命令进行管理刚才安装的CentOS 7虚拟机
查看虚拟机列表

 virsh list //只能看到正在运行的虚拟机
  virsh list --all //包括未运行的虚拟机

进入指定的虚拟

 virsh console test

若发生以下报错信息

error: operation failed: Active console session exists for this domain

解决方式

ps -ef |grep console
 kill -9 11167

vrish常用命令

virsh shutdown test   //关闭虚拟机
virsh start test   //开启虚拟机
virsh destroy test  //类似stop,这个是强制停止
virsh undefine test //彻底销毁虚拟机,会删除虚拟机配置文件,virsh list --all就看不到
virsh autostart test  //宿主机开机该虚拟机也开机
virsh autostart --disable test  //解除开机启动
virsh suspend test  //挂起
virsh resume test  //恢复

克隆虚拟机
克隆虚拟机之前,要先关闭虚拟机,不然会提示这种错误

ERROR    Domain with devices to clone must be paused or shutoff.

关闭虚拟机后,再次进行克隆

virsh shutdown test
virt-clone  --original test --name test02 --file /kvm_data/test02.img

命令解释

  1. –original:指定克隆源虚拟机
  2. –name:指定克隆后的虚拟机名字
  3. –file:指定目标虚拟机的虚拟磁盘文件
    查看虚拟机配置文件/etc/libvirt/qemu/,看是否增加test02.xml文件
 ls /etc/libvirt/qemu/

首先查看虚拟机列表,然后启动克隆的虚拟机test02

 virsh list --all
 virsh start test02

快照管理
在KVM中RAW格式的虚拟磁盘不支持做快照,qcow2支持
创建快照

 virsh snapshot-create test

查看test.img信息,同时会查看到快照列表

qemu-img info /kvm_data/test.img

列出所有快照

virsh snapshot-list test

查看当前快照详细信息

virsh snapshot-current test

查看所有快照配置文件

ls /var/lib/libvirt/qemu/snapshot/test/

恢复指定快照

virsh snapshot-revert test 1

删除指定快照

virsh snapshot-delete test 1

磁盘格式
查看虚拟磁盘格式

 qemu-img info /kvm_data/test.img

创建2 GB的RAW格式磁盘

qemu-img create -f raw /kvm_data/test_1.img 2G

RAW格式的磁盘转换为qcow2格式

qemu-img convert -O qcow2 /kvm_data/test_1.img 
/kvm_data/test_1.qcow2

查看test1.img大小

ls -lh /kvm_data/test_1.img
ls -lh /kvm_data/test_1.qcow2

将test02转成raw格式

qemu-img convert -O raw /kvm_data/test02.img /kvm_data/test02_2.img

更改磁盘格式和文件路径,然后启动test02虚拟机

 virsh edit test02
 //修改后内容
 <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/kvm_data/test02_2.img'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>

查看磁盘所属用户和组

ls -l /kvm_data/

启动虚拟机test02,然后再次查看磁盘所属用户和组

virsh start test02
ls -l /kvm_data/

磁盘扩容

 扩容RAW格式
  qemu-img resize /kvm_data/test02_2.img +2G
  查看test02_2.raw信息
  qemu-img info /kvm_data/test02_2.img
  进入虚拟机test02,使用fdisk -l查看磁盘
  virsh console test02
   fdisk -l

退出终端,关闭test02虚拟机,重新启动,然后再次进入虚拟机test02,使用fdisk -l查看磁盘

 virsh destroy test02
 virsh start test02
 virsh console test02
 fdisk -l
 //可以看到已经变成12 GB了

分区

fdisk /dev/vda
//n新建分区
//p//查看分区列表
//w保存退出并退出终端

除了对已有磁盘扩容外,还可以额外增加磁盘

 qemu-img create -f raw /kvm_data/test02_3.raw 5G

使用virsh edit编辑test02虚拟机,将新磁盘增加到test02虚拟机

virsh edit test02
//添加以下内容
 <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/kvm_data/test02_3.raw'/>
      <target dev='vdb' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' 
function='0x0'/>
</disk>

关闭test02虚拟机,重新启动,然后进入该虚拟机,使用fdisk -l查看磁盘

virsh destroy test02
virsh start test02
virsh console test02
fdisk -l
//可以看到多了一块5 GB的磁盘,退出终端

扩容qcow2格式的磁盘

qemu-img resize /kvm_data/test.img +2G
//若提示qemu-img: Can't resize an image which has snapshots,需要删除快照

查看test.img信息

qemu-img info /kvm_data/test.img

关闭test虚拟机,重新启动,然后再次进入虚拟机test02,使用fdisk -l查看磁盘

virsh destroy test
virsh start test
virsh console test
fdisk -l

分区新增加的2 GB磁盘

fdisk /dev/vda

新增一块qcow2格式的磁盘

qemu-img create -f qcow2 /kvm_data/test_2.img 5G

使用virsh edit编辑test虚拟机,将新磁盘增加到test虚拟机

virsh edit test
//添加以下内容

关闭test虚拟机,重新启动,然后进入该虚拟机,使用fdisk -l查看磁盘

virsh destroy test
virsh start test
virsh console test
fdisk -l

调整CPU内存、网卡
查看虚拟机配置信息

 virsh dominfo test

编辑虚拟机内存

virsh edit test
//编译后的内容
<memory unit='KiB'>1048576</memory>  
  <currentMemory unit='KiB'>624288</currentMemory>
  <vcpu placement='static' current='1'>2</vcpu>

关闭虚拟机,重启动虚拟机

virsh destroy test
virsh start test
查看虚拟机配置信息,看是否修改成功
virsh dominfo test
//除了这种修改方式之外,还有一种动态修改,
virsh setmem test 800m//动态修改内存
virsh setvcpus test 2//动态修改cpu,只可以增加不可以减少
查看配置信息,看是否修改成功
virsh dominfo test
virsh dumpxml test > /etc/libvirt/qemu/test.xml
//需要把配置写入到配置文件里

查看网卡列表

 virsh domiflist test

增加一块新的网卡,并设置为NAT网络模式(virbr0类似VMware的VMnet8),这里如果写–source br0,则网络模式为桥接

virsh attach-interface test --type bridge  --source virbr0

把配置文件做备份

 virsh dumpxml test > /etc/libvirt/qemu/test.xml

进入test虚拟机,查看网卡信息

 virsh console test
 ifconfig

迁移虚拟机

首先关闭虚拟机

virsh shutdown test
virsh domblklist test
//查看虚拟机磁盘所在目录
virsh dumpxml test > /etc/libvirt/qemu/test03.xml 
//如果是远程机器,需要把该配置文件拷贝到远程机器上
rsync -av /kvm_data/test.img  /kvm_data/test03.img
//如果是迁移到远程,则需要把该磁盘文件拷贝到远程机器上

因为是迁移到本机,配置文件用的是test子机的配置,不改会有冲突,所以需要修改该文件。如果是远程机器不用修改

vi /etc/libvirt/qemu/test03.xml 
 <name>test03</name>
//修改domname: 
//修改uuid(随便改一下数字,位数不要变)
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/kvm_data/test03.img'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </disk>
//修改磁盘路径

定义新虚拟机

 virsh define /etc/libvirt/qemu/test03.xml 
 virsh list --all
 //查看虚拟机列表,会发现新迁移的虚拟机test03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值