28.8 虚拟机管理 28.9 克隆虚拟机 28.10 快照管理 28.11 磁盘格式

28.8 虚拟机管理

28.9 克隆虚拟机

28.10 快照管理

28.11 磁盘格式

 

 

28.8 虚拟机管理

 

 

 

安装完虚拟机需要重启,要退出虚拟机使用快捷键ctrl ]

ps aux |grep kvm //查看kvm进程

virsh list //查看虚拟机列表,只能看到运行的虚拟机

virsh list --all //查看虚拟机列表,包括未运行的虚拟机

virsh console aminglinux01//进入指定虚拟机

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.

root@192.168.193.162password:

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 的内部快照

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/u/3866192/blog/3066967

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值