自定义虚拟机安装(KVM)

                                                                 自定义虚拟机安装

一、创建虚拟交换机

原理:调用 dnsmasq 提供DNS、DHCP等功能

创建配置文件  /etc/libvirt/qemu/networks/vbr.xml

<network>
  <name>vbr</name>
  <bridge name="vbr"/>
  <forward mode="nat"/>
  <ip address="192.168.1.254" netmask="255.255.255.0">
    <dhcp>
      <range start="192.168.1.100" end="192.168.1.200"/>
    </dhcp>
  </ip>
</network>

二、真机room上快速配置网络 yum 源

[root@room ~]# yum install vsftp
[root@room ~]# vim  /etc/vsftpd/vsftpd.conf
 ... 
 listen=YES
 listen_ipv6=NO
 ...
[root@room ~]# systemctl enable vsftpd
[root@room ~]# systemctl start vsftpd

[root@room ~]# mkdir  /var/ftp/centos7
[root@room ~]# mount  –t  iso9660   –o loop,ro  /root/CentOS7-1708.iso    /var/ftp/centos7

[root@room ~]# yum repolist

三、virt-manager图形化安装虚拟机

1.启动 virt-manager 软件,选择新建虚拟机

2.选择网络安装源

3. 创建自定义镜像文件node.img

[root@room ~]# qemu-img  create  -f  qcow2  /var/lib/libvirt/images/node.img   16G

 

4. 网络选择自定义的vbr

 

5. 软件选择 minimal ,关闭 KDUMP,选择手工分区

 

 

 

 

四、虚拟机模板制作

把刚刚安装好的系初始化

1. 禁用 selinux

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

2. 卸载相关软件

 [root@localhost ~]# yum  remove  -y  NetworkManager-*   firewalld-* 

3. 配置 yum 源

 [root@localhost ~]# vim /etc/yum.repo.d/centos7.repo
   [local_repo]
   name=centos7
   baseurl="ftp://192.168.1.254/centos7"
   enabled=1
   gpgcheck=0

4. 常用系统命令安装

 [root@localhost ~]# yum install -y net-tools vim-enhanced bridge-utils  

5. 修改网卡配置文件

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
   DEVICE="eth0"
   ONBOOT="yes"
   IPV6INIT="no"
   TYPE="Ethernet"
   BOOTPROTO ="dhcp"

6. 禁用空路由 

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

7. 重启机器

[root@localhost ~]# reboot

8. 添加 Console 配置及初除磁盘分区里的个性化信息

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

9.  重新生成 grub.cfg

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

10. 修改 /etc/fstab,blkid 查看 uuid 对应的磁盘设备, 将UUID修改为系统设备 

[root@localhost ~]# blkid
   /dev/vda1: UUID="98bd48a3-dd66-49bd-a0e1-3c70e337f2aa" TYPE="xfs"

[root@localhost ~]# vim  /etc/fstab
   /dev/vda1       /          xfs     defaults        0    0

11. 安装分区扩展软件

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

[root@localhost ~]# chmod 755 /etc/rc.local      # 设置第一次开机自劢扩容根目录
  
[root@localhost ~]#  vim    /etc/rc.local
/usr/bin/growpart /dev/vda 1                     # 扩展磁盘分区空间(让 /dev/vda1 变大)
/usr/sbin/xfs_growfs /                           # 扩展文件系统识别空间(让 df -h 可使用空间变大)

12. 关闭虚拟机,清理信息 (真机)

[root@room ~]# virt-sysprep -d  centos7.0
[   0.0] Examining the guest ...
[  28.9] Performing "abrt-data" ...
[  28.9] Performing "backup-files" ...
[  29.2] Performing "bash-history" ...
[  29.2] Performing "blkid-tab" ...
[  29.3] Performing "crash-data" ...
[  29.3] Performing "cron-spool" ...
[  29.3] Performing "dhcp-client-state" ...
[  29.3] Performing "dhcp-server-state" ...
[  29.3] Performing "dovecot-data" ...
[  29.3] Performing "logfile s" ...
[  29.3] Performing "machine-id" ...
[  29.3] Performing "mail-spool" ...
[  29.3] Performing "net-hostname" ...
[  29.3] Performing "net-hwaddr" ...
[  29.3] Performing "pacct-log" ...
[  29.3] Performing "package-manager-cache" ...
[  29.3] Performing "pam-data" ...
[  29.3] Performing "passwd-backups" ...
[  29.3] Performing "puppet-data-log" ...
[  29.3] Performing "rh-subscription-manager" ...
[  29.3] Performing "rhn-systemid" ...
[  29.3] Performing "rpm-db" ...
[  29.3] Performing "samba-db-log" ...
[  29.3] Performing "script" ...
[  29.3] Performing "smolt-uuid" ...
[  29.3] Performing "ssh-hostkeys" ...
[  29.3] Performing "ssh-userdir" ...
[  29.3] Performing "sssd-db-log" ...
[  29.3] Performing "tmp-files" ...
[  29.3] Performing "udev-persistent-net" ...
[  29.3] Performing "utmp" ...
[  29.3] Performing "yum-uuid" ...
[  29.3] Performing "customize" ...
[  29.3] Setting a random seed
[  29.8] Performing "lvm-uuids" ...

13. 备份虚拟机XML配置文件

[root@room ~]#cd  /etc/libvirt/qemu/
[root@room qemu]#cp  centos7.xml   centos7.0.xml.bak

14. 修改XML配置文件如下

<domain type='kvm'>
  <name>node</name>
  <memory unit='KB'>2097152</memory>
  <currentMemory unit='KB'>2097152</currentMemory>
  <vcpu placement='static'>2</vcpu>
  <os>
    <type arch='x86_64' machine='pc'>hvm</type>
    <boot dev='hd'/>
    <bootmenu enable='yes'/>
    <bios useserial='yes'/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough'>
  </cpu>
  <clock offset='localtime'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/node.img'/>
      <target dev='vda' bus='virtio'/>
    </disk>
    <interface type='bridge'>
      <source bridge='vbr'/>
      <model type='virtio'/>
</interface>
<channel type='unix'>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
    </channel>
    <serial type='pty'></serial>
    <console type='pty'>
      <target type='serial'/>
    </console>
    <memballoon model='virtio'></memballoon>
  </devices>
</domain>

15.   删除虚拟机定义

[root@room ~]#  virsh  undefine  centos7.0

16.  查看模板虚拟机镜像

[root@room ~]#  ll  -h  /var/lib/libvirt/images/node.img
-rw-r--r--  1  root  root  1.2G  9月   7 17:35  node.img

五.  快速创建虚拟机-----例如创建虚拟机node1

1.  创建磁盘文件

[root@room ~]# cd /var/lib/libvirt/images
[root@room images]# qemu-img create -b node.img -f qcow2 node1.img 32G

2.  创建虚拟机配置文件

[root@room images]#sed 's/node/node1/' /root/nsd1804/centos7.0.xml > /etc/libvirt/qemu/node1.xml
[root@room images]#virsh define /etc/libvirt/qemu/node1.xml
定义域 node1(从 /etc/libvirt/qemu/node1.xml)

3.  启动虚拟机

[root@room images]#virsh start node1
域 node1 已开始

4.  连接查看虚拟机

[root@room images]# virsh console node1

 

 PS: https://www.aliyun.com/minisite/goods?userCode=u0tkwwza

https://www.aliyun.com/minisite/goods?userCode=u0tkwwza

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值