如何保持esxi修改的策略在重启后依然生效

vmkernel使用的是内存文件系统,配置、日志、补丁都保存在内存中。而 开机引导使用的p_w_picpaths 则保存在/bootbank和 /altbootbank目录下。这也是为什么 esxi 系统不需要在主机上安装,也可以直接引导起来的原因,它会把远程的镜像直接安装到内存中。

    如何将配置保存,在 esxi 系统重启后依然有效,我查了不少文档,找到几种方法。

一、手动修改引导区镜像的内容,增加变动的部分

 1.1将变动的文件打个 压缩包,生成的文件要放到 /bootbank目录下

tar -cvzf service.tgz /etc/vmware/firewall/service.xml

1.2使用bootModuleConfig脚本向将该文件添加到启动配置文件里 /bootbank/boot.cfg

BootModuleConfig.sh --add=service.tgz

 1.3查看 boot.cfg,看看里面有没有—service.tgz。有即表示配置添加成功。

 1.4重启以后,可以使用bootOption -m 查看新增加的配置是否生效

     注意:这种方法比较方便,但有可能在下一次打系统补丁后消失,因为新的补丁的配置文件里并不包含你修改的部分。

二、这个方法更简单一点,既然配置文件都是在内存里的,那我把它保存到硬盘上,开机后在自动任务里写个命令把改过的配置文件拷贝到内存中对应的目录下。

        2.1编辑配置文件,除了是 service.xml 以外,可以自定义文件名,放到/etc/vmware/firewall目录下,同样生效,可以使用 service.xml 做模版来改,也可以用类似如下的配置方式

<ConfigRoot>
<service>
<id>SSH 2222</id>
<rule id = '0000'>
<direction>inbound</direction>
<protocol>tcp</protocol>
<porttype>dst</porttype>
<port>2222</port>
</rule>
<enabled>true</enabled>
<required>false</required>
</service>
</ConfigRoot>

和前一个文档里提到的格式不一样的地方是,只有这一条策略,并且头和尾多了 一对标记。

    可以将文件 拷贝到/vmfs/volumes/本地硬盘的目录下。这一级的目录的名字是你为 esxi 本地硬盘取在存储器里取和名字。

    2.2编辑/etc/rc.local,以便在开机后执行把文件 拷贝到实际生效的配置文件所在的目录下的功能

#Copy the new firewall rule from vmfs place holder to file system
cp /vmfs/volumes/datastore1/etc/ssh_2222.xml /etc/vmware/firewall/
#refresh firewall rules
esxcli network firewall refresh
#Copy the modified services file from vmfs place holder to file system
cp /vmfs/volumes/datastore1/etc/services /etc/services
#Restart inetd to get the changes
kill -HUP `cat /var/run/inetd.pid`

三、官方推荐最规矩的方法是建立一个 vib 文件,然后加到启动过程里加载。

        加载一个 vib 文件非常简单,难点在怎样建立一个 vib 文件。说点题外话,vib 文件不只用于配置文件的加载,vmware 是把它做为一个标准的软件安装方式。第三方的驱动也需要这个格式来安装。

    3.1先降低 esxi 对软件安全层次的要求,降到CommunitySupported层,正常是PartnerSupported层,这个有什么区别呢?简单的说,PartnerSupported层是 vmware 认可的,会对这个软件的稳定性提供保障的,当你向 vmware 请求技术支持的时候,vmware 会要求你先将安装的CommunitySupported层的东西都卸载掉。

esxcli software acceptance set CommunitySupported

3.2安装你建好的 vib 文件

esxcli software vib install -n custom_vib_name.vib

 3.3把软件支持层再改回来

esxcli software acceptance set PartnerSupported

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/7617

(0)
郭靖的头像郭靖
上一篇 2023年3月13日 下午5:40
下一篇 2023年3月14日 下午5:06

相关推荐

  • 由于没有远程桌面授权服务器可以提供许可证,远程会话连接已断开。请跟服务器管理员联系解决方法

    server2016远程桌面出现一下提示,无法正常链接 问题原因 是安装了远程桌面授权服务 解决方法 使用mstsc  /v: 192.168.188.14 /admin 强制登陆服务器 远程登陆系统后,运行输入Regedit 进入注册表 查找如下信息删除 HKEY_LOCAL_MACHINE\SYSTEM\CurrentCon…

    2024年2月19日
    1.4K00
  • 如何使用VNC进行远程桌面控制

    VNC是一款很实用的可以实现远程桌面控制的小工具,我遇到的有两种情况比较常见,一是有时候时候可能你会外出或离开自己办公室(但可以访问到办公司的网络),而很多资料都保存在办公室的台式机上,这时如果突然有问题需要用到那些资料,你又不方便立刻回去,这时你就可以考虑借助笔记本电脑通过VNC远程控制自己的台式机桌面进行操作,处理一些紧急问题;还有一种情况就是你外出或离…

    2024年5月13日
    1.2K00
  • 网站发现打开是404报错

    现象:今日再使用IIS部署网站发现打开是404报错 分析过程:首先判断web下是否缺失文件,默认文档配置是否正确,PHP模块映射配置是否正确,PHP版本是否有故障。 发现php manager中php版本未能选择,重新选择php版本报错 解决办法:  打开处理程序映射,使php的处理程序为fastcgi,即可修复成功!!!

    2022年12月8日
    1.6K00
  • 通过远程桌面连接Windows系统的ECS实例时,提示“远程桌面连接已断开”错误怎么办?

    问题描述 通过远程桌面连接Windows系统的ECS实例时失败,并提示“远程桌面连接已断开”错误,具体显示如下图。 问题原因 通过VNC登录Windows实例,进入事件查看器查看系统日志,提示“终端服务器安全层在协议流中检测到错误,并已取消客户端连接”的错误,该问题可能是由于ECS实例的注册表中Certificate子键损坏导致的。 解决方案 本文操作以Wi…

    2023年11月15日
    1.2K00
  • Win系统C盘拒绝访问或打不开怎么办

    在使用Win系统的时候,有用户可能会遇到C盘拒绝访问或者无法打开的情况,因此可能会感到困惑和无助。而这通常是由于权限设置问题或者其他系统错误导致的。不过,不必过于担心,因为这种情况通常可以通过一些简单的步骤来解决,一起来看看吧。   C盘拒绝访问或打不开的解决方法   方法一:运行杀毒软件   使用受信任的杀毒软件扫描和清除病毒。你可以通过下载专业杀毒软件并…

    2024年6月13日
    1.1K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信