Too young, too simple. Sometimes, naive & stupid

虚拟化模板制作-CentOS7

有关CentOS6的制作我大概思路已经做过一篇文章,本来是希望读者根据这篇来尝试其他release的模板,再加上之前的文章可能对小白有点不友好,我以为SWAP和磁盘分区的问题大家是可以解决的,加上最近同事有这方面的需要,就再次整理一篇。

还是希望大家不是简单的Ctrl + C

这次的需求呢,是这样:

  1. 网卡配置
  2. IP地址分发
  3. 强制修改密码(有点简陋)
  4. 磁盘分区问题

涉及到什么?

  1. ifcfg
  2. udev没什么关系的udev
  3. profile
  4. sed
  5. 自定义规范
  6. 清理工作

希望读者读完这篇Step By Step一样的文档后可以理解:

  • 模板制作根本就不是模板,而是基于虚拟磁盘文件(vmdk)的复制及虚拟机配置文件(vmx)重建的过程
  • 您做模板的目的是为了什么?
  • 能否理解每个操作都是在做什么
  • 为什么要通过这些操作,修改或删除一些内容
  • 如果我的文章没能满足你的需求,您需要如何改进?

安装操作系统

略去安装系统的步骤,(我想如果装不上系统,模板的需求也不强烈,那你就多装几次,23333)。

文字描述下过程:

  • 下载ISO,上传到数据存储

  • 一个满足通用需求磁盘大小的虚拟机

  • 安装CentOS7

  • 巴拉巴拉

转换为模板之前的准备工作

  • 更新系统(如果有内网源,最好封装到模板):

    1
    yum update -y
  • 安装vmtools:

    安装vmtools(这里有点问题,你到底是选open-vm-tools,还是vmware自带的iso)

    这里vmware官方建议的是7版本以后使用open-vm-tools原因是通过rpm包分发的方式,且宿主机管理vmtools。

    安装open-vm-tools(两者选一)

    1
    2
    yum install open-vm-tools -y 
    systemctl restart vmtoolsd
  • 检查网络配置文件

    这里就是把网卡配置的UUIDHWADDR删掉。

    1
    sed -i '/^(HWADDR|UUID)=/d' /etc/sysconfig/network-scripts/ifcfg-xxx  (xxx为网卡配置文件名)
  • 删除udev:

    这里其实是不用删除的,如果担心可以看下:

    1
    2
    ls /etc/udev/rules.d/
    rm -rf /etc/udev/rules.d/70-* # 如果存在则删除
  • 配置ntp:

    这里可选,如需要则可以安装chrony然后配置平时常用的ntp服务器地址

  • 配置第一次登陆修改密码:

    /etc/profile末尾追加以下内容:

    1
    passwd ; nmtui ; history -c ; sed -i '$d' /etc/profile # 这里根据自己的需要调整。

    别写错了,修改前要清除自己的操作是在干什么 有什么风险。

  • 删除machine-id

    1
    2
    3
    4
    cd /etc
    chmod 777 machine-id
    vi machine-id # 删除machine id 删完保存
    chmod 444 machine-id # 还原权限。
  • 清空日志及其临时文件:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    rm –rf /tmp/*
    rm –rf /var/tmp/*
    systemctl stop rsyslog
    systemctl stop auditd
    rm –f /var/log/*-???????? /var/log/*.gz # 注意这步,选择进行。
    rm -f /var/log/dmesg.old
    rm -rf /var/log/anaconda
    rm -rf /etc/ssh/ssh_host_*
    echo > /var/log/wtmp
    echo > /var/log/btmp
    history -c
    echo > ~/.bash_history
  • 执行如下命令完成系统封装:

    1
    sys-unconfig

接下来,系统会自动关机。然后右键此虚拟机,转换为模板。

自定义虚拟机规范文件

自定义规范的步骤参照win模板制作

配置完自定义规范文件,部署虚拟机时选择需要的规范文件就可以根据向导并且配置ip了。