-Linux下的虚拟机安装与管理

 一、虚拟机安装

   首先安转之前,要提前下载一个镜像,这里是:rhel-server-7.0-x86_64-dvd.iso

 1)图形化方法

  【1】在本机打开终端,切换到超级用户下。输入命令:virt-manager

  【2】点击左上角的小电脑+太阳(create a new virtual machine)的图标

  【3】在以下界面点击Forward     

   -Linux下的虚拟机安装与管理  

  【4】在以下界面点击Browse,浏览自己的镜像安装位置

  -Linux下的虚拟机安装与管理

 

  【5】点击Browse Local 

    -Linux下的虚拟机安装与管理

   

  【6】选中自己的镜像,点击右上角Open 

   -Linux下的虚拟机安装与管理

  【7】在以界面点击Forward

   -Linux下的虚拟机安装与管理

  【8】 选择虚拟机的内存大小和CPU个数,完成后点击Forward

  -Linux下的虚拟机安装与管理

 【9】选择自己的硬盘大小,完成后点击Forward

  -Linux下的虚拟机安装与管理

 【10】填写虚拟机的名字(自己取),完成后点击Finish

 

  -Linux下的虚拟机安装与管理

 【11】此时到达安装界面,用上下键选择安装方式,第一行为直接安装,第二行为先解析后安装(时间长)。在这选择第一种安装方式

   -Linux下的虚拟机安装与管理

  【12】进入虚拟机的配置界面后,对时区、语言、磁盘分区等信息进行设置

    -Linux下的虚拟机安装与管理

    1、选择安装时的语言

    -Linux下的虚拟机安装与管理   

   2、选择安装完成后

   -Linux下的虚拟机安装与管理 

   3、选择软件安装为图像界面,右边不需要选 (若需要其他需求,在GUI右边选择即可)

    -Linux下的虚拟机安装与管理

   4、选择手动分区

   -Linux下的虚拟机安装与管理

  5、选择第一个标准分区   

  -Linux下的虚拟机安装与管理

   6、点击左下角的+,分别对/ 、 /boot 、 swap 进行内存的分配(左下角粉色区域为可用内存大小,灰色的是内存总的大小)

   -Linux下的虚拟机安装与管理 

   分配结果如下:   

    -Linux下的虚拟机安装与管理
   7.点击Accept changes 完成配置的修改 
   -Linux下的虚拟机安装与管理

   8、点击右下角的开始安装就可以了。这时需要设置超级用户密码。安装完成后,再开始添加普通用户和密码。

 

 2)脚本方式

 【1】步骤: 在真机的超级用户下进行

   vim  /mnt/create_virt.sh

   #!/bin/bash
   virt-install \    
   --cdrom  /home/kiosk/Desktop/rhel-server-7.2-x86_64-dev.iso \    
   --ram 1024 \
   --cpus 1 \
   --disk /var/lib/libvirt/images/$1.qcow2,bus=virtio,size=9 \
   --name $1 \
   --network bridge=br0,model=virtio &> /dev/null &
  运行:chmod 755 /mnt/creat_virt.sh

            /mnt/creat_virt.sh     就可以进入到安装界面

  注释:在virt-install的属性中,cdrom为安转源,即你的镜像+镜像所在目录;ram为你的内存大小;cpus 代表cpu的个数;disk代表磁盘的相关信息

           name是虚拟机的名称;network是网络接口的信息(接口名称和工作模式)

      1、磁盘信息的查看:

      -Linux下的虚拟机安装与管理

     2. 网络接口信息的查看: 

     -Linux下的虚拟机安装与管理

 【2】删除虚拟机命令:virsh undefine test1

                   rm -rf  /var/lib/libvirt/images/test1

 

二、虚拟机的管理

   virt-manager   开启虚拟机管理器

   virsh list     显示正在运行的虚拟机 

   virsh list --all  查看所有虚拟机

   virsh start desktop   打开

   virsh shutdown desktop  正常关闭虚拟机   

   virsh destroy desktop   强行关闭

   virt-viewer desktop    显示已经开启的虚拟机(登陆界面)
   /etc/libvirt/qemu/xxx.xml   显示硬件信息文件,里面右自己装的虚拟机
   /var/lib/libvirt/images/xxx.qcow2 

   虚拟机恢复(一次性): virsh create xxx.xml

   永久恢复:virsh define xxx.xml

   注意:使用virsh命令的时候要在root用户里面。

【1】将一台虚拟机传到另一台虚拟机上

   一台虚拟机由物理信息和磁盘信息组成,所以我们进行虚拟机的传输的时候,只需要把这两个文件信息传到另一台主机上,然后恢复可以使用。

  1)文件的传输(把信息传到100主机上)

   scp /etc/libvirt/qemu/aaa.xml  /var/lib/libvirt/images/bbb.qcow2  [email protected]

  2)恢复过程:

  临时:   virsh create xxx.xml   报错:此时把该.xml文件移动到出错目录下即可   

  永久:    virsh define xxx.xml

  注意:临时恢复的虚拟机,强制关闭之后,就不存在了。

【2】虚拟机的快照

   作用:对母盘做了快照; 使虚拟机出错之后,可以利用母盘重新创建。读的时候使用的是母盘,写的时候用快照。快照相当一个复本!

   快照脚本:

    vim /mnt/vm_kuaizhao.sh 

 

     qemu-img create -f qcow2 -b \

     /var/lib/libvirt/images/$1.qcow2 \
     /var/lib/libvirt/images/$2.qcow2       ## 创建一个快照文件
     virt-install \
     --name $2 \
     --ram 1024 \
     --cpus 1 \
     --disk /var/lib/libvirt/images/$2.qcow2,bus=virtio \
     --network bridge=br0,model=virtio \
     --import &          ## 对快照文件进行导入

    编写完成后执行:chmod 755 /mnt/vm_kuaizhao.sh

                  /mnt/vm_kuaizhao.sh test note

 

【3】  重置脚本:vim vm_reset.sh    

   #!/bin/bash
   virsh destroy $1        ## 首先强行关闭出错的虚拟机
   rm -rf /var/lib/images/$1.qcow2     ## 删除出错的快照文件
   qemu-img create -f qcow2 -b /var/lib/libvirt/images/$2.qcow2    /var/lib/libvirt/images/$1.qcow2  ## 再生成一份新的快照文件
   virsh start $1    ## 重启
   virt-viewer $1    ## 显示

   编写完成执行: chmod 755 /mnt/vm_reset.sh                                /mnt/vm_reset.sh note

三、虚拟机建立并安装脚本 

  kickstart是一个用来模拟虚拟机安装过程的一个工具,不需要手动选择语言、磁盘分区等问题。每一个已经安装好的虚拟机,都会在根目录下生成一个anaconda-ks.cfg(记录安装虚拟机时自己选择的答案),而我们的ksckstart就是用来生成.cfg文件的。

  实现步骤:假设使用的虚拟机IP为172.25.254.100

  1)在虚拟机下生成.cfg文件

   1. yum  install system-config-kickstart      ## 安装软件

     2.   system-config-kickstart   ##  打开一个模拟虚拟机安装界面

     3.   进行配置的选择

     4.  完成之后保存到一个目录下/mnt/ (用--- ls   /mnt/ ---查看,生成的文件名自动为ks.cfg)

      2)共享.cfg文件

          1.  yum  install   httpd  -y       ##  安装httpd服务,通过网络的方式共享

    2.   systemctl  stop  firewalld     ## 关闭防火墙

    3.   systemctl   disable   firewalld    ##  开机不会自启动

         4.   systemctl   start   httpd           ##  打开httpd服务

    5.    systemctl   enable   httpd     ## 开机自启动

      6.   cp    /mnt/ ks.cfg     /var/www/html/  ## 把该共享出去,此时可以在浏览器中输入172.25.254.100/ks.cfg 可以看到生成的文件的内容   

  3)检测:在主机的终端中     

     vim  /mnt/create_virt.sh

     #!/bin/bash

     virt-install \     
     --ram 1024 \
     --cpus 1 \
     --disk /var/lib/libvirt/images/$1.qcow2,bus=virtio,size=9 \
     --name $1 \
     --network bridge=br0,model=virtio &> /dev/null  \
     --location  http://172.25.254.77/rhel7.2  \     ## 此处为自己镜像的共享地址
          --extra-args  ks=http://172.25.254.100/ks.cfg & ## 使安装过程自动

 

    chmod  755  /mnt/create_virt.sh   

         /mnt/create_virt.sh     hello