kvm虚拟机管理(创建、连接)

断了今生、忘了曾经 提交于 2021-02-08 21:56:29
创建虚机、远程管理kvm虚机、virsh命令行下管理虚机、、kvm通过virsh console 连入虚拟机
 

一、创建虚机

1)打开虚拟化管理器
 
2)选择ISO安装
 
3)选择iso镜像
 
4)设置内存、cpu
 
5)设置磁盘镜像大小
 
6)设置启动项,cdrom和硬盘
 
7)设置cdrom的源
 
8)开始安装
 

二、远程管理kvm虚机

 
1)添加宿主机
 
2、添加ip
 
3)缺少安装包的先安装
yum -y install openssh-askpass
 
4)输入密码
 
5)连接成功
 
 
有些情况下,有一个要配置的地方。 因为 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 help list
      
 
virsh list 列出当前宿主机上处于运行状态的虚拟机
virsh list --all 列出当前宿主机上所有的虚拟机
virsh start vm  开启某一台虚拟机(虚拟机名)
virsh shutdown vm 正常关闭某一台虚拟机
virsh destroy vm 强制 关闭某一台虚拟机
virsh autostart vm 开机自启动虚拟机vm
virsh edit vm 编辑某个虚拟机的配置文件
virsh pool-list 列出存储池
 
创建一个大小为 9G 的,格式为 qcow2 的磁盘镜像
qemu-img create -f qcow2 -o size=9G /var/lib/libvirt/images/test.qcow2
查看磁盘信息:
qemu-img info /var/lib/libvirt/images/test.qcow2
大小为9G实际占用为196K (精简置备)
 
命令行下创建&&管理虚拟机
virt-install:命令行下创建虚拟机的命令,不过在它后面需要 跟上很多的参数
      --name:虚拟机的名字
      --disk Location:磁盘映像的位置
      --graphics:怎样连接vm,通常是SPICE
      --vcpu:虚拟cpu的数量
      --ram:以兆字节计算的已分配内存大小
      --location:指定安装源路径
      --network:指定虚拟网络,通常是virbr0 或者自己设定的br0
 
virt-install --name=test --disk path=/var/lib/libvirt/images/test.qcow2 --ram=1024 --vcpus=1 --graphics spice --location=/var/lib/libvirt/images/CentOS-7.3-x86_64-DVD-1611.iso --network bridge=br0
此安装操作之后,虚拟系统管理器中就会生成一台虚拟机,并处于开机状态
 
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 test -n test2 -f /var/lib/libvirt/images/test2.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)在虚机里运行
 grubby --update-kernel=ALL --args="console=ttyS0"
(2)重启虚机
 reboot
 
 

五、kvm虚拟化透传

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_inte      加载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是否支持虚拟化
 
 
 
 
 
 
 
 
 
 
 
 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!