一、虚拟机安装

首先安转之前,要提前下载一个镜像,这里是: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. java中内部类的积累

    放在一个类的内部的类我们就叫内部类. 二. 作用 1.内部类可以很好的实现隐藏 一般的非内部类,是不允许有 private 与protected权限的,但内部类可以 2.内部类拥有外围类的所有元素的访 ...

  2. try cath

    用try cath 的缺点? 举例: 一个程序 有3层.基类层,中间层,和  使用层. 在 基类层 使用 try cath 如果发生 异常,将会 一层一层 冒泡到 使用层 并弹出报错信息:效率 大大降 ...

  3. MVC中使用分部视图参数,改变分部视图连接样式

    MVC中使用分部视图参数,改变分部视图连接样式! Controller代码 [ChildActionOnly] public ActionResult Navigator(int tag) { ret ...

  4. Yahoo网站性能优化的34条规则

    摘自:http://blog.chinaunix.net/uid/20714478/cid-74195-list-1.html Yahoo网站性能优化的34条规则 1.尽量减少HTTP请求次数 终端用 ...

  5. 如果css足够强大了,你还会用编程的方式实现去实现css已有的功能吗?

    现在css3 都出来的,但是其实我由于一些原因,有些css2中都能支持的样式,我都没有使用过.我感觉我真的有必要静下心来,去看看那些东西,看看哪些以前都被忽视掉的. 今天我主要来讲三个对于我们编程经常 ...

  6. HBase安装过程

    1).上传,解压,重命名,修改环境变量/etc/profile 2).修改 hbase-env.sh 文件 export JAVA_HOME=/usr/java/jdk1.7.0_27 //Java ...

  7. MysQL使用一查询

    简介 查询的基本语法 select * from 表名; from关键字后面写表名,表示数据来源于是这张表 select后面写表中的列名,如果是*表示在结果中显示表中所有列 在select后面的列名部 ...

  8. 混合开发的大趋势之一React Native手势行为那些事

    转载请注明出处:王亟亟的大牛之路 最近项目部分模块重构,事情有点多,学习进度有所延缓,外加一直在吸毒(wow你懂的),导致好多天没发问了,其实这部分知识月头就想写了,一直没补. 话不多说先安利:htt ...

  9. jQuery获取属性值的方法

    1.利用绑定事件:     $(".callback").on("click","#knbh",function(){      ***** ...

  10. [转]常见HTTP状态(如200,304,404,503)

    在网站建设的实际应用中,容易出现很多小小的失误,就像mysql当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样,Google无法验证网站几种解决办法,提及到由于 ...