-
1.查看虛擬機,啟動虛擬機
[root@linux-node1 ~]# virsh list --all Id Name State ---------------------------------------------------- - CentOS-7-x86_64 shut off [root@linux-node1 ~]# virsh start CentOS-7-x86_64
通過TightVNC連接,修改網絡vi /etc/sysconfig/network-scripts/ifcfg-eth0
tips:
KVM虛擬機在宿主機上的體現是一個進程,可以通過ps axu |grep kvm進行查看。對KVM的管理,就是在宿主機上對KVM的進程進行管理。
-
2.libvirt介紹
libvirt組成部分:libvirt daemon后台進程,libvirt API庫,User-space management tools
tips:
(1)如果libvirtd服務停用了,會影響命令行管理虛擬機,但不會影響虛擬機本身的運行。
(2)kvm是為openstack進行創建虛擬機,如果openstack服務停用,可以使用libvirtd服務命令行進行管理。
-
3.KVM常用管理:CPU,內存,網絡
(1)libvirt通過對xml文件進行管理
[root@linux-node1 ~]# cd /etc/libvirt/qemu [root@linux-node1 qemu]# ls -l total 8 -rw-------. 1 root root 3855 Nov 27 10:00 CentOS-7-x86_64.xml drwx------. 3 root root 4096 Nov 27 09:33 networks
(2)CentOS-7-x86_64.xml是自動生成的,無法進行修改。如果需要修改,需要通過virsh edit進行編輯。但是在openstack上是無法進行修改的。
[root@linux-node1 qemu]# virsh edit CentOS-7-x86_64
(3)KVM修改熱添加:virsh edit CentOS-7-x86_64,熱添加會影響系統的性能,不適合在生產環境使用
tips:KVM支持熱添加,公有雲是不支持熱添加的。需要宿主機和虛擬機的系統保持一致性。
①cpu的熱添加,將cpu核數改為2,openstack不支持
修改為:
[root@linux-node1 qemu]# virsh setvcpus CentOS-7-x86_64 2 --live
②內存熱添加
a.查看KVM內存:
[root@linux-node1 ~]# virsh qemu-monitor-command CentOS-7-x86_64 --hmp --cmd info balloon balloon: actual=1024
b.修改,將內存調成512M:
[root@linux-node1 ~]# virsh qemu-monitor-command CentOS-7-x86_64 --hmp --cmd balloon 512
c.增加內存:修改xml文件,修改完xml文件需要重啟虛擬機
<memory unit='KiB'>1048576</memory> 修改為: <memory unit='KiB'>1548576</memory> <currentMemory unit='KiB'>1048576</currentMemory> [root@linux-node1 ~]# virsh shutdown CentOS-7-x86_64 [root@linux-node1 ~]# virsh start CentOS-7-x86_64
(4)網絡管理,配置KVM的橋接網絡
[root@linux-node1 ~]# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.52540067fb26 yes virbr0-nic vnet
①創建橋接網卡,寫成腳本
[root@linux-node1 ~]# vim bridge.sh #!/bin/bash brctl addbr br0 brctl addif br0 ens33 ip addr del dev ens33 192.168.56.11/24 ifconfig br0 192.168.56.11/24 up route add default gw 192.168.56.2 [root@linux-node1 ~]# brctl show bridge name bridge id STP enabled interfaces br0 8000.000c2903f3fe no eth0 virbr0 8000.52540067fb26 yes virbr0-nic vnet0
②修改xml
[root@linux-node1 ~]# virsh edit CentOS-7-x86_64 interface type='network' 修改為 interface type='bridge' source network='default'/ 修改為 source bridge='br0'/
③重啟KVM虛擬機
[root@linux-node1 ~]# virsh shutdown CentOS-7-x86_64 Domain CentOS-7-x86_64 is being shutdown [root@linux-node1 ~]# virsh start CentOS-7-x86_64 Domain CentOS-7-x86_64 started
④修改虛擬機網卡配置
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet BOOTPROTO=static NAME=eth0 ONBOOT=yes IPADDR=192.168.56.111 NETMASK=255.255.255.0 GATEWAY=192.168.56.2 [root@localhost ~]# systemctl restart network
⑤驗證宿主機上能否登陸
[root@linux-node1 ~]# ping 192.168.56.111 PING 192.168.56.111 (192.168.56.111) 56(84) bytes of data. 64 bytes from 192.168.56.111: icmp_seq=1 ttl=64 time=0.618 ms 64 bytes from 192.168.56.111: icmp_seq=2 ttl=64 time=0.387 ms 64 bytes from 192.168.56.111: icmp_seq=3 ttl=64 time=0.264 ms 64 bytes from 192.168.56.111: icmp_seq=4 ttl=64 time=0.328 ms ^C --- 192.168.56.111 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3002ms rtt min/avg/max/mdev = 0.264/0.399/0.618/0.134 ms [root@linux-node1 ~]# ssh 192.168.56.111 The authenticity of host '192.168.56.111 (192.168.56.111)' can't be established. ECDSA key fingerprint is SHA256:k6ODnQ4pdtSMtYrfti2wB8eB5/XfCENW0SWApJrHTgY. ECDSA key fingerprint is MD5:06:9f:34:32:b8:b2:a3:91:12:f9:3b:8c:dd:c0:e7:63. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.56.111' (ECDSA) to the list of known hosts. root@192.168.56.111's password: Last login: Mon Nov 27 11:44:22 2017