如何保持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

相关推荐

  • 如何解决Windows server系统开机自动进入修复模式而无法正常启动的问题

    相信大家都会碰到这样一个问题,Windows系统重启之后自动进入修复而不去正常启动,如下图 那么我们该如何去解决呢 第一步:根据它的选项,进入到修复模式,然后点击下一步 第二步:输入登录的账户密码,然后就会有三个系统恢复的选项,我们选择命令提示符,依次输入以下命令 然后等待出现以下信息 到此,我们重新启动系统,就可以正常进入到桌面系统了,如果你想之后的系统重…

    2022年6月13日
    3.4K00
  • 又见问题之-Windows Server 2012 R2 安装.net 4.6.1

    服务器是新版的Windows Server 2012 R2 ,今天安装一个软件,软件需要(.net v4.6.1)环境,发现报错,缺少.Netframework, Version=v4.6.1,直接下载对应版本的.Netframework 连续点击是,会跳转到 .net 的下载页面,选中所需的 .net 版本 下载安装之后报错,你需要先安装 对应于 KB29…

    2023年10月25日
    2.0K00
  • 可以ping通Windows server 2003服务器,无法使用远程桌面登录的解决方法

    Windows系统远程不上有很多种问题,我们最常见的问题就是远程端口访问权限没打开、远程端口防火墙没放行等,所以我们在解决这类问题时,首先就需要查看访问权限、防火墙这两项是否设置正常 如何查看或者修改远程端口 有关于查看和修改远程端口的问题,大家可以去看我们的另外一篇文章,还有一点就是Windows系统更改端口的方法基本都是一致,都是通过修改注册表来实现的:…

    2022年6月20日
    3.1K00
  • 常见IIS错误解决方法

    1、错误号401.1症状:HTTP 错误 401.1 – 未经授权:访问由于凭据无效被拒绝。分析:由于用户匿名访问使用的账号(默认是IUSR_机器名)被禁用,或者没有权限访问计算机,将造成用户无法访问。解决方案:(1)查看IIS管理器中站点安全设置的匿名帐户是否被禁用,如果是,请尝试用以下办法启用:控制面板->管理工具->计算机管理->本地用户和组,将IUS…

    2022年11月25日
    1.6K00
  • 此站点的连接不安全,使用不受支持的协议。ERR_SSL_VERSION_OR_CIPHER_MISMATCH(不支持的协议 客户端和服务器不支持常用的 SSL 协议版本或密码套件。)

    如图所示报错 一、解决方法一1.Microsoft Edge浏览器→点击右上角的三个点→选择设置 2.选择外观→打开Internet Explorer 模式(IE 模式)按钮 3.打开Microsoft Edge浏览器→输入自己要访问的IP地址或者是链接→回车访问→点击右上角的IE图标(在 Internet Explorer 模式下的重新加载选项卡) 4.访…

    2023年7月25日
    3.6K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信