模板机配置 快建虚拟机 离线挂载工具

Top

NSD CLOUD DAY02

  1. 案例1:xml管理
  2. 案例2:安装虚拟机
  3. 案例3:离线访问虚拟机问题

1 案例1:xml管理

1.1 问题

熟悉xml文件,并对虚拟机的配置进行调整:

  • 导出一个虚拟机的xml配置文件
  • 编辑xml文件
  • 重新定义虚拟机
  • 删除此虚拟机

1.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:导出虚拟机xml的配置文件

1)查看xml配置文件

  1. [root@room9pc01 ~]# cd /etc/libvirt/qemu/
  2. [root@room9pc01 qemu]# virsh dumpxml node1
  3. [root@room9pc01 qemu]# virsh dumpxml node1 > node.xml
  4. //导出虚拟机node1的配置文件为node.xml
  5. [root@room9pc01 qemu]# ls
  6. node.xml

virsh命令: virsh edit 虚拟机名

备注:可以修改name,memory,disk、network等字段

  1. [root@room9pc01 qemu]# virsh edit node1            
  2. <domain type='kvm'>
  3. <name>node1</name>                        //node1为虚拟机的名称,可以随意修改
  4. <uuid>76d5dc2c-5eef-4e30-8b6c-e58851814f84</uuid> //uuid可以去掉
  5. <memory unit='KiB'>2048000</memory>                //内存大小可以调整
  6. <currentMemory unit='KiB'>2048000</currentMemory>
  7. <disk type='file' device='disk'>
  8. <source file='/var/lib/libvirt/images/rhel7.2.qcow2'/>        //后端盘路径
  9. .. ..
  10. <interface type='network'>
  11. <mac address='52:54:00:91:52:e4'/>            
  12. //mac地址和带有address字样的全部去掉
  13. .. ..

步骤二:重新定义虚拟机

1)重新定义虚拟机

  1. [root@room9pc01 qemu]# virsh define node1.xml

2)取消定义的虚拟机

  1. [root@room9pc01 qemu]# virsh undefine node1

2 案例2:安装虚拟机

2.1 问题

本案例要求可以成功安装一个自定义虚拟机:

  • 配置一个网络yum,并安装一个虚拟机
  • 制作一个虚拟机模板,包括配置yum,网卡等

2.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:配置网络yum源

  1. [root@room9pc01 ~]# yum -y install vsftpd
  2. [root@room9pc01 ~]# vim /etc/vsftpd/vsftpd.conf
  3. listen=YES
  4. listen_ipv6=NO
  5. [root@room9pc01 ~]# systemctl restart vsftpd
  6. [root@room9pc01 ~]# mkdir /var/ftp/centos
  7. [root@room9pc01 ~]# mount /iso/CentOS-7-x86_64-DVD-1708.iso /var/ftp/centos/
  8. mount: /dev/loop1 写保护,将以只读方式挂载
  9. [root@room9pc01 ~]# vim /etc/yum.repos.d/dvd.repo
  10. [dvd]
  11. name=dvd
  12. baseurl=ftp://192.168.1.254/centos
  13. enabled=1
  14. gpgcheck=0
  15. [root@room9pc01 ~]# yum clean all
  16. [root@room9pc01 ~]# yum repolist
  17. [root@room9pc01 ~]# cd /var/lib/libvirt/images/
  18. [root@room9pc01 images]# qemu-img create -f qcow2 node.qcow2 16G
  19. Formatting 'node.qcow2',fmt=qcow2 size=17179869184 encryption=off cluster_size=65536 lazy_refcounts=off

步骤二:安装一个虚拟机

  1. [root@room9pc01 images]# virt-manager        //真机操作,启动virt-manager

使用virt-manager软件选择新建虚拟机如图-1所示:

图-1

选择安装方式如图-2所示:

图-2

选择内存,cpu和自定义存储如图-3所示:

图-3

选择虚拟机名称和网络如图-4所示:

图-4

 

选择分区和KDUMP如图-5所示:

图-5

选择创建分区如图-6所示:

图-6

 

选择standard Partition如图-7所示:

图-7

创建一个根分区如图-8所示:

图-8

步骤三:制作一个虚拟机模板

1)禁用selinux

  1. [root@localhost ~]# vim /etc/selinux/config
  2. SELINUX=disabled

2)卸载防火墙与NetworkManager

  1. [root@localhost ~]# yum -y remove NetworkManager-* firewalld-* python-firewall

3)配置yum源

  1. [root@localhost ~]# vim /etc/yum.repos.d/dvd.repo
  2. [dvd]
  3. name=dvd
  4. baseurl=ftp://192.168.1.254/centos
  5. enabled=1
  6. gpgcheck=0
  7. [root@localhost ~]# yum clean all
  8. [root@localhost ~]# yum repolist

4)导入公钥

注意:把/etc/yum.repos.d/dvd.repo的gpgcheck=0改成gpgcheck=1

  1. [root@localhost ~]# lftp 192.168.1.254
  2. lftp 192.168.4.254:~> cd centos
  3. lftp 192.168.4.254:/centos> get RPM-GPG-KEY-CentOs-7
  4. lftp 192.168.4.254:/centos> exit
  5. [root@localhost ~]# rpm --import RPM-GPG-KEY-CentOs-7
  6. [root@localhost ~]# yum -y install net-tools vim-enhanced bridge-utils psmisc

5)配置网卡

  1. [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
  2. DEVICE="eth0"
  3. ONBOOT="yes"
  4. IPV6INIT="no"
  5. TYPE="Ethernet"
  6. BOOTPROTO ="dhcp"
  7. [root@localhost ~]# systemctl restart network

6)禁用空路由

  1. [root@localhost ~]# vim /etc/sysconfig/network
  2. NOZEROCONF="yes"

7)添加console配置

  1. [root@localhost ~]# vim /etc/default/grub
  2. GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 console=ttyS0,115200n8"
  3. GRUB_DISABLE_LINUX_UUID="true"
  4. GRUB_ENABLE_LINUX_LABEL="true"

8)重新生成grub.cfg

  1. [root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

9)安装扩展分区软件

  1. [root@localhost ~]# yum install -y cloud-utils-growpart

10)第一次开机自动扩容

  1. [root@localhost ~]# /usr/bin/growpart /dev/vda 1
  2. [root@localhost ~]# /usr/sbin/xfs_growfs /

11)关闭虚拟机后执行信息清理工作

  1. [root@room9pc01 ~]# virt-sysprep -d centos7.0
  2. //真机上面操作,centos7.0为虚拟机名称

3 案例3:离线访问虚拟机问题

本案例要求可以离线访问虚拟机:

  • 利用xml文件生成一个新的虚拟机
  • 利用guestmount实现离线访问虚拟机

3.1 步骤

实现此案例需要按照如下步骤进行。

步骤一:用xml生成一个新的虚拟机

  1. [root@room9pc01 ~]# cd /etc/libvirt/qemu/
  2. [root@room9pc01 qemu]# cp centos7.0.xml local.xml
  3. [root@room9pc01 qemu]# vim local.xml
  4. <domain type='kvm'>
  5. <name>local</name>        //修改名字
  6. <memory unit='KiB'>2048000</memory>        //修改内存
  7. <currentMemory unit='KiB'>2048000</currentMemory>
  8. ...
  9. <source file='/var/lib/libvirt/images/local.img'/>     //img文件位置

注意:除这些外还要把mac地址删掉,带address字样的全部删除

  1. [root@room9pc01 ~]# cd /var/lib/libvirt/images/
  2. [root@room9pc01 images]# qemu-img create –b node.qcow2 –f qcow2 local.img
  3. [root@room9pc01 images]# virsh define /etc/libvirt/qemu/local.xml
  4. [root@room9pc01 images]# virsh start local
  5. [root@room9pc01 images]# virsh console local

步骤二:guestmount实现离线访问

基本用法:guestmount -a 虚拟机磁盘路径 -i /挂载点

-a:指定虚拟磁盘

-i:挂载点

  1. [root@room9pc01 ~]# mkdir /mnt/kdisk
  2. [root@room9pc01 ~]# guestmount -a node1.qcow2 -i /mnt/kdisk
  3. [root@room9pc01 ~]# cd /mnt/kdisk
  4. [root@room9pc01 kdisk]# ls
  5. bin     home     media     opt     sbin     tmp
  6. boot     lib misc     proc     selinux     usr

转载于:https://www.cnblogs.com/tiki/p/10785394.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值