分享

无图形界面下创建管理虚拟机

 copy_left 2020-11-30

CentOS安装KVM

yum install -y qemu-kvm libvirt virt-install bridge-utilssystemctl start libvirtd

虚拟机常用管理命令

查看运行的虚拟机

[root@H230 ~]# virsh list Id    Name                           State---------------------------------------------------- 2     centos7.0                      running

查看所有的虚拟机(关闭和运行的虚拟机)

virsh list --all

虚拟机共有7种状态

  • running 虚拟机正在运行
  • idle 虚拟机是闲置的,没有运行,在等待IO或者休眠时虚拟机会进入这种状态
  • paused 虚拟机处于暂停状态,一般情况下是被admin运行了virsh suspend才会处于这种状态,但是仍然消耗资源,只不过不被超级管理程序调度而已。
  • shutdown 虚拟机在关闭过程中
  • shut off 虚拟机没有运行,已经完全关闭
  • crashed 虚拟机崩溃
  • dying 虚拟机处于垂死的状态,但是又没完全关闭或崩溃

连接虚拟机控制台

virsh console  域名(虚拟机的名称)

退出虚拟机控制台

ctrl+]

关闭虚拟机

 virsh shutdown  域名  

启动虚拟机

virsh start 域名

强制关闭虚拟机

 virsh destroy
[root@h230 ~]# virsh list --all Id Name State---------------------------------------------------- 1 centos7.0 running 18 CentOS8 running[root@h230 ~]# virsh destroy CentOS8Domain CentOS8 destroyed[root@h230 ~]# virsh list --all Id Name State---------------------------------------------------- 1 centos7.0 running - CentOS8 shut off

删除虚拟机

[root@h230 ~]# virsh list --all Id    Name                           State---------------------------------------------------- 1     centos7.0                      running -     CentOS8                        shut off[root@h230 ~]# virsh undefine  CentOS8  Domain CentOS8 has been undefined[root@h230 ~]# virsh list --all          Id    Name                           State---------------------------------------------------- 1     centos7.0                      running

开机自启动(宿主机启动后虚拟机自动启动)

virsh autostart 域名

修改虚拟机配置

 virsh edit  域名  

常见问题:

当虚拟启动后,Ping能通,但是连接任何虚拟机端口都会失败,且在虚拟机内部抓包时,未见任何连接报文

宿主机的防火墙挡住了发往虚拟机的报文,通过关闭宿主机的防火墙来快速确认是否是因为这个原因导致

systemctl stop firewalld

KVM虚拟机快照备份

快照就是将虚机在某一个时间点上的磁盘、内存和设备状态保存一下,以备将来之用

  • 磁盘快照: 磁盘的内容(可能是虚机的全部磁盘或者部分磁盘)在某个时间点上被保存,然后可以被恢复

注: 若保存的磁盘状态数据不完整(如机器突然掉电时硬盘数据的状态等),机器重启后需要通过 fsck 或者别的工具来恢复到完整一致的状态(类似于 Windows 机器在断电后会执行文件检查),也可通过如下命令来做一致性检查

qemu-img check -f qcow2 --output=qcow2 -r all filename-img.qcow2

  • 内存快照:只是保持内存和虚机使用的其它资源的状态。如果虚机状态快照在做和恢复之间磁盘没有被修改,那么虚机将保持一个持续的状态;如果被修改了,那么很可能导致数据corruption(类似休眠状态保存)

查询虚拟机的快照信息

virsh snapshot-list 域名

注: 虚拟机快照一般存放在'/var/lib/libvirt/qemu/snapshot/域名'下

删除虚拟机快照

virsh snapshot-delete 域名  快照名

创建快照备份(磁盘快照)

virsh snapshot-create-as --domain centos7.0 --name centos7.0-1124 --description 'new host'

恢复快照

virsh snapshot-revert 域名  快照名

恢复前,最好shutdown虚拟机(virsh shutddown 域名)

虚拟机安装方法

通过console界面进行安装

virt-install \--connect qemu:///system \--virt-type kvm \--name CentOS8 \--vcpus 2,maxvcpus=2 \--ram 4096 \--disk path=/home/admin/VM/CentOS8.qcow2,size=40,format=qcow2,bus=virtio,sparse \--network bridge=br1,model=virtio \--nographics \--location=/home/admin/Images/CentOS-7-x86_64-DVD-1810.iso \--extra-args 'console=ttyS0' \--video=cirrus

# --name 虚拟机名称

# --vcpus CPU核数, --maxvcpus最大运行核数

# --ram 内存大小(4096M)

# --disk path=磁盘位置,size=40(40G)

# --network 网卡

# --nographic 不开启图形界面

# --location镜像位置

# --extra-args 开启console口

通过vnc远程桌面安装

virt-install --name=CentOS8 \--location=/home/admin/Images/CentOS-7-x86_64-DVD-1810.iso  \--ram 4096 --vcpus=2 \--disk path=/home/admin/VM/CentOS8.qcow2,size=40,format=qcow2,bus=virtio,sparse  \--accelerate --vnc --vncport=5922 --vnclisten=0.0.0.0  --noautoconsole \--network bridge=br0

可通过virt-viewer,连接进入图形界面进行安装

无图形界面下创建管理虚拟机

kickstart自动安装

virt-install \--connect qemu:///system \--virt-type kvm \--name CentOS8 \--vcpus 2,maxvcpus=2 \--ram 4096 \--disk path=/home/admin/VM/CentOS8.qcow2,size=40,format=qcow2,bus=virtio,sparse \--network bridge=br1,model=virtio \--nographics \--location http://172.12.0.101:8081/CentOS8 \--extra-args 'ks=http://172.12.0.101:8081/ks.cfg console=ttyS0' \--video=cirrus

cockpit Web界面安装

访问宿主机cockpit管理界面(https://host-ip:9090)

虚拟机菜单项中新建虚拟机

无图形界面下创建管理虚拟机

在创建的虚拟机属性中,配置磁盘信息

无图形界面下创建管理虚拟机

附:Cockpit Web 控制台

管理和监视本地系统以及网络环境中的Linux服务器。

  • 管理服务
  • 管理用户账号
  • 管理和监视系统服务
  • 配置网络接口和防火墙
  • 查看系统日志
  • 管理虚拟机
  • 创建诊断报告
  • 设置内核转储配置
  • 配置SELinux
  • 更新软件
  • 管理系统订阅

安装启用

yum install cockpit -ysystemctl start cockpit.socketsystemctl enable --now cockpit.socketsystemctl status cockpit.socketfirewall-cmd --add-service=cockpit --permanent

Web页面中登录

https://IP:9090

安装其它组件

以下是Cockpit的一些软件模块,可以根据自己的需要选择性的安装

  • cockpit-docker: Managing Docker Containers
  • cockpit-kubernetes: Visualizing and Configuring Kubernetes Cluster
  • cockpit-machines: Manage KVM Virtual Machines
  • cockpit-sosreport: Create diagnostic report with the sosreport tool
  • cockpit-selinux: Troubleshoot SELinux Issues
  • cockpit-kdump: Configure Kernel Crash Dumps
  • cockpit-subscriptions: Manage System subscription
  • cockpit-machines-ovirt: Manage oVirt Virtual Machines
  • cockpit-pcp: Reading PCP metrics and Loading PCP archives

如需要安装虚拟机管理组件

 yum install cockpit-machines

其它系统相关组件

yum install cockpit-dashboard.x86_64 cockpit-composer.noarch cockpit-storaged.noarch

安装后,打开管理界面

无图形界面下创建管理虚拟机

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多