28.8 虚拟机管理linux
28.9 克隆虚拟机vim
28.10 快照管理windows
28.11 磁盘格式bash
28.8 虚拟机管理网络
安装完虚拟机须要重启,要退出虚拟机使用快捷键ctrl ]ssh
ps aux |grep kvm //查看kvm进程oop
virsh list //查看虚拟机列表,只能看到运行的虚拟机性能
virsh list --all //查看虚拟机列表,包括未运行的虚拟机code
virsh console aminglinux01//进入指定虚拟机orm
virsh shutdown aminglinux01 //关闭虚拟机 (正常关机)
virsh start aminglinux01 //开启虚拟机
virsh destroy aminglinux01//相似stop,这个是强制中止 (关闭电源)
virsh undefine aminglinux01//完全销毁虚拟机,会删除虚拟机配置文件(cat /etc/lilbvirt/qemu/aminglinux01.xml),virsh list --all就看不到了 #虚拟磁盘文件(aminginux.img)是没有删掉的,只有删除这个核心文件才会完全删除虚拟机
ls /etc/libvirt/qemu/ //能够查看虚拟机配置文件
virsh autostart aminglinux01//宿主机开机该虚拟机也开机
virsh autostart --disable aminglinux01//解除开机启动
virsh suspend aminglinux01//挂起 #相似windows的睡眠
virsh resume aminglinux01//恢复
实例:
[root@axinlinux-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点 /dev/sda3 76G 12G 65G 15% / devtmpfs 896M 0 896M 0% /dev tmpfs 911M 0 911M 0% /dev/shm tmpfs 911M 10M 901M 2% /run tmpfs 911M 0 911M 0% /sys/fs/cgroup /dev/sdb 50G 54M 47G 1% /kvm_data /dev/sda1 197M 123M 75M 63% /boot tmpfs 183M 0 183M 0% /run/user/0
[root@axinlinux-01 ~]# ls /kvm_data/
aminglinux01.img lost+found
aminglinux01.img lost+found #aminglinux01.img就是咱们第一个虚拟机用到的虚拟磁盘
[root@axinlinux-01 ~]# virsh list --all #查看全部的虚拟机(包含已经关闭的虚拟机)
Id 名称 状态 ---------------------------------------------------- - aminglinux01 关闭
[root@axinlinux-01 ~]# virsh list #查看已经开启的虚拟机。目前尚未开启的虚拟机
Id 名称 状态 ----------------------------------------------------
[root@axinlinux-01 ~]# virsh start aminglinux01 #开启这个虚拟机
域 aminglinux01 已开始
[root@axinlinux-01 ~]# virsh list #再次查看虚拟机
Id 名称 状态 ---------------------------------------------------- 1 aminglinux01 running
[root@axinlinux-01 ~]# virsh console aminglinux01 #进入虚拟机
链接到域 aminglinux01
换码符为 ^]
#此时须要按回车
CentOS Linux 7 (Core)
Kernel 3.10.0-693.el7.x86_64 on an x86_64
localhost login: root #输入用户名和密码
密码:
[root@localhost ~]# ifconfig
-bash: ifconfig: 未找到命令
[root@localhost ~]# ip addr #此时尚未网络
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:b1:0e:fb brd ff:ff:ff:ff:ff:ff
[root@localhost ~]# dhclient eth0 #由于以前咱们已经配置了桥接。此时直接让eth0自动获取一个ip便可
[root@localhost ~]# ip addr #此时eth0就有ip了。由于这个是自动获取的,若是想让他开启固定,还要给他设置成静态的
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:b1:0e:fb brd ff:ff:ff:ff:ff:ff inet 192.168.193.161/24 brd 192.168.193.255 scope global dynamic eth0 valid_lft 1760sec preferred_lft 1760sec
[root@localhost ~]# ping www.qq.com #也能联网了
PING https.qq.com (125.39.52.26) 56(84) bytes of data.
64 bytes from no-data (125.39.52.26): icmp_seq=1 ttl=128 time=13.6 ms
64 bytes from no-data (125.39.52.26): icmp_seq=2 ttl=128 time=12.3 ms
64 bytes from no-data (125.39.52.26): icmp_seq=3 ttl=128 time=12.2 ms
--- https.qq.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 12.284/12.747/13.605/0.620 ms
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28.9 克隆虚拟机
virsh shutdown aminglinux01
virt-clone --original aminglinux01 --name aminglinux02 --file /kvm_data/aminglinux02.img
--original指定克隆源虚拟机
--name指定克隆后的虚拟机名字
--file指定目标虚拟机的虚拟磁盘文件 (也就是他的虚拟磁盘所在路径)
若是aminglinux01虚拟机开机状态,则提示先关闭或者暂停虚拟机
实例:
[root@axinlinux-01 ~]# virsh shutdown aminglinux01
域 aminglinux01 被关闭
[root@axinlinux-01 ~]# virsh list
Id 名称 状态
----------------------------------------------------
[root@axinlinux-01 ~]# virt-clone --original aminglinux01 --name aminglinux02 --file /kvm_data/aminglinux02.img
[root@axinlinux-01 ~]# virsh start aminglinux02
[root@axinlinux-01 ~]# virsh console aminglinux02
localhost login: #这部以前需按空格
CentOS Linux 7 (Core)
Kernel 3.10.0-693.el7.x86_64 on an x86_64
localhost login: root #输入用户和密码
密码:
Last login: Sun Jan 6 22:36:45 on ttyS0
[root@localhost ~]# ifconfig #由于是克隆的因此有ifconfig这个命令
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 #如今eth0是没IP的
ether 52:54:00:fb:1a:3f txqueuelen 1000 (Ethernet)
RX packets 3004 bytes 172110 (168.0 KiB)
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
。。。。。。
[root@localhost ~]# dhclient eth0 #给他自动获取一个IP
[root@localhost ~]# ip addr #后续须要的话同样要配置静态才能够
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:41:34:53 brd ff:ff:ff:ff:ff:ff inet 192.168.193.162/24 brd 192.168.193.255 scope global dynamic eth0 valid_lft 1760sec preferred_lft 1760sec
[root@localhost ~]# ping qq.com #如今就能ping通了
[root@axinlinux-02 ~]# ssh 192.168.193.162 #正常的话,咱们用ssh登陆会比较方便
The authenticity of host '192.168.193.162 ('192.168.193.162)' can't be established.
ECDSA key fingerprint is SHA256:PG5J/l0wETFsupYBYFDoMV8C90HXK7imp5AwnZyl2rQ.
ECDSA key fingerprint is MD5:60:42:de:63:96:ed:42:8c:30:41:63:95:db:a2:fa:03.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.193.162(ECDSA) to the list of known hosts.
Last login: Sun Jan 6 23:56:32 2019
[root@localhost ~]#
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28.10 快照管理
建立快照 virsh snapshot-create aminglinux01 #在宿主机上操做
raw格式的虚拟磁盘不支持作快照,qcow2支持
qemu-img info /kvm_data/aminglinux01.img //查看aminglinux01.img信息,同时会查看到快照列表
virsh snapshot-list aminglinux01 //列出全部快照
virsh snapshot-current aminglinux01//查看当前快照版本 #当前aminglinux01所处在一个状态,就是你如今所处在的快照是哪个
ls /var/lib/libvirt/qemu/snapshot/aminglinux01//查看全部快照配置文件
virsh snapshot-revert aminglinux01 1513440854//恢复指定快照 #后面首先跟虚拟机的名字而后是ID
virsh snapshot-delete aminglinux01 1513440854//删除快照
实例:
[root@axinlinux-01 ~]# virsh snapshot-create aminglinux01 #给当前aminglinux01作快照
已生成域快照 1561629728
[root@axinlinux-01 ~]# qemu-img info /kvm_data/aminglinux01.img #作快照是给虚拟磁盘作的,那么看快照也得是看虚拟磁盘才能看到快照的信息
image: /kvm_data/aminglinux01.img file format: qcow2 virtual size: 10G (10737418240 bytes) disk size: 2.9G cluster_size: 65536 Snapshot list: ID TAG VM SIZE DATE VM CLOCK 1 1561629728 0 2019-06-27 18:02:09 00:00:00.000 Format specific information: compat: 1.1 lazy refcounts: true
file format: qcow2 #是一种虚拟磁盘的格式,除了这个还有一种是raw(不支持快照),后面会介绍
virtual size: 10G (10737418240 bytes) #实际大小
disk size: 1.2G #实际占用磁盘大小。后面会有跟raw格式的对比
cluster_size: 65536
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 1546788751 0 2019-01-06 23:32:35 00:00:00.000 #这是上面作的快照信息
Format specific information:
compat: 1.1
lazy refcounts: true
[root@axinlinux-01 ~]# virsh snapshot-list aminglinux01 #查看aminglinux01的快照
名称 生成时间 状态 ------------------------------------------------------------ 1561629728 2019-06-27 18:02:08 +0800 shutoff
[root@axinlinux-01 ~]# virsh snapshot-create aminglinux01 #咱们再来建立一个快照
已生成域快照 1561630057
[root@axinlinux-01~]# ls /var/lib/libvirt/qemu/snapshot/aminglinux01/ #查看就有两个了
1561629728.xml 1561630057.xml
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28.11 磁盘格式
虚拟磁盘经常使用格式raw、qcow2
1.qemu-img info /kvm_data/aminglinux01.img//查看虚拟磁盘格式
2.qemu-img create -f raw /kvm_data/aminglinux01_2.img 2G//建立2G的raw格式磁盘
#-f指定他的格式
3.把raw格式的磁盘转换为qcow2格式
qemu-img convert -O qcow2 /kvm_data/aminglinux01_2.img /kvm_data/aminglinux01_2.qcow2
#-O指定他的目标格式。左边是源文件,右边是目标文件
4.转换后用ls -lh查看磁盘文件的大小,能够看到qcow2文件比较小,raw文件大小和咱们指定空间大小同样是2G
#也就是说,raw你给他定义多大他就是多大,qcow2你用多少他就是多大
5.raw格式的磁盘性能比qcow2要好,可是raw格式的磁盘没法作快照
6.小例子:
给aminglinux02转换为raw格式的磁盘
6.1virsh shutdown aminglinux02
6.2qemu-img convert -O raw /kvm_data/aminglinux02.img /kvm_data/aminglinux02_3.raw
6.3virsh edit aminglinux02//更改格式和文件路径
#这条命令是编辑02的配置文件,完成后能够自我检测(相似于visudo)。也能够vim /etc/libvirt/qemu/aminglinux02.xml,可是官方建议使用命令
6.4virsh start aminglinux02
实例:
[root@axinlinux-01~]# qemu-img create -f raw /kvm_data/aminglinux01_2.img 2G #-f指定他的格式为raw
Formatting '/kvm_data/aminglinux01_2.img', fmt=raw size=2147483648
[root@axinlinux-01~]# qemu-img info /kvm_data/aminglinux01_2.img #查看一下他的格式
image: /kvm_data/aminglinux01_2.img file format: raw virtual size: 2.0G (2147483648 bytes) disk size: 0
[root@axinlinux-01kvm_data]# virsh list --all #已经关闭
Id 名称 状态 ---------------------------------------------------- - aminglinux01 关闭 - aminglinux02 关闭
[root@axinlinux-01kvm_data]# qemu-img convert -O raw /kvm_data/aminglinux02.img /kvm_data/aminglinux02_3.raw #将转换格式
[root@axinlinux-01kvm_data]# ls -l #看一下
总用量 8705680 -rw-r--r-- 1 root root 2147483648 6月 27 18:15 aminglinux01_2.img -rw------- 1 root root 10739515904 6月 27 18:07 aminglinux01.img -rw-r--r-- 1 root root 10737418240 6月 27 18:26 aminglinux02_3.raw -rw------- 1 root root 3052142592 6月 27 18:12 aminglinux02.img drwx------ 2 root root 16384 6月 27 14:12 lost+found
[root@axinlinux-02 kvm_data]# virsh edit aminglinux02
。。。。。。
<driver name='qemu' type='raw'/>
<source file='/kvm_data/aminglinux02_3.raw'/>
[root@axinlinux-01kvm_data]# ls -l #如今看属主属组都是root,一旦启动属主属组都是qemu
总用量 3892484
-rw-r--r-- 1 root root 2147483648 1月 7 21:02 aminglinux01_2.img
-rw-r--r-- 1 root root 197120 1月 7 21:10 aminglinux01_2.qcow2
-rw------- 1 root root 10739515904 1月 6 23:51 aminglinux01.img
-rw-r--r-- 1 root root 10737418240 1月 7 21:23 aminglinux02_3.raw
-rw------- 1 root root 1442054144 1月 7 00:04 aminglinux02.img
drwx------ 2 root root 16384 1月 5 00:00 lost+found
[root@axinlinux-01kvm_data]# virsh start aminglinux02 #启动aminglinux02
域 aminglinux02 已开始
[root@axinlinux-01kvm_data]# ls -l
总用量 3892484
-rw-r--r-- 1 root root 2147483648 1月 7 21:02 aminglinux01_2.img
-rw-r--r-- 1 root root 197120 1月 7 21:10 aminglinux01_2.qcow2
-rw------- 1 root root 10739515904 1月 6 23:51 aminglinux01.img
-rw-r--r-- 1 qemu qemu 10737418240 1月 7 21:23 aminglinux02_3.raw #这个已是qemu了,证实他使用的是这块磁盘,也就是说转换格式完成
-rw------- 1 root root 1442054144 1月 7 00:04 aminglinux02.img
drwx------ 2 root root 16384 1月 5 00:00 lost+found
[root@axinlinux-01kvm_data]# virsh snapshot-create aminglinux02 #咱们给他作个快照试试,并不支持
错误:不支持的配置:存储类型 vda 不支持磁盘 raw 的内部快照