(一)虚拟机的安装
安装过程:其实就是往硬盘里写数据的过程。
实验:这里我们采取镜像法创建虚拟机。导入本地iso文件方式新建一个虚拟机。步骤如下:
1.选择新建一个虚拟机
2.选择镜像文件
找到
3.设置硬盘空间。注意:如果要安装图形,则磁盘空间>4.8G
设置虚拟机名称:
4.进入安装界面:
5.点击安装红帽,接下来:
6.进行一些设置,语言环境(建议选择英语),时间等。在这一步,只需把带感叹号的设置成功,便可进行安装!
时区部分:
语言支持部分建议选择中文:
选择GUI 图形化基本环境
接下来是比较重要的部分,磁盘分区。采用标准分区,划分为三个扇区:/boot:200MB,/swap:500MB,/:剩余部分。注意:分区提前规划好,一般swap分区为物理内存的1.5~2倍,/boot分区200M,
最后两个设置,是设置超级用户的密码,添加普通用户及密码
接下来,尝试编写脚本来完成安装工作,脚本可以一直使用(一次改到,终生受益!):
1.新建脚本文件
其中注释如下:
#!/bin/bash ##命令运行环境的指定
virt-install \ ##安装虚拟机
--name $1 \ ##虚拟机名称指定,$1表示脚本后的第一串字符
--ram 1000 \ ##内存
--file /var/lib/libvirt/images/$1.img \ ##硬盘文件
--file-size 8 \ ##硬盘文件大小
--cdrom /var/ftp/pub/iso/rhel-server-7.1-x86_64-dvd.iso & ##安装源指定
脚本运行:
运行不成功,因为没有权限,要给执行权限:
注意下面,一个脚本文件默认用绝对路径调用!
成功进入安装界面:
(二)虚拟机的管理
virt-manager ##开启图形管理工具
virt-viewer vmname ##显示虚拟机,vmname表示虚拟机名称
virsh list ##列出正在运行的vm,实验如下:
virsh list --all ##列出所有vm,实验如下:
virsh start vmname ##运行指定vm
virsh shutdown vmname ##正常关闭指定vm,实验如下:
virsh destroy vmname ##强行结束指定vm
virsh create vmname.xml ##临时恢复指定vm,vmname表示前端管理文件,实验如下:
1我们先删除node1的前端文件:注意,不能删除.qcow2文件!
这时再用virsh create vmname.xml 命令恢复前端文件,如下,node1又恢复了
virsh define vmname.xml ##永久恢复vm
要点:virsh define与virsh create的区别在于前者是永久性恢复,后者是关闭后不再有。实验如下;
我们关闭node1:
此时会发现不再有node1!我们用 virsh define重新恢复:
此时,node1恢复:
virsh undefine vmname ##删除vm的前端管理,不会删除存储
注意:这里在定义和生成.xml时,当前文件夹中(/mnt/)必须存在有硬盘文件.qcow2与前端管理文件.xml(可扩展标记语言)。在define时,硬盘文件.qcow2也必须在原来的文件中(/var/lib/libvirt/images/),因为创建前端文件时,前端文件回到相应位置寻找后端硬盘文件!如下:
存在有相应的硬盘文件:
(三)虚拟机快照
虚拟机快照:在虚拟机安装过程中,硬盘文件.qcow2是最主要的,要是没了硬盘文件,虚拟机就挂了,所以有时候为了保证虚拟机安装时不会误删,可以进行虚拟机快照。
以下实验node1_snap.qcow2就是node1.qcow2的“照片”,但是快照与母盘的大小不一样,这也提供了很大的方便。
qemu-img create -f qcow2 -b vm2.qcow2 node1.qcow2
注意:前面的是母盘,后面为照片。实验如下:
(四)虚拟机快照创建虚拟机:
前面我们用镜像文件来安装虚拟机,现在我们学习了快照之后,可以利用已有虚拟机的硬盘文件来照一个快照,以这样一种方式来创建一个新的虚拟机!这样可以节省安装过程中很多时间。实验如下:
运行结果:
这里还是要给执行权限:
我们利用已有的好母盘来快照生成新的.qcow2文件,然后生成一个新的虚拟机:
(五)虚拟机的reset:
虚拟机的重置过程,将其步骤化就是:
1强行结束指定vm.
2删除vm的前端管理
3.利用母盘为我们的重置虚拟机再照一张快照
4开始虚拟机安装过程,但是此安装过程不用指定硬盘大小,直接指定硬盘文件路径即可。
实验如下:
1.新建vi文件:
编辑脚本:
每行一个部分应该加换行符!
运行脚本:
每天知识点:
1.虚拟机组成部分:虚拟机其实包括两个重要文件(linux下一切皆文件):前端管理文件(/etc/lib),后端存储文件(重要,根源,只要硬盘文件在,前端删了也可以恢复。路径:/var/lib/libvirt/images/)。
2.当虚拟机有问题时,可以先断开(disconnect),然后重启虚拟机服务(systemctl restart libvirtd)
3.当出现问题时,要学会查日志排错(/varlog/messages)
4.virt-install常用参数
- -n --name= 客户端虚拟机名称
- -r --ram= 客户端虚拟机分配的内存
- -u --uuid= 客户端UUID 默认不写时,系统会自动生成
- --vcpus= 客户端的vcpu个数
- -v --hvm 全虚拟化
- -p --paravirt 半虚拟化
- -l --location=localdir 安装源,有本地、nfs、http、ftp几种,多用于ks网络安装
- --vnc 使用vnc ,另有--vnclient=监听的IP --vncport =VNC监听的端口
- -c --cdrom= 光驱 安装途径
- --disk= 使用不同选项作为磁盘使用安装介质
- -w NETWORK, --network=NETWORK 连接客户机到主机网络
- -s --file-size= 使用磁盘映像的大小 单位为GB
- -f --file= 作为磁盘映像使用的文件
- --cpuset=设置哪个物理CPU能够被虚拟机使用
- --os-type=OS_TYPE 针对一类操作系统优化虚拟机配置(例如:‘linux’,‘windows’)
- --os-variant=OS_VARIANT 针对特定操作系统变体(例如’rhel6’, ’winxp’,'win2k3')进一步优化虚拟机配置
- --host-device=HOSTDEV 附加一个物理主机设备到客户机。HOSTDEV是随着libvirt使用的一个节点设备名(具体设备如’virsh nodedev-list’的显示的结果)
- --accelerate KVM或KQEMU内核加速,这个选项是推荐最好加上。如果KVM和KQEMU都支持,KVM加速器优先使用。
- -x EXTRA, --extra-args=EXTRA 当执行从"--location"选项指定位置的客户机安装时,附加内核命令行参数到安装程序
- --nographics "virt-install" 将默认使用--vnc选项,使用nographics指定没有控制台被分配给客户机
- virt-install man页中文翻译 以下:
##end##
来源:CSDN
作者:Lucky__Strike
链接:https://blog.csdn.net/weixin_40658000/article/details/78332585