如何保持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 2008 访问NFS共享存储

    打开CMD窗口 输入servermanagercmd.exe -install FS-NFS-Services,进行安装 让磁盘映射永久存在 为了保证系统重启之后磁盘映射依然存在,要运行以下命令: net use /persistent:yes 挂接磁盘文件 mount -u:用户名  -p:密码 服务器IP:/mnt/volume/myNFS z:

    2022年8月4日
    1.6K00
  • 指定端口被system程序占用解决方法

    一:查看指定端口占用PID 根据PID在进程中我们找到被system的进程占用 二:解决指定端口被占用

    2023年10月18日
    1.8K00
  • Windows server 2008 R2 服务报错14001解决方案

    错误 14001:因为应用程序的并行配置不正确 有关详细信息 请参阅应用程序事件日志 或使用命令行 sxstrace.exe 工具 今日通过服务管理器重新启动mysql服务时发现报错14001,解决方案如下: 打开左下角服务管理器,点击功能,然后添加功能,添加 Framework 3.51全部功能,这样就可以去服务管理器中启动服务了!!!

    2022年11月22日
    2.0K00
  • Windows2008安装IIS方法图文教程

    1、右键点击 “计算机”,在弹出菜单中选择“管理”选项,在服务器管理器左侧界面 点击 “角色”选项,如下图: 2、点击“添加角色”按钮后,弹出如下界面 3、选择“角色”列表中的“Web服务器(IIS)”和“应用程序服务器”,点击“下一步” 点击“添加必须的功能”按钮后,进行下一步操作: 点击“下一步” 点击“下一步” 安装完成后,点击下图中的“关闭”按钮完成…

    2022年6月22日
    1.2K00
  • 深度理解所有的Powershell远程连接方式

    PowerShell Remoting(PSRemoting)是所有PowerShell中最常用的功能之一。为什么?因为它实在是太有用了!使用一条命令,你可以无缝地连接到一台或数千台远程计算机并执行命令。 在这个终极指南中,你将深入了解PSRemoting。你将了解它是什么,它是如何工作的,以及使PSRemoting工作的所有各种技术。本指南将不仅包括如何使…

    2023年2月20日
    1.7K10

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信