ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

kvm实战

2021-01-16 17:33:56  阅读:285  来源: 互联网

标签:实战 img -- kvm virsh ubuntu16 qemu net1


1. 安装环境

# yum install qemu-kvm libvirt virt-install virt-manager virt-viewer -y
# systemctl start libvirtd
# virt-host-validate

 

授予 qemu 用户访问某个目录的权限:

# setfacl -R -m u:qemu:rwx YOUR_DIRECTORY

 

 

2. VM相关操作

从 ISO 文件启动 VM

# 创建一个虚拟磁盘
# qemu-img create -f raw -o size=10G ./ubuntu16.img

# 在虚拟磁盘上安装操作系统
# virt-install --name ubuntu16-server --ram 1024 --disk path=./ubuntu16.img --vcpus 2 \
               --os-variant ubuntu16.04 --network bridge=virbr0 \
               --cdrom ./ubuntu-16.04.7-server-amd64.iso

查看 os-variant:  osinfo-query os 

 

从磁盘映像启动 VM

# virt-install --name ubuntu16 --ram 1024 --disk path=./ubuntu16.img --vcpus 2 \
               --os-variant ubuntu16.04 --network bridge=virbr0 --import

 

查看 VM

# 查看有哪些 VM 及其状态
# virsh list --all

# 查看某个 VM 的详细信息(数字表示 vm id)
# virsh dominfo 6

# 查看 VM 定义文件
# cat /etc/libvirt/qemu/ubuntu16.xml

 

启停 VM:

# 关机
# virsh shutdown 6

# 强制关机
# virsh destroy 6

# 删除:再也查看不到,但不删除磁盘映像
# virsh undefine ubuntu16-server

# 启动
# virsh start ubuntu16

# 重启
# virsh reboot ubuntu16

# 自动启动:随 hypervisor 的启动而启动
# virsh autostart ubuntu16


# 取消自动启动:随 hypervisor 的启动而启动
# virsh autostart --disable ubuntu16

 

启动 virt-manager

# virt-manager

 

通过控制台连接 VM

# 在 ubuntu16 vm 中执行
sudo systemctl enable serial-getty@ttyS0.service
sudo systemctl start serial-getty@ttyS0.service

# 在宿主机上执行
virsh console 8

ps1:需要按一次回车键才会显示登陆。

ps2:centos vm设置方法参考 https://www.cnblogs.com/heiguu/p/10121084.html

按 ctrl+] 退出控制台连接。

 

查看 vm 挂载了哪些块设备

# virsh domblklist 1

 

3. 虚拟磁盘相关操作

创建虚拟磁盘

# qemu-img create -f raw -o size=2G ./disk1.img

 

磁盘格式转换

# qemu-img convert -f raw -O qcow2 ./disk1.img ./disk1.qcow2

 

查看磁盘信息

# qemu-img info ./disk1.qcow2

 

挂载磁盘

# 1 是 vm id;vdb是磁盘在 vm 中的名称
# virsh attach-disk 1 /home/ming/kvm/disk1.img vdb --live --config

 

卸载磁盘

# virsh detach-disk 1 vdb

 

创建快照

# qemu-img snapshot -c s1 disk1.qcow2 

ps:不支持 raw 格式。

 

查看快照

# qemu-img snapshot -l disk1.qcow2

 

从快照中恢复

# qemu-img snapshot -a s1 disk1.qcow2

 

删除快照

# qemu-img snapshot -d s1 disk1.qcow2

 

4. 网络相关操作(使用 ovs)

创建网络配置文件

# cat net1.xml 
<network>
  <name>net1</name>
  <forward mode="bridge"/>
  <bridge name="br0"/>
  <virtualport type="openvswitch"/>
</network>

 

定义网络

# virsh net-define net1.xml

 

启动网络

# virsh net-start net1

 

终止网络

# virsh net-destroy net1

 

删除网络

# virsh net-undefine net1

 

查看网络

# virsh net-list --all
# virsh net-info net1

 

网络自启动

# virsh net-autostart net1

# 取消自启动
# virsh net-autostart --disable net1

 

创建 ovs 网桥,设置 vm 使用指定的网络

# ovs-vsctl add-br br0

# virt-install --name vm1 --ram 512 --disk path=./ubuntu16-1.img --vcpus 1 \
               --os-variant ubuntu16.04 --network bridge=virbr0 --import
# virt-install --name vm2 --ram 512 --disk path=./ubuntu16-2.img --vcpus 1 \
               --os-variant ubuntu16.04 --network network=net1 --import

# ovs-vsctl show
98c62161-cb7e-44e9-a94d-8bc0b01e60af
    Bridge "br0"
        Port "vnet0"
            Interface "vnet0"
        Port "vnet1"
            Interface "vnet1"
        Port "br0"
            Interface "br0"
                type: internal

配置 vm 的 IP地址

# vm1
root@ubuntu:~# ip addr add 10.0.0.3/24 dev ens3

# vm2
root@ubuntu:~# ip addr add 10.0.0.4/24 dev ens3

# vm2
root@ubuntu:~# ping 10.0.0.3
PING 10.0.0.3 (10.0.0.3) 56(84) bytes of data.
64 bytes from 10.0.0.3: icmp_seq=1 ttl=64 time=2.21 ms

 

 

参考资料

https://www.cnblogs.com/zrp2013/p/4529820.html

https://blog.csdn.net/s7799653/article/details/106024674

https://blog.csdn.net/wuliangtianzu/article/details/81870551

标签:实战,img,--,kvm,virsh,ubuntu16,qemu,net1
来源: https://www.cnblogs.com/gzming/p/14275432.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有