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