Linux学习 十五单元

系统虚拟机管理
一、安装
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 &  ##安装源指定

2.管理

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表示前端管理文件
virsh define vmname.xml ##永久恢复vm
virsh undefine  vmname ##删除vm的前端管理,不会删除存储

文件快照

读快照文件是读源文件,对快照文件修改不会影响源文件。

(一)手动方式进行快照

1.文件快照

下面进行举例,假定已存在虚拟机westos,该虚拟机不能进行重置否则会被删除,可以通过,命令将其从前端隐藏。

 virsh undefine westos   ##将虚拟机westos从前端隐藏

(A)以相对路径进行快照

  cd/var/lib/libvirt/images/

 ls   ##查看是虚拟机westos

 qemu-img create -f qcow2 -b westos.qcow2 first.qcow2

  其中create  #创建文件

    -f qcow2   #指定文件类型qcow2

    -b westos.qcow2 first.qcow2   #对westos.qcow2生成first.qcow2

(B)以绝对路径进行快照,root下

 qemu-img create -f qcow2 -b /var/lib/libvirt/westos.qcow2  /var/lib/libvirt/first.qcow2

3.在前端中进行添加快照生成虚拟机:cd文件选择westos.qcow2,然后进行安装

运行虚拟机first,其内容的修改不会影响westos.若破坏了first虚拟机,删除后再重次新快照,即相当于重置了westos

(二)命令方式进行快照

若是刚操作完上面的实验,需要还原镜像,选择image

virsh destory westos  #强行关闭虚拟机

1.vim /mnt/vm_westos.sh   #写脚本,此时只能在/mnt/目录下运行运行该目录下文件

 * #!/bin/bash

  virsh destory $1      #强行关闭虚拟机$1

  virsh undefine $1     #将已存在的虚拟机$1 从前端删除

  qemu-img create -f qcow2 -b /var/lib/libvirt/images/$1.qcow2/var/lib/libvirt/images/$2.qcow2   #脚本中必须用绝对路径,快照

 *virt-install \         #  创建虚拟机,但需要手动安装

  --name $2 \            #

  --ram 1024 \           #

  --file /var/lib/libvirt/$2.qcow2 \  不用重新定义大小,因为是已经存在的文件快照

  --import &    导入已存在

   wq

2.chmod +x /mnt/vm_westos.sh  #添加执行权限

3./mnt/vm_westos.sh 已存在的文件名称 快照文件名称  只能在/mnt/下调用该命令

4.mv /mnt/vm_westos.sh /bin/  #移动至/bin/下,则在任何情形下均可调用

5.vm_westos.sh westos linux #删除快照文件或虚拟机westos,再对linux进行快照,重新生成westos

(三)若破坏了快照文件,可以直接删除快照文件再重新快照,可以编写重启脚本。

1.vim /bin/vm_reset.sh

 #!/bin/bash

 virsh destory $1 

  rm-fr /var/lib/libvirt/images/$1.qcow2  ##删除损坏的快照文件

 qemu create -f /var/lib/libvirt/images/$2.qcow2/var/lib/libvirt/images/$1.qcow2    ##原始光盘文件进行快照,用$2 来恢复$1

 virsh start $1

  wq

2.vm_reset.sh 文件名 ##重启

四、自动安装

在root下,安装软件kickstart

1.df  ##查看yum源是否挂载

2.yum search kickstart   ##查找是否有kickstart软件,找其软件包

  yuminstall system-config-kickstart.noarch -y #下载软件

3.system-kickstart.noarch  #运行

  进行设置,再进行保存,保存路径/var/www/html/文件名.cfg  #可以进行共享

4.vim /var/www/html/文件名.cfg  

  添加以下指令:  %packages

               @base   #表示是一个文件的组,必须是已存在的组.若无@,则为字符串

               gcc

               %end

                wq

  yumgroups list   #查看存在的组

5.kickstart ?查错

自动安装软件/虚拟机

6.vim /bin/文件名.sh 

 #!/bin/bash

 virt-install \

 --name $1 \

 --ram 1024 \

 --file /var/lib/libvirt/images/$1.qcow2 \

 --file-size 8 \

 --extra-args "ks=http://172.25.254.20/文件名.cfg"  #安装源指向172.25.254.20/文件名.cfg

  wq

7.chmod +x /bin/文件名.sh

8.文件名.sh 名称   ##自动安装系统,不需手动设置

五、dhcp动态获取

1.yum search dhcp    #找出dhcp的软件包software

2.yum install dhcp -y   #下载软件

3.vim /etc/dhcp/dhcpd.conf   #编写dhcp的配置文件

 A.根据其内容提示:see /.../,在终端进行查看,操作如下:

  cp/.../ /etc/dhcp/dhcpd.conf

 overwrite y   #选择覆盖文件

 B.36行以下及27与28行删除,30-33行进行修改:提供的IP地址范围,客户网关,及子网掩码。7、8 行表示公司的名称及提供的IP地址广播号

4.systemctl start dhcpd  #开启dhcp服务

  文件名.sh 名称 #进行测试,可以完成安装

 systenmctl stop dhcpd  #关闭服务

  文件名.sh 名称 #不能完成安装,因为无法获得ip

5.cat /var/lib/dhcpd.lease  #可以查看ip分配情况

  在前端的NIC处可以查看ip来源   



你可能感兴趣的:(Linux学习<一>)