[kvm]-kvm入门

Posted alaska

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[kvm]-kvm入门相关的知识,希望对你有一定的参考价值。

第1章 KVM介绍

第2章 创建一个KVM虚拟机

1.VM虚拟机开启CPU虚拟化功能

设置-处理器-虚拟化

2.安装软件

yum install libvirt virt-install qemu-kvm -y

3.创建虚拟机

systemctl start libvirtd.service 
systemctl status libvirtd.service

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/centos7.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-DVD-1810.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

4.连接虚拟机

安装VNC工具连接

第3章 KVM常用管理命令

1.查看虚拟机

virsh list
virsh list --all

2.启动虚拟机

virsh start centos7

3.重启虚拟机

virsh reboot centos7

4.关闭虚拟机

virsh shutdown centos7
virsh destroy centos7

5.查看配置文件

virsh dumpxml centos7

6.导出配置文件

virsh dumpxml centos7 > centos7.xml

7.删除虚拟机

virsh destroy centos7
virsh undefine centos7

8.导入虚拟机

virsh define centos7.xml

9.虚拟机重命名

virsh domrename panghu shouhu

10.主机挂起

virsh suspend centos7

11.恢复主机

virsh resume centos7

12.kvm虚拟机开机启动

virsh autostart centos7
ll /etc/libvirt/qemu/autostart/

13.小项目:

把虚拟机磁盘迁移到/data目录并且启动

13.1.停止要迁移的虚拟机

virsh shutdown centos7

13.2.创建数据目录并移动磁盘文件

mkdir /data 
mv /opt/centos7.raw /data 

13.3.使用edit命令修改配置文件

virsh edit centos7
--------------------
 <source file='/data/centos7.raw'/>
--------------------

13.4.启动虚拟机

virsh start centos7
virsh list 

第4章 KVM连接方式

1.VNC

virsh vncdisplay centos7

2.SSH

ssh 192.168.122.77

3.console显示

登录进需要开启console的虚拟机并添加参数

ssh 192.168.122.77
grubby --update-kernel=ALL --args="console=ttyS0,115200n8"
grep "115200" /boot/grub2/grub.cfg 
reboot
virsh destroy centos7
virsh start centos7
virsh console centos7

退出

ctrl + ]

第5章 KVM磁盘管理

1.虚拟机磁盘格式介绍

raw:不支持做快照,性能好
qcow2:支持快照,性能不如raw好

2.查看磁盘信息

qemu-img info centos7.raw 

3.创建磁盘

qemu-img create -f qcow2 /data/centos7.qcow2 1G

4.查看磁盘信息

qemu-img info centos7.qcow2

5.调整磁盘容量: 只能加不能减

qemu-img resize /data/centos7.qcow2 1T

6.磁盘格式转换

6.1.将虚拟机关机

virsh destroy centos7

6.2.转换磁盘格式

qemu-img convert -f raw -O qcow2 centos7.raw centos7.qcow2  

6.3.编辑配置文件修改为qcow2格式

virsh edit centos7
------------------------------------------
      <driver name='qemu' type='qcow2'/>
      <source file='/opt/centos7.qcow2'/>
------------------------------------------

6.4.重新启动

virsh start centos7
virsh console centos7

第6章 KVM快照管理

1.查看快照

virsh snapshot-list centos7

2.创建快照

virsh snapshot-create-as centos7 snap1
virsh snapshot-list centos7

3.恢复快照

virsh snapshot-revert centos7 snap1

4.删除快照

virsh snapshot-delete centos7 snap1
virsh snapshot-list centos7

第7章 KVM克隆虚拟机

1.完整克隆

virsh shutdown centos7
virt-clone --auto-clone -o centos7 -n centos7-backup
virsh list --all
virsh dumpxml web-blog-backup |grep "qcow2"
virsh snapshot-list centos7

2.链接克隆

2.1 生成虚拟机磁盘文件

qemu-img create -f qcow2 -b centos7.qcow2 centos7-clone.qcow2 

2.2 查看磁盘信息

qemu-img info centos7-clone.qcow2 

2.3 生成虚拟机配置文件

virsh dumpxml centos7 > centos7-clone.xml
sed -i '/uuid/d' centos7-clone.xml
sed -i '/mac address/d' centos7-clone.xml
sed -i 's#centos7.qcow2#centos7-clone.qcow2#g' centos7-clone.xml
sed -i '/<nam/s#centos7#centos7-clone#g' centos7-clone.xml

2.3 导入配置文件

virsh define centos7-clone.xml 
virsh list --all 

2.4 启动虚拟机

virsh start centos7-clone

第8章 KVM桥接网络

1.创建桥接网卡

virsh iface-bridge eth0 br0

2.连接克隆新磁盘

cd /opt
qemu-img create -f qcow2 -b centos7.qcow2 bridge.qcow2

3.创建新虚拟机

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7-bridge --memory 1024 --vcpus 1 --disk /opt/bridge.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole

4.登录虚拟机查看网卡信息

virsh console centos7-bridge
ip a

5.在其他主机ping测试

ping xxxx

第9章 KVM虚拟机热添加磁盘

1.热添加硬盘

1.1 创建磁盘

qemu-img create -f qcow2 centos7-add.qcow2 10G

1.2 临时生效添加

virsh attach-disk centos7 /opt/centos7-add.qcow2 vdb --subdriver qcow2

1.3 虚拟机格式化并挂载

virsh console centos7
fdisk -l
mkfs.xfs /dev/vdb
mount  /dev/vdb  /mnt/
df -h

1.4 永久生效添加

virsh attach-disk centos7 /opt/centos7-add.qcow2 vdb --subdriver qcow2
virsh attach-disk centos7 /opt/centos7-add.qcow2 vdb --subdriver qcow2 --config

2.剥离磁盘

2.1 临时剥离

virsh detach-disk centos7 vdb

2.2 永久剥离

virsh detach-disk centos7 vdb
virsh detach-disk centos7 vdb --config

3.调整磁盘大小

3.1 调整磁盘大小

qemu-img info /opt/centos7-add.qcow2
qemu-img resize /opt/centos7-add.qcow2 +10G

3.2 添加到虚拟机并查看

virsh attach-disk centos7 /opt/centos7-add.qcow2 vdb --subdriver qcow2
virsh console centos7
fdisk -l /dev/vdb
mount /dev/vdb /mnt/
df -h|tail -1 

3.3 调整磁盘信息

xfs_growfs /dev/vdb
df -h|tail -1

第10章 KVM热添加网卡

1.临时添加

virsh attach-interface centos7 --type bridge --mac 52:54:00:b1:b5:8a --source br0 --model virtio detachinterface

2.永久生效

virsh attach-interface centos7 --type bridge --mac 52:54:00:b1:b5:8a --source br0 --model virtio detachinterface --config 

3,临时剥离

virsh detach-interface centos7 bridge

4.永久剥离

virsh detach-interface centos7 bridge
virsh detach-interface centos7 bridge --config

第11章 KVM热添加内存

1.创建虚拟机时直接添加最大内存参数

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --
memory 512,maxmemory=2048 --vcpus 1 --disk /opt/centos7.qcow2 --boot hd --network bridge=br0 --
graphics vnc,listen=0.0.0.0 --noautoconsole

2.如果创建虚拟机的时候没有设置最大内存限制,执行如下操作添加配置

virsh destroy centos7
virsh setmaxmem centos7 4096M
virsh start centos7 
virsh console centos7
free -h 

3.临时添加

virsh setmem centos7 2048M --live 
virsh console centos7
free -h 

4.永久增大内存

virsh setmem centos7 2048M --config
virsh console centos7
free -h 

第12章 KVM冷添加CPU

1.编辑配置文件

virsh edit centos7
------------------------------------------------
  <vcpu placement='static' current='2'>4</vcpu>
------------------------------------------------

2.添加cpu核数

virsh setvcpus centos7 4 --live 

3.永久添加cpu核数

setvcpus centos7 4 --config

以上是关于[kvm]-kvm入门的主要内容,如果未能解决你的问题,请参考以下文章

KVM最初的2小时——KVM从入门到放弃(修订版)

KVM入门

OpenStack入门篇之KVM虚拟机介绍和管理

OpenStack入门篇之KVM性能优化及IO缓存介绍

OpenStack入门篇之KVM介绍及安装

docker入门