linux – 准备虚拟设备

linux – 准备虚拟设备,第1张

概述在将正在运行的虚拟机转换为OVA(可再发行的虚拟设备)之前,需要做些什么来确保它处于就绪状态,以便OVA的实例不会带来构建过程中不必要的或可能具有破坏性的错误?这就是我到目前为止所拥有的.我错过了什么吗?如果这已经得到答案或者有一个最佳通用实践文档,我会欣赏指向正确方向的指针.谢谢. ##################################### Get all package 在将正在运行的虚拟机转换为OVA(可再发行的虚拟设备)之前,需要做些什么来确保它处于就绪状态,以便OVA的实例不会带来构建过程中不必要的或可能具有破坏性的错误?这就是我到目前为止所拥有的.我错过了什么吗?如果这已经得到答案或者有一个最佳通用实践文档,我会欣赏指向正确方向的指针.谢谢.
##################################### Get all packages up2date and ## clean out any cruft in the ## local packages###################################yum -y update ;yum clean all ;##################################### Get rID of the signs I was ## tinkering with this###################################[[ -a /etc/issue-original,v ]] && unlink /etc/issue-original,v ;[[ -a /etc/issue,v ]] && unlink /etc/issue,v ;ci -u /etc/issue ;##################################### Remove the host-keys to they## will be regenerated when the## new VM is spun-up#### Also make sure I remove any ## personal keys I may have been## using while setting up###################################find /etc/ssh/*host* |xargs unlink ;find /root/.ssh/ -type f |xargs unlink ;find /home/*/.ssh/ -type f |xargs unlink ;##################################### Get rID of the use of UUID in ## FSTAB and any NIC configuration## so the new VM can find then when## the UUIDs are regenerated #### Since we use LVM,only the /boot## slice is a direct slice reference## the rest are logical volumes###################################sed -i -e 's/UUID=[0-9a-f-]*\s/\/dev\/sda1\t/' /etc/fstab ;sed -i -e '/^UUID=[0-9a-f-]*.*/d' /etc/sysconfig/network-scripts/ifcfg-eno* ;sed -i -e '/^UUID=[0-9A-F-]*.*/d' /etc/sysconfig/network-scripts/ifcfg-eno* ;find /etc/udev/rules.d/ -iname '70*net*' |xargs unlink ;##################################### Let the NTP daemon kNow to ## expect a big jump in time,so ## he doesn't freak out. Also let## him kNow that if the walls melt,## it is the acID,speaking and ## he'll be alright###################################[[ -a /etc/ntp.conf ]] && \  [[ "$(head -1 /etc/ntp.conf)" == "tinker panic 0" ]] || \  sed -i -e '1itinker panic 0\n' /etc/ntp.conf ;##################################### Trunate the command-historIEs## because the learning-process## can contain some embarrassing## mistakes,some of which are ## also bad opsec###################################>/root/.bash_history ;>/home/*/.bash_history ;>/root/anaconda-ks.cfg ;##################################### Lastly,instruct the OS to redo## the initial setup and put back## that new-machine-smell###################################sys-unconfig ;
解决方法 我现在无法访问当前的清理脚本,但我们考虑的一件事是可以部署设备而无需运行正确的自定义步骤.这意味着,例如,原始图像上的主机名可能存在,并且必须在关闭之前重置.我们通常将我们设置为localhost.

考虑到这一点,这些是您可能需要处理的额外步骤

>清理/ etc / hosts,/ etc / resolv.conf,/ etc / sysconfig / network中的任何自定义值
>除了删除ifcfg文件外,不要忘记删除任何路由文件(/ etc / sysconfig / network-scripts / route-eno *),如果有的话
>旋转并清理每个日志文件,审核日志和wtmp文件(不要删除wtmp文件,只需要cat / dev / null> / var / log / wtmp),这样它们就会空着
>清理/ var / tmp和/ tmp
>清理vmware配置日志(如果有)(iirc,/ var / log / vmware-imc / *)
>如果您将模板注册到RH Satellite,SpaceWalk,SuSE Manager或RHN本身,请确保将/ etc / sysconfig / rhn或类似版本恢复为默认值.从经验来看,这些都是一个坏主意.我们通常只是在第一次创建图像时进行备份,而在关闭图像时返回mv.如果您的环境使用它,/ etc / sysconfig / osad也是如此.
>删除可能已创建的任何额外用户,以及影子文件上的每个单个密码
>确保初始化,首次启动,部署后自定义脚本实际设置为在首次启动时运行.

最后,但并非最不重要的是,您可以将每个文件系统以及额外未使用的VG空间归零,这样您就可以更好地压缩图像.我们有一个进入每个文件系统的脚本,dd是一堆零,直到它填满,然后删除文件.对于具有空白空间的VG,创建一个填充100%FREE的LV,将其清零并将其删除.完成这些最后步骤(关闭之前的最后一步)后,您可以根据您正在创建的图像类型使用技巧:

>对于VMWare,将映像克隆到新VM,目标设置为精简配置.执行此 *** 作时,所有连续的零将转换为空
>对于openstack / kvm映像,您可能希望使用qemu-img将它们转换为qcow2(如果您的提供者支持它),并启用compress标志:qemu-img convert -f raw -O qcow2 -c source.raw destination. qcow2

我们从这个过程中得到的一件事是,每当我们通过一个新的图像循环运行时,我们就会知道我们可以添加的新东西,通常只有在它发布之后.这会添加到下一个周期,依此类推.

编辑:根据“每次我们学到新东西”的精神,上次添加了以下步骤:

>百胜历史新> yum重新安装baseystem -y

总结

以上是内存溢出为你收集整理的linux – 准备虚拟设备全部内容,希望文章能够帮你解决linux – 准备虚拟设备所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1038094.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存