专业的编程技术博客社区

网站首页 > 博客文章 正文

kvm 虚拟化学习&运维技巧(四)

baijin 2024-09-05 11:26:46 博客文章 9 ℃ 0 评论

kvm 虚拟化学习&运维技巧(四)

一:kvm常用操作

1:kvm克隆一个虚拟机

virt-clone -o win2003 -n xp1 -f /home/data/xp1.img

ERROR Domain with devices to clone must be paused or shutoff. ##如果要想克隆虚拟机,原虚拟机必须处于关闭状态


2:显示所有的虚拟机

virsh list ##只显示运行状态下的虚拟机

virsh list --all ##机器上有的虚拟机,无论是否在工作


3:修改kvm中虚拟机的内存大小

virsh edit vm01 ##注意vi直接编辑不生效

virsh shutdown vm01 ###修改配置文件后需要重新启动下虚拟机,先关闭它

virsh start vm01 ###启动它


4:强制关掉宿主机导致宿主机开机后不能启动vm

解决方法:

[root@nfs ~]# virsh undefine vm01

[root@nfs ~]# virsh managedsave-remove vm01

[root@nfs ~]# virsh start vm01


6:删除一个虚拟机vm01

[root@nfs qemu]# virsh undefine vm01

[root@nfs qemu]# rm -f /home/data/vm01.img


7.挂起一个虚拟机

virsh suspend web01


8.关闭虚拟机

# virsh shutdown oeltest01

强制关闭电源

# virsh destroy wintest01

控制台

# virsh console oeltest01


9.远程管理虚拟机(qemu+ssh连接)

yum install virt-viewer


10.查看虚拟机的镜像文件

virsh domblklist centos7

/vmdata/images/centos7.img


11.静态迁移虚拟机

a.导出配置文件

virsh dumpxml centos7 > centos7.xml

b.拷贝配置文件到目标机器上

scp centos7.xml root@IP:/etc/libvirt/qemu/centos7.xml

c.拷贝镜像文件

scp /vmdata/images/centos7.img root@IP:/vmdata/images/centos7.img

d.重新定义文件

virsh define /etc/libvirt/qemu/centos7.xml

f.查看虚拟机并启动虚拟机

virsh list --all

virsh start centos7

g.virt-copy-in命令

直接复制虚拟化平台上本地磁盘文件到虚拟机磁盘上,类似于cp命令。


二:kvm监控

Libvirt-python就是基于libvirt API的python语言绑定工具包,通过该包可以实现对VM日常管理和监控数据的获取

ubuntu vnet0 (6006727L, 26903L, 0L, 0L, 349413L, 3455L, 0L, 0L)

TX packets 26899 bytes 6005863 (5.7 MiB)

RX packets 3455 bytes 349413 (341.2 KiB)

Rx Packets就是接收数据包的意思。

Tx Packets就是发送数据包的意思。

Rx Bytes就是接收比特位的意思。

Tx Bytes就是发送比特位的意思。


三:kvm母机网络设置

br0

DEVICE=br0

TYPE=Bridge

IPADDR=172.16.0.41

NETMASK=255.255.255.0

ONBOOT=yes

BOOTPROTO=none

NM_CONTROLLED=no

DELAY=0


br1

DEVICE=br1

TYPE=Bridge

IPADDR=10.0.0.41

NETMASK=255.255.255.0

GATEWAY=10.0.0.200

ONBOOT=yes

BOOTPROTO=none

NM_CONTROLLED=no

DELAY=0


ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

BOOTPROTO=none

ONBOOT=yes

NM_CONTROLLED=no

BRIDGE=br0


ifcfg-eth1

DEVICE=eth1

TYPE=Ethernet

BOOTPROTO=none

ONBOOT=yes

NM_CONTROLLED=no

BRIDGE=br1


ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

BOOTPROTO=none

ONBOOT=yes

NM_CONTROLLED=no

BRIDGE=br0


ifcfg-br0

DEVICE=br0

TYPE=Bridge

IPADDR=192.168.0.16

NETMASK=255.255.255.0

GATEWAY=192.168.0.1

ONBOOT=yes

BOOTPROTO=none

NM_CONTROLLED=no

DELAY=0


四:命令行制作模板

cd /data/centos7

qemu-img create -f raw c7.img 6G


分配固定VNC端口

virt-install --name c7 --os-variant=rhel7 --vcpus=1 --ram 1024 --network bridge=br0 --disk path=/data/centos7/c7.img,size=6 --cdrom /data/CentOS-7-x86_64-DVD-1511.iso.iso --vnc --vnclisten=192.168.64.129 --vncport=7903


virt-install --name centos7_min --os-variant=rhel7 --vcpus=1 --ram 1024 --network bridge=br0 --disk path=/data/centos7/centos7_min.img,size=5 --cdrom /data/iso/CentOS-7-x86_64-DVD-2207-02.iso --vnc --vnclisten=192.168.10.18 --vncport=7903


进入目录:

cd /data/centos7

qemu-img create -f raw c7.img 6G


不固定VNC端口

virt-install --name c7 --os-variant=rhel7 --vcpus=1 --ram 512 --network bridge=br0 --disk path=/data/centos7/c7.img,size=6 --cdrom /data/CentOS-7-x86_64-DVD-1511.iso.iso --vnc --vnclisten=0.0.0.0

通过访问连接

vncviewer `virsh vncdisplay id`



Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表