首先了解一下虚拟机构成
虚拟配置文件(*.xml)
文件默认路径 :/etc/libvirt/qemu/
用途 配置虚拟机资源参数
存储文件(*.img)
文件默认路径:/var/lib/libvirt/images
用途 仿真虚拟机磁盘,存储所有数据信息
安装虚拟化平台
安装 libvirtd(在CentOS-7-1804主机操作)
[root@bogon ~]# yum install -y qemu-kvm libvirt-daemon libvirt-daemon-driver-qemu libvirt-client
[root@bogon ~]# systemctl enable --now libvirtd
[root@bogon ~]# virsh version Compiled against library:
libvirt 3.9.0 Using library:
libvirt 3.9.0 Using API:
QEMU 3.9.0 Running hypervisor:
QEMU 1.5.3
linux克隆虚拟机
cow技术(写时复制)
--直接映射原始盘内容,当数据有写入需求时,在写入之前将数据块拷贝存入前端盘后,对前端盘经修改
--只拷贝用户需要修改的文件
1,克隆磁盘
磁盘管理
qemu-img #磁盘管理命令
qemu-img 子命令 子命令参数 块文件名称 大小 #命令格式
常用子命令
create #创建一个磁盘
convert #转换磁盘格式
info #查看磁盘信息
创建后端盘
第五阶段 --public---cirrors.qcow2传到虚拟机
通过 qemu-img 创建虚拟机磁盘 命令格式: qemu-img 子命令 子命令参数 虚拟机磁盘文件 大小
[root@bogon ~]# cp cirros.qcow2 /var/lib/libvirt/images/ #创建后端盘镜像
[root@bogon ~]# cd /var/lib/libvirt/images/
[root@bogon images]# qemu-img create -f qcow2 -b cirros.qcow2 vmhost.img 30G Formatting 'vmhost.img', fmt=qcow2 size=32212254720 backing_file='cirros.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off
[root@bogon images]# qemu-img info vmhost.img image: vmhost.img file format: qcow2 virtual size: 30G (32212254720 bytes) disk size: 196K cluster_size: 65536 backing file: cirros.qcow2 Format specific information: compat: 1.1 lazy refcounts: false
网络管理命令
virsh 提供管理各虚拟机的命令接口
支持交互、非交互模式,查看、创建、停止、关闭
格式--- virsh 控制命令 [虚拟机名称] [参数]
配置虚拟网络
创建配置文件 /etc/libvirt/qemu/networks/vbr.xml
[root@bogon ~]# vim /etc/libvirt/qemu/networks/vbr.xml
<network>
<name>vbr</name>
<forward mode='nat'/>
<bridge name='vbr' stp='on' delay='0'/>
<ip address='192.168.100.254' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.100.100' end='192.168.100.200'/>
</dhcp>
</ip>
</network>
[root@bogon ~]# cd /etc/libvirt/qemu/networks/
[root@bogon networks]# virsh net-define vbr.xml #创建虚拟网络 Network vbr defined from vbr.xml
[root@bogon networks]# virsh net-start vbr #启动 Network vbr started
[root@bogon networks]# virsh net-autostart vbr #开机自启 Network vbr marked as autostarted
[root@bogon networks]# ifconfig #查看 eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.128 netmask 255.255.255.0 broadcast 192.168.1.255 ether 00:0c:29:16:75:1f txqueuelen 1000 (Ethernet) RX packets 13693 bytes 17351436 (16.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 3078 bytes 346631 (338.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vbr: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.100.254 netmask 255.255.255.0 broadcast 192.168.100.255 ether 52:54:00:37:d6:dc txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2,克隆配置文件
将模板文件拷贝到虚拟机
配置文件:
32位操作系统内存不能超过4G
hd硬盘 boot启动盘
acpi #配置休眠
CPU 模式host-passthrough #适合和物理机一样的模式
CPU只能模拟比自己性能差的
on poweroff 关机
reboot/crash 重启
devices 模拟硬件 disk ---硬盘 (修改硬盘地址)
interface----网卡 连接主机
channel---通用
[root@bogon ~]# cp node_base.xml /etc/libvirt/qemu/vmhost.xml
[root@bogon ~]# vim /etc/libvirt/qemu/vmhost.xml
[root@bogon ~]# virsh list
Id Name State
[root@bogon ~]# virsh define /etc/libvirt/qemu/vmhost.xml #修改配置文件 Domain vmhost defined from /etc/libvirt/qemu/vmhost.xml
[root@bogon ~]# virsh start vmhost #启动虚拟机 Domain vmhost started
[root@bogon ~]# virsh console vmhost #登录 ,提示符变成$,两次回车
Connected to domain vmhost
Escape character is ^]
login as 'cirros' user. default password: 'gocubsgo'. use 'sudo' for root. cirros login: cirros Password:
$
LANG #设置语言
1、拷贝 node_base.xml 到虚拟机中
2、拷贝 node_base.xml 到 /etc/libvirt/qemu/虚拟机名字.xml
3、修改配置文件,启动运行虚拟机
[root@localhost ~]# cp node_base.xml /etc/libvirt/qemu/vmhost.xml
[root@localhost ~]# vim /etc/libvirt/qemu/vmhost.xml
2: <name>vmhost</name>
3: <memory unit='KB'>1024000</memory>
4: <currentMemory unit='KB'>1024000</currentMemory>
5: <vcpu placement='static'>2</vcpu>
26: <source file='/var/lib/libvirt/images/vmhost.img'/>
创建虚拟机