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. 面试的加分项:懂点 Nginx 反向代理与负载均衡

      学到老活到老 前端圈一直很新,一直要不停的学习,而且在进入大厂的路上,还要求熟悉一门后台语言等等.用一句别人开玩笑的话来说,java十年前的技术现在还能用,而前端的技术就不是这样的了 突然想起了d ...

  2. kali上密码工具使用例如mudusa,hydra等

    思路 各种密码类别大致数学原理 https://blog.csdn.net/carol980206/article/details/96705859 https://www.jianshu.com/p ...

  3. NLP常见任务

    借助BERT论文, 梳理下自然语言处理当前常见的任务. NLP任务 根据判断主题的级别, 将所有的NLP任务分为两种类型: token-level task: token级别的任务. 如完形填空(Cl ...

  4. 记一次公司mssql server密码频繁被改的事件

    环境描述 近期公司服务器mssql密码频繁被改,导致各种业务系统无法连接,报错.昨天来公司,发现4台数据库3台密码都变了.今天尝试着去查查是否能找到问题根源. 步骤 4台服务器3台连不上,只有64还活 ...

  5. 正则表达式(代码java版)

    目录 元字符 检测工具 普通字符 字符类 预定义字符类 数量词 默认数量词 自定义量词 预定义量词 边界标识符 正则组 简单应用 复杂组序 捕获组 看了好些天的正则表达式,终于有时间来写一篇关于它的博 ...

  6. Redis 4.0.2分布式锁的Java实现

    简介 Redis分布式锁算法有两种,一种是单个Redis实例下的,一种是多个Redis实例的Redlock算法. 官方推荐Redlock算法,但是这个算法需要比较多的Redis实例而且是完全互相独立, ...

  7. Python面向对象基础变量

    In [1]: class A: ...: NAME = 'A' # 类的直接下级作用域 叫做类变量 ...: def init(self, name): ...: self.name = name ...

  8. matlab中reshape 重构数组

    来源:https://ww2.mathworks.cn/help/matlab/ref/reshape.html?searchHighlight=reshape&s_tid=doc_srcht ...

  9. 【Excel技巧】用IF函数进行等级评定

    如果下面给出一份"2月份语文成绩考核表",那么如何对成绩进行等级评定呢. 等级评定规则: 总分(100分) A级(91-100) B级(81-90) C级(71-80) D级(70 ...

  10. Python数据类型--元组(tuple)

    元组与列表非常相似,最大区别在于: (1)元组是不可修改的,定义之后就"固定"了. (2)元组在形式上是用()这样的圆括号括起来 (3)元组不能插入或删除元素 注:元素可修改与不可 ...