一、虚拟机安装

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

1)图形化方法

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

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

【3】在以下界面点击Forward

  

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

 
  【5】点击Browse Local 

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

【7】在以界面点击Forward

  

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

 

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

 

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

 

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

  

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

   

1、选择安装时的语言

2、选择安装完成后

    

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

    

4、选择手动分区

   

5、选择第一个标准分区

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

    

分配结果如下:

    
   7.点击Accept changes 完成配置的修改 
   

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、磁盘信息的查看:

     

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

    

【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  root@172.25.254.100

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

-Linux下的虚拟机安装与管理的更多相关文章

  1. 细说Linux下软件包的安装与管理

    一 源码安装方式      由于linux操作系统开放源代码,因而在其上安装的软件大部分也都是开源软件,例如apache.tomcat.php等软件.开源软件基本都提供源码下载,源码安装的方式:源码安 ...

  2. Linux下软件的安装与管理

    1.源码安装方式 2.RPM包方式安装 3.yum安装方式 4.二进制软件安装方式 1.源码安装方式 (1)下载.解压Apache源码: mkdir /apache #在根目录下创建一个apache目 ...

  3. windows下使用虚拟机安装linux操作系统

    前言:虚拟机是开发者的好帮手,它可以帮助我们在同一台电脑上创建不同的环境,这样你就可以在不影响原有的环境下,使用另外一套新的环境去完成你的开发工作.相信不少在windows下开发的同学对此深有体会,本 ...

  4. 笔记:Linux下软件的安装、CentOS更新yum源、LAMP环境搭建、kali软件管理

    一.Linux下软件的安装 方式:yum源 / rpm /源码安装 1.yum:(帮助管理员解决依赖关系) yum是通过分析rpm的包头数据后,根据各种软件的相关性质做出属性相对应的解决方案,然后可以 ...

  5. Linux下命令行安装weblogic10.3.6

    Linux下命令行安装weblogic10.3.6 一.安装前准备工作: 1.创建用户useradd weblogic;创建用户成功linux系统会自动创建一个和用户名相同的分组,并将该用户分到改组中 ...

  6. Linux下Perl的安装(转)

    原文地址:Linux下Perl的安装 今天在虚拟机测试shell脚本的时候,有些命令使用不了. 比如说 mysqlhotcopy ,它提示Perl的版本太低. 我用的 RedHat9 的Perl才5. ...

  7. [转载]实战Linux下VMware虚拟机根目录空间扩充

    [转载]实战Linux下VMware虚拟机根目录空间扩充 (2011-07-31 21:34:34) 转载▼ 标签: 转载   原文地址:实战Linux下VMware虚拟机根目录空间扩充作者:shar ...

  8. Linux 下编译、安装、配置 QT

    转自Linux 下编译.安装.配置 QT 注意:编译安装耗时费力,且很容易出错,要不断调整编译参数,不推荐使用,否则这将会是一个纠结痛苦的过程. 打算做嵌入式图像处理,计划方案嵌入式Linux+Ope ...

  9. .Neter玩转Linux系列之六:Linux下MySQL的安装、配置、使用

    一.Linux安装MySQL (1)下载安装包:https://dev.mysql.com/downloads/mysql/ (2)解压并安装 命令:tar zxvf 文件名 解压完成之后,重名一下文 ...

随机推荐

  1. CSS 媒体类型

    CSS 媒体类型 媒体类型允许你指定文件将如何在不同媒体呈现.该文件可以以不同的方式显示在屏幕上,在纸张上,或听觉浏览器等等. 一.媒体类型 一些CSS属性只设计了某些媒体.例如"voice ...

  2. [pixhawk笔记]6-uORB流程及关键函数解析

    本文中将结合代码.文档及注释,给出uORB执行流程及关键函数的解析,由于uORB的机制实现较为复杂,所以本文主要学习如何使用uORB的接口来实现通信.回到上一篇笔记中的代码: #include < ...

  3. java第一周学习总结

    学号20145336 <Java程序设计>第1周学习总结 教材学习内容总结 java是sun推出的一门高级编程语言,现已经成为web开发的首选语言.他分为三种技术架构,j2ee针对web应 ...

  4. java处理json的工具类(list,map和json的之间的转换)

    需要下载第三方的jar :net.sf.json import java.io.BufferedReader; import java.io.InputStream; import java.io.I ...

  5. Mysql批量更新速度慢的解决方案

    批量更新的时候不能用子查询 where shop_orderform_id in( select shop_orderform_id from `shop_orderform` where user_ ...

  6. 转:web.xml 中的listener、 filter、servlet 加载顺序及其详解

    在项目中总会遇到一些关于加载的优先级问题,刚刚就遇到了一个问题,由于项目中使用了quartz任务调度,quartz在web.xml中是使用listener进行监听的,使得在tomcat启动的时候能马上 ...

  7. Codeforces Round #365 (Div. 2) D - Mishka and Interesting sum(离线树状数组)

    http://codeforces.com/contest/703/problem/D 题意: 给出一行数,有m次查询,每次查询输出区间内出现次数为偶数次的数字的异或和. 思路: 这儿利用一下异或和的 ...

  8. appium 处理滑动的方法

    appium 处理滑动的方法是 swipe(int start-x, int start-y, int end-x, int end-y, int during) - Method in class ...

  9. Android -- ContentObserver 内容观察者

    1. 实现原理图 2. 示例代码 (暂时有个问题,短信观察者 收到一条短信时 onchange方法会执行两次, 解决方法为:每次监听到变化的时候就去取最新短信的id,跟上次取的比较,如果一样的就不做处 ...

  10. codeforces600E Lomsat gelral

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...