Linux 虚拟机的安装与软件安装

谁说胖子不能爱 提交于 2019-12-04 11:10:01

(一)虚拟机的安装

    安装过程:其实就是往硬盘里写数据的过程。

     实验:这里我们采取镜像法创建虚拟机。导入本地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页中文翻译  以下:
http://blog.csdn.net/starshine/article/details/6998189



##end##

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!