1、今天学习一下KVM的开机自启功能。开机启动,即随宿主机启动而启动

virsh autostart vm-name

开机自启的前提是libvirt功能也是开机启动的;systemctl enable libvirtd

[root@KVM03-10 ~]# virsh autostart test-kvm
Domain test-kvm marked as autostarted

[root@KVM03-10 ~]# systemctl restart libvirtd
[root@KVM03-10 ~]# virsh list --all
Id Name State
----------------------------------------------------
1 test-kvm running

该命令会在/etc/libvirt/qemu/目录下增加一个autostart文件

[root@KVM03-10 ~]# cd /etc/libvirt/qemu/
[root@KVM03-10 qemu]# ll
total 8
drwxr-xr-x. 2 root root 26 Aug 31 21:52 autostart
drwx------. 3 root root 42 Aug 26 09:58 networks
-rw-------. 1 root root 4227 Aug 30 21:57 test-kvm.xml
[root@KVM03-10 qemu]# ll
[root@KVM03-10 qemu]# cd autostart/
[root@KVM03-10 autostart]# ll
total 0
lrwxrwxrwx. 1 root root 30 Aug 31 21:52 test-kvm.xml -> /etc/libvirt/qemu/test-kvm.xml

 实际上这个autostart目录下方的就是一个需要进行开机启动的虚机配置文件的软链接,链接到虚机真正的配置文件。从逻辑上说,当系统启动了libvirt功能后,就会在autostart目录下查询,如果有对应内容,则对启动相应的虚机。

取消开机自启 virsh autostart  --disable vm-name

2、console登陆控制虚拟机

宿主机开启libvirt服务后,会在网卡中增加virbr网卡,该地址作为虚机网卡地址的网关;

3: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether 52:54:00:87:f8:b7 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
link/ether 52:54:00:87:f8:b7 brd ff:ff:ff:ff:ff:ff
5: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr0 state UNKNOWN qlen 1000
link/ether fe:54:00:db:81:f8 brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc54:ff:fedb:81f8/64 scope link
valid_lft forever preferred_lft forever
[root@KVM03-10 qemu]# ssh 192.168.122.63
The authenticity of host '192.168.122.63 (192.168.122.63)' can't be established.
ECDSA key fingerprint is 99:72:f9:54:f3:45:a8:52:bd:52:01:81:9f:30:ee:2a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.122.63' (ECDSA) to the list of known hosts.
root@192.168.122.63's password:
Last login: Mon Aug 31 22:10:10 2020
[root@localhost ~]#

想要通过virsh console连接虚拟机,需要修改虚机的内核参数,

grubby --update-kernel=ALL --args="console=ttyS0,115200n8"

对比修改前后两个文件的差异发现
[root@localhost home]# grubby --update-kernel=ALL --args="console=ttyS0,115200n8"
[root@localhost home]#
[root@localhost home]# diff /etc/grub2.cfg /home/grub
grub2.cfg.bak grub.cfg.bak
[root@localhost home]# diff /etc/grub2.cfg /home/grub.cfg.bak
99c99
< linux16 /boot/vmlinuz-3.10.0-514.el7.x86_64 root=UUID=4a965762-42e0-4cc0-8f36-57f9f7ae82f6 ro rhgb quiet LANG=en_SG.UTF-8 console=ttyS0,115200n8
---
> linux16 /boot/vmlinuz-3.10.0-514.el7.x86_64 root=UUID=4a965762-42e0-4cc0-8f36-57f9f7ae82f6 ro rhgb quiet LANG=en_SG.UTF-8
113c113
< linux16 /boot/vmlinuz-0-rescue-a9c5fb0f9f5f4f0b87ca06f4b6dfc62c root=UUID=4a965762-42e0-4cc0-8f36-57f9f7ae82f6 ro rhgb quiet console=ttyS0,115200n8
---
> linux16 /boot/vmlinuz-0-rescue-a9c5fb0f9f5f4f0b87ca06f4b6dfc62c root=UUID=4a965762-42e0-4cc0-8f36-57f9f7ae82f6 ro rhgb quiet
[root@localhost home]#

修改完内核参数后,需要对系统进行重启,重启完成后即可在宿主机上通过virsh console vm-name登陆虚拟机;

[root@KVM03-10 qemu]# virsh list --all
Id Name State
----------------------------------------------------
1 test-kvm running [root@KVM03-10 qemu]# virsh console test-kvm
Connected to domain test-kvm
Escape character is ^]
CentOS Linux 7 (Core)
Kernel 3.10.0-514.el7.x86_64 on an x86_64
localhost login: root
Password:
Last login: Mon Aug 31 22:24:43 from gateway
[root@localhost ~]#

[root@localhost ~]# who
root ttyS0 2020-08-31 22:38

最新文章

  1. iOS-集成支付宝支付、微信支付简单总结
  2. POJ2195 最小费用流
  3. Android 获取图片exif信息
  4. VRRP协议详解
  5. 关于配置Spring框架的多个propertyConfigurer的问题
  6. linux下tftp使用(转一些命令)
  7. SpringMVC实现一个controller里面有多个方法
  8. PB数据类型转换表
  9. 解决Cygwin中vim的backspace不能正常使用(转)
  10. 03_HttpClient_Post请求
  11. Ubuntu14 或是其他系统当中关于sublimeSFTP超时解决方法
  12. yii console.php 报错 Property &quot;CConsoleApplication.theme&quot; is not defined.
  13. virtual pc中添加软盘支持
  14. javascript第二课练习
  15. iOS中Block介绍(二)内存管理与其他特性
  16. C# HelpPage 接口文档配置
  17. obtainFreshBeanFactory()源码探究
  18. ReactNative编写规范
  19. Nanopi2基本使用
  20. dbeaver can&#39;t connect HBase1.2 using phoenix driver #1863

热门文章

  1. 如何在项目中使用composer的相关功能
  2. Java源码赏析(五)再识 String 类
  3. Python新手入门基础
  4. Quartz.NET集成UI版
  5. eureka源码--服务的注册、服务续约、服务发现、服务下线、服务剔除、定时任务以及自定义注册中心的思路
  6. Centos-操作系统相关信息-uname
  7. Python-对字典进行排序
  8. Layman PHP+JavaScript 实现图片无刷新上传
  9. I2C 方式
  10. The comparison between object and constructor