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

没事学学KVM(五)虚拟机基础管理的更多相关文章

  1. 没事学些KVM(三)虚拟机基础管理

    创建完成虚拟机后,需要对虚拟机进行基础管理学习 virsh list #查看虚拟机列表 改命令只能查看正在运行或挂起的虚拟机 如果需要查看所有的虚拟机需要添加--all 参数 virsh start ...

  2. 没事学学KVM(二)创建一台虚拟机

    首先通过VMware创建一台虚机,建议内存大于1G,并开启CPU 的inter vt-x功能,安装好对应的软件后,yum install -y qemu-kvm* virt-* libvirt* 准备 ...

  3. 没事学学KVM(四)虚拟机基础管理

    上次学完虚机的创建.开关机.备份配置文件等,今天学学其他几个常用的虚机管理命令: 1.重命名  方法一:virsh domrename old-name new-name virsh # list I ...

  4. 没事学学KVM(一)

    学习KVM肯定要找来一台虚机来学习呀,通过VMware workstation创建虚机,现在的电脑CPU,包括INTER,AMD都支持,公司发的电脑CPU为inter,通过开启inter VT-X可在 ...

  5. KVM+VNC 虚拟机远程管理

    1.安装kvm grep -E -o 'vmx|svm' /proc/cpuinfo #检查服务器是否支持虚拟化(vmx为interl平台.svm是AMD平台) #安装KVM所需软件包: yum gr ...

  6. kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置

    KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...

  7. kvm虚拟机日常管理和配置操作命令梳理

    KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理.1)查看KVM虚拟机配置文件及运行状态KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/autostart目录是配置kvm ...

  8. KVM 虚拟机基本管理及常用命令

    KVM的基本管理 1.查看KVM虚拟机配置文件 #Kvm虚拟机默认配置文件位置 [root@kvm qemu]# pwd /etc/libvirt/qemu [root@kvm qemu]# ll t ...

  9. Linux下KVM虚拟机基本管理及常用命令(转)

    说明:可能有重复 一.KVM的基本管理 1.查看KVM虚拟机配置文件 #Kvm虚拟机默认配置文件位置 [root@kvm qemu]# pwd /etc/libvirt/qemu [root@kvm ...

随机推荐

  1. Java基本数据类型、关键字

    Java基本数据类型.关键字 一.Java基本数据类型 Java有8中基本数据类型:byte\char \short \int\float\double\long\boolean 在说明每种类型大小前 ...

  2. python的命名规则

    命名规则:大小写字母,数字,下划线和汉字等字符及组合 注意事项:大小写敏感,首字符不能是数字,不与保留字相同 Python语言有33个保留字(关键字) 如:if ,elif, else ,in 33个 ...

  3. redis部署问题

    在部署redis哨兵的时候,一开始一直都是失败:杀死master进程后,没有选出新的master 日志如下 9985:X 18 Feb 20:14:42.409 # +sdown master mym ...

  4. LR Robust Stereo VIO for Fast Autonomous Flight

    Abstract 我们展示说我们的Stereo MSCKF在算力上跟state-of-the-art的单目方案是可比的, 而且提供了很大的鲁棒性. 1. Introduction 贡献 第一个开源的f ...

  5. 第一篇 Hell wcf

    老老实实学WCF  第一篇 Hello WCF WCF(Windows Communication Foundation)是微软公司推出的面向服务技术的集大成者,涵盖继承了其之前发布的所有的分布式应用 ...

  6. selenium初探

    先看看官方给的小demo from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = ...

  7. 刷题[安恒DASCTF2020四月春季赛]Ez unserialize

    解题思路 打开直接源码,没别的,审就完事了 代码审计 <?php show_source("index.php"); function write($data) { retu ...

  8. DVWA SQL-injection 附python脚本

    SQL-Injection low等级 首先我们将dvwa等级调到low 如图 接下来选择SQL Injection,并在提交框中输入正常值1,查看返回结果 接下来检测是否存在注入,分别输入 1' a ...

  9. linux下Crontab定时任务

    1.命令格式 crontab [-u user] file crontab [-u user] [-e | -l | -r ] 2.命令参数 -u user:用来设定某个用户的crontab服务: f ...

  10. 使用redis来调用iptables,封禁恶意IP

    话不多说,通常大多数站点都会有被薅羊毛的情况,防护无非也就是业务层做处理,短时内不再响应恶意请求啦.虽然不响应了,可还是会消耗资源的,比如我要从数据库(当然也可能是内存数据库)去查询下,你是不是恶意的 ...