114.虚拟机命令、克隆虚拟机、快照、格式

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-02 ~]# df -h

文件系统 容量 已用 可用 已用% 挂载点

/dev/sda3 28G 10G 18G 36% /

devtmpfs 1.9G 0 1.9G 0% /dev

tmpfs 1.9G 0 1.9G 0% /dev/shm

tmpfs 1.9G 8.7M 1.9G 1% /run

tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup

/dev/sdb 50G 1.3G 46G 3% /kvm_data #不要忘记挂载

/dev/sda1 187M 115M 73M 62% /boot

tmpfs 379M 0 379M 0% /run/user/0

[root@axinlinux-02 ~]# ls /kvm_data/

aminglinux01.img lost+found #aminglinux01.img就是我们第一个虚拟机用到的虚拟磁盘

[root@axinlinux-02 ~]# virsh list --all #查看左右的虚拟机(包含已经关闭的虚拟机)

Id 名称 状态

----------------------------------------------------

- aminglinux01 关闭

 

[root@axinlinux-02 ~]# virsh list #查看已经开启的虚拟机。目前还没有开启的虚拟机

Id 名称 状态

----------------------------------------------------

 

[root@axinlinux-02 ~]# virsh start aminglinux01 #开启这个虚拟机

域 aminglinux01 已开始

 

[root@axinlinux-02 ~]# virsh list #再次查看虚拟机

Id 名称 状态

----------------------------------------------------

1 aminglinux01 running

 

[root@axinlinux-02 ~]# 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 qlen 1

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 qlen 1000

link/ether 52:54:00:05:d6:07 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 qlen 1

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 qlen 1000

link/ether 52:54:00:05:d6:07 brd ff:ff:ff:ff:ff:ff

inet 192.168.208.137/24 brd 192.168.208.255 scope global dynamic eth0

valid_lft 1793sec preferred_lft 1793sec

inet6 fe80::5054:ff:fe05:d607/64 scope link

valid_lft forever preferred_lft forever

[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-02 ~]# virsh shutdown aminglinux01

域 aminglinux01 被关闭

 

[root@axinlinux-02 ~]# virsh list

Id 名称 状态

----------------------------------------------------

[root@axinlinux-02 ~]# virt-clone --original aminglinux01 --name aminglinux02 --file /kvm_data/aminglinux02.img

[root@axinlinux-02 ~]# virsh start aminglinux02

[root@axinlinux-02 ~]# 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 ~]# ifconfig #后续需要的话一样要配置静态才可以

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 192.168.208.137 netmask 255.255.255.0 broadcast 192.168.208.255

inet6 fe80::5054:ff:fefb:1a3f prefixlen 64 scopeid 0x20<link>

ether 52:54:00:fb:1a:3f txqueuelen 1000 (Ethernet)

RX packets 3287 bytes 190161 (185.7 KiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 43 bytes 4536 (4.4 KiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

。。。。。。

[root@localhost ~]# ping qq.com #现在就能ping通了

[root@axinlinux-02 ~]# ssh 192.168.208.137 #正常的话,我们用ssh登录会比较方便

The authenticity of host '192.168.208.137 (192.168.208.137)' 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.208.137' (ECDSA) to the list of known hosts.

root@192.168.208.137's password:

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-02 ~]# virsh snapshot-create aminglinux01 #给当前aminglinux01做快照

已生成域快照 1546788751

[root@axinlinux-02 ~]# qemu-img info /kvm_data/aminglinux01.img #做快照是给虚拟磁盘做的,那么看快照也得是看虚拟磁盘才能看到快照的信息

image: /kvm_data/aminglinux01.img

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-02 ~]# virsh snapshot-list aminglinux01 #查看aminglinux01的快照

名称 生成时间 状态

------------------------------------------------------------

1546788751 2019-01-06 23:32:31 +0800 shutoff

[root@axinlinux-02 ~]# virsh snapshot-create aminglinux01 #我们再来创建一个快照

已生成域快照 1546789865

[root@axinlinux-02 ~]# ls /var/lib/libvirt/qemu/snapshot/aminglinux01/ #查看就有两个了

1546788751.xml 1546789865.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-02 ~]# 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-02 ~]# 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-02 kvm_data]# virsh list --all #已经关闭

Id 名称 状态

----------------------------------------------------

- aminglinux01 关闭

- aminglinux02 关闭

 

[root@axinlinux-02 kvm_data]# qemu-img convert -O raw /kvm_data/aminglinux02.img /kvm_data/aminglinux02_3.raw #将转换格式

[root@axinlinux-02 kvm_data]# ls -l #看一下

总用量 3892484

-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-02 kvm_data]# virsh edit aminglinux02

。。。。。。

<driver name='qemu' type='raw'/>

<source file='/kvm_data/aminglinux02_3.raw'/>

[root@axinlinux-02 kvm_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-02 kvm_data]# virsh start aminglinux02 #启动aminglinux02

域 aminglinux02 已开始

[root@axinlinux-02 kvm_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-02 kvm_data]# virsh snapshot-create aminglinux02 #我们给他做个快照试试,并不支持

错误:不支持的配置:存储类型 vda 不支持磁盘 raw 的内部快照

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/u/3866149/blog/3054561

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值