kvm虚拟机管理(2)(kvm虚拟机管理命令)
nanshan 2024-11-15 22:49 25 浏览 0 评论
一、virt-manager创建虚机
(1)首先通过命令 virt-manager 启动图形界面:
点下面的图标创建虚机
(2)给虚机命名为 kvm1,这里选择从哪里启动虚机。如果是安装新的 OS,可以选择第一项。如果已经有安装好的镜像文件,选最后一项(如下图)。
(3)接下来需要告诉 virt-manager 镜像的位置,点击 “Browser”
(4)需要在系统中上传一个镜像文件到属主机上,放到 /var/lib/libvirt/images/ 目录下,这是 KVM 默认查找镜像文件的地方。
(5)为虚拟机分配 CPU、内存和磁盘
(6)为虚拟机命名,并在安装前配置硬件参数,点击“Finish”。网络选择三节课创建的br0网桥,点击绿色“对勾”开始安装
(7)控制台弹出如下图,安装linux安装步骤安装即可:
virt-manager 可以对虚机进行各种管理操作,界面直观友好,很容易上手。 同时我们也可以用命令 virsh 管理虚机,比如查看宿主机上的虚机:
二、远程管理kvm虚机
(1)上一节我们通过 virt-manager 在本地主机上创建并管理 KVM 虚机。其实 virt-manager 也可以管理其他宿主机上的虚机。只需要简单的将宿主机添加进来,如下图:
接下来,我们就可以像管理本地虚机一样去管理远程宿主机上的虚机了
(2)有些情况下,有一个要配置的地方。 因为 KVM(准确说是 Libvirt)默认不接受远程管理,需要按下面的内容配置被管理宿主机中的两个文件:
vim /etc/default/libvirt-bin
start_libvirtd="yes"
libvirtd_opts="-d -l"
vim /etc/libvirt/libvirtd.conf
listen_tls = 0
listen_tcp = 1
unix_sock_group = "libvirtd"
unix_sock_ro_perms = "0777"
unix_sock_rw_perms = "0770"
auth_unix_ro = "none"
auth_unix_rw = "none"
auth_tcp = "none"
然后重启 Libvirtd 服务就可以远程管理了。
systemctl restart libvirt-bin
三、virsh命令行下管理虚拟机
virsh 既有命令行模式,也有交互模式,在命令行直接输入 virsh 就进入交互模式, virsh 后面跟命令参数,则是命令行模式;
(1)基础操作 --- 命令行下管理虚拟机
语法结构:
virsh <command> <domain-id> [OPTIONS]
help 列出命令下的所有参数
help list 列出 list 命令下的参数
帮助菜单
virsh list 列出当前宿主机上处于运行状态的虚拟机
virsh list --all 列出当前宿主机上所有的虚拟机
virsh start vm1 (虚拟机name) 开启某一台虚拟机
virsh shutdown vm1 (虚拟机name) 正常关闭一台虚拟机
virsh destroy vm1 强制关闭某一台虚拟机
virsh autostart vm1 开机自启动虚拟机vm1
virsh autostart --disable vm1 关闭开机自启动
virsh edit vm1 编辑某个虚拟机的配置文件
virsh pool-list 列出存储池
qemu-img create -f qcow2 -o size=9G /export/kvm/test.qcow2
创建一个大小为 50G 的,格式为 qcow2 的磁盘镜像
查看磁盘信息:
qemu-img info /export/kvm/test.qcow2
命令行下创建 && 管理虚拟机
Virt-install:命令行下创建虚拟机的命令,不过在它后面需要跟上很多的参数
--name: 虚拟机的名字。
--disk Location: 磁盘映像的位置。
--graphics : 怎样连接 VM ,通常是 SPICE 。
--vcpu : 虚拟 CPU 的数量。
--ram : 以兆字节计算的已分配内存大小。
--location : 指定安装源路径
--network : 指定虚拟网络,通常是 virbr0 或者自己设定的 br0
例如:
virt-install --name=test --disk path=/export/kvm/test.qcow2 --ram=1024 --vcpus=1 --graphics spice --location=/export/download/software/iso/CentOS-7.3-x86_64-DVD.iso --network bridge=br0
注:以此安装操作之后,会在桌面显示一个 virtviewer ,进入到安装步骤
(2)除了这些简单命令,实际在 virsh 形式下还有更多的命令:
virsh help 打印帮助
virsh attach-device 从一个 XML 文件附加装置
virsh attach-disk 附加磁盘设备
virsh attach-interface 获得网络界面
virsh destroy 删除一个域
virsh detach-device 从一个 XML 文件分离设备
virsh detach-disk 分离磁盘设备
virsh detach-interface 分离网络界面
virsh define 从一个 XML 文件定义(但不开始)一个域
virsh undefine 删除一个虚机域
克隆一个虚机:
virt-clone -o vm2 -n vm4 -f /var/lib/libvirt/images/vm4.qcow2
四、KVM 通过virsh console连入虚拟机
新安装一台虚拟机后,是无法通过virsh console 命令连入虚拟机中的,这时我们需要开启虚拟机的console功能。
1、centos7以下,及其他情况
(1)添加ttyS0的许可,允许root登陆
[root@localhost ~]# echo "ttyS0" >> /etc/securetty
(2)编辑/etc/grub.conf中加入console=ttyS0
(3)编辑/etc/inittab,在最后一行加入内容:S0:12345:respawn:/sbin/agetty ttyS0 115200
(4)重启服务器
reboot
(5)宿主机上测试
virsh console vm-name
(6)退出console连接的虚拟机li
按 ctrl+] 组合键退出virsh console
2、对于centos7
(1)在虚机里运行
[root@localhost ~]# grubby --update-kernel=ALL --args="console=ttyS0"
(2)重启虚机
[root@localhost ~]# reboot
即可
五、KVM虚拟化透传
KVM 虚拟化需要处理器对虚拟化技术的支持,当我们需要进行虚拟机嵌套虚拟机时,我们需要让虚拟机中处理器对 VT 功能的支持达到透传的效果。
nested 虚拟机嵌套( kvm on kvm ):nested 技术,简单的说,就是在虚拟机上跑虚拟机。
KVM 虚拟机嵌套和 VMWare 原理不同, VMWare第一层是用的硬件虚拟化技术,第二层就是完全软件模拟出来的,所以 VMWare 只能做两层嵌套。 KVM 是将物理 CPU 的特性全部传给虚拟机,所有理论上可以嵌套 N 多层。
1、查看一层客户端是否支持 VT
#grep vmx /proc/cpuinfo
查询未果,证明一层 KVM 的虚拟机,并未将宿主机处理器的 VT 功能成功透传。所以,没有对 VT功能的支持,我们不能实现在该层虚拟机中嵌套KVM 虚拟机。
2、在物理服务器上为嵌套虚拟机做准备 --- CPU 虚拟化透传
(1)# vim /etc/modprobe.d/kvm-nested.conf
# 在文件中添加下面语句(由于截图问题,实际不需要加空行)
options kvm_intel nested=1
# 在宿主机启用 kvm_intel 模块的嵌套虚拟化功能,并且使透传永久有效
(2)重新加载 kvm 模块
# modprobe -r kvm_intel -r参数:remove掉kvm_intel模块
# modprobe kvm_intel 加载kvm_intel模块
(3)验证是否加载成功
#cat /sys/module/kvm_intel/parameters/nested
Y ---“Y” 表示 cpu 虚拟化透传功能开启
3、编辑需要做虚拟化透传的虚拟机的配置文件
#virsh edit centos7 ( Virtual Machine Name )
<cpu mode='host-passthrough'>
host-passthrough 直接将物理 CPU 暴露给虚拟机使用,在虚拟机上完全可以看到的就是物理 CPU的型号
4、进入虚拟机中查看cpu是否透传成功
在一层虚拟机中查看cpu是否支持虚拟化
相关推荐
- ubuntu24.04下kubernetes1.30环境搭建
-
设置root用户密码#在Ubuntu系统中,默认情况下root用户是被禁用的(没有设置密码)#而是通过sudo命令让普通用户临时获取管理员权限,#如果需要启用或修改root密...
- Canonical 在 Ubuntu 24.10 发布之前对 Snap 进行了更多改进
-
作为Ubuntu桌面临时工程总监,OliverSmith介绍了Ubuntu24.10的最新进展。在Ubuntu24.10功能冻结之前,GNOME47测试版已经登陆Ubuntu...
- Ubuntu Touch OTA-5手机系统发布:细化电源配置等
-
IT之家8月2日消息,UBports基金会于7月30日发布UbuntuTouch20.04OTA-5版本更新,距离上次OTA-4更新发布相隔6个月时间。Ubuntu...
- Ubuntu更契合英特尔酷睿Ultra,综合性能比Win11高15%
-
IT之家12月23日消息,英特尔本月推出酷睿UltraMeteorLake处理器,那么Win11和Ubuntu发行版两者时间,谁能更好地发挥其性能呢?国外科技媒体phoron...
- 针对英特尔酷睿CPU优化,Canonical发布Ubuntu实时内核
-
IT之家7月27日消息,Canonical今天宣布针对支持时序协调运算(TCC)和时间敏感网络(IEEETSN)的英特尔酷睿处理器,推出优化版实时Ubuntu内核。Canonical...
- 在Ubuntu/Debian上设置永久DNS域名服务器
-
在Linux上设置自定义DNS服务器可以提高性能和安全性,甚至可以通过DNS阻止一些使用地理屏蔽的网站。有几种方法可以做到这一点,包括在许多Linux发行版中包括的NetworkManagerGUI...
- 宣布延期:Ubuntu 24.04 LTS第一个版本发布推迟两周
-
Ubuntu开发团队原计划于8月19日星期四发布Ubuntu24.04.1LTS。然而,由于发现几个重大升级错误,发布被推迟。Ubuntu24.04.1LTS的新发布日期现定为...
- Ubuntu系统已经十岁了 10月新推14.10版
-
|责编:李鑫比较非主流的Ubuntu系统刚刚推出了14.10版,同时大家也可能不知道其实它已经十岁了!它的第一次公布时间为2004年的10月呢。在这次十周年更新中,Ubuntu为用...
- wsl2在休眠后的时间偏差问题的修复
-
笔记本电脑在日常使用中,常常会有进入休眠状态的情况。休眠对于wsl2而言,却造成了时间偏差的问题,休眠期间wsl2的时间停止了。这个问题的根治,需要等微软。本文提供的是一种简单的修复办法。ntp是网络...
- 基于Ubuntu22.04源码安装配置RabbitVCS过程记录
-
基于Ubuntu22.04源码安装配置RabbitVCS过程记录安装开始时间开始时间:2025年7月18日17:09(北京时间)系统:Ubuntu22.04用户:itgather时区:A...
- GNOME 46桌面环境发布,Ubuntu 24.04 LTS和Fedora 40率先预装
-
IT之家3月21日消息,GNOME团队今天发布公告,正式推出代号为“Kathmandu”的GNOME46桌面环境,并已经开放下载。Fedora40发行版将于4月发布,率先预装...
- 如果大家同意的话 Ubuntu可能很快就会有一个新的垃圾桶图标
-
Ubuntu贡献者目前正在构思一个新的垃圾桶图标,该图标最早可能在10月份Ubuntu25.10发布时出现在Dock栏中。关于Ubuntu垃圾桶图标外观的讨论在2019年持续进...
- Ubuntu 25.10 通过更安全地获取时间来提供进一步的安全性提升
-
Canonical宣布将从Ubuntu25.10开始使用一款名为chrony的软件,以实现更安全的时间管理。最终用户无需过于担心这一变化,但它将增强系统安全性,尤其是在加密操作和证书验证方...
- Linux 修改系统时间的两种方式
-
一:更新系统时间的方式1、手动修改通过相关工具来手动修改系统的时间。2、自动同步使用NTP自动同步系统时间。二:手动修改系统时间1、date工具作用:显示和设置系统时间选项:-d<字符串&g...
- Ubuntu计划下版本为RISC-V设置RVA23基线,大量硬件无法升级
-
IT之家7月14日消息,主要Linux发行版之一的Ubuntu计划在其接下来的一个大版本25.10中将对RISC-V处理器的准入门槛设置从此前的RVA20配置文件更新至最新...
你 发表评论:
欢迎- 一周热门
-
-
UOS服务器操作系统防火墙设置(uos20关闭防火墙)
-
极空间如何无损移机,新Z4 Pro又有哪些升级?极空间Z4 Pro深度体验
-
手机如何设置与显示准确时间的详细指南
-
NAS:DS video/DS file/DS photo等群晖移动端APP远程访问的教程
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
如何修复用户配置文件服务在 WINDOWS 上登录失败的问题
-
一加手机与电脑互传文件的便捷方法FileDash
-
日本海上自卫队的军衔制度(日本海上自卫队的军衔制度是什么)
-
10个免费文件中转服务站,分享文件简单方便,你知道几个?
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
- 最近发表
-
- ubuntu24.04下kubernetes1.30环境搭建
- Canonical 在 Ubuntu 24.10 发布之前对 Snap 进行了更多改进
- Ubuntu Touch OTA-5手机系统发布:细化电源配置等
- Ubuntu更契合英特尔酷睿Ultra,综合性能比Win11高15%
- 针对英特尔酷睿CPU优化,Canonical发布Ubuntu实时内核
- 在Ubuntu/Debian上设置永久DNS域名服务器
- 宣布延期:Ubuntu 24.04 LTS第一个版本发布推迟两周
- Ubuntu系统已经十岁了 10月新推14.10版
- wsl2在休眠后的时间偏差问题的修复
- 基于Ubuntu22.04源码安装配置RabbitVCS过程记录
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)