管理员上午:在数十台服务器上添加空间以喝咖啡

每天我必须在一,二,三,五,有时十个数据库服务器上添加空间。 怎么了 因为它们的特征是碱基的自然生长。 有数百台服务器,所有服务器都是在磁盘上进行自动精简配置的虚拟机。 如果提前给他们足够的空间,那么肯定会出现某种“失控”,例如表溢出导致的升级,将吞噬整个地方,否则,将蚕食整个地方。 如您所知,精简配置是一种方法,如果该位置被吞噬了,但无法返回。

结果,大多数服务器在90%使用空间的边界附近闲逛-正是因为在90%边界触发了警报。 只要稍加一点空间,服务器就会移至已用80%-85%的区域,一个月后,需要再次添加另一个位置。 而且,尽管如此,我不会立刻给予太多帮助-有太多的逃亡先例。

我经常进行机械操作来扩展磁盘空间,以至于我厌倦了它,因此决定使用Jenkins将其自动化:



对于以下冗长乏味的详细说明,我深表歉意,但如果对某人有用,那么重要的是小细节-在他们身上,您总是会花费最多的时间。 如果细节不重要,请立即滚动到最后一张图片。

当然,在添加地点之前,我会查看我的秘密监视系统自动将其附加到警报中的已用空间的百分比增长历史。 最常见的是自然增长:



在这里最好先了解一下:



回到Jenkins,它只是Powershell脚本的接口。 我们有许多VMware Vcenter,因此使用服务器名称的特殊SQL过程将确定服务器的位置并与其连接:



现在,我们读取磁盘大小,添加增量并设置一个新值。



没错,我大胆利用了我们拥有的所有服务器都以类似的方式进行转换的事实,例如,D:始终为硬盘2。如果不这样做,那么您将遭受痛苦。

现在,磁盘已根据VMware进行了扩展,但未根据guest虚拟机(Windows)进行了扩展。 我们必须使用分配的空间。 为此,请在客户机中执行DISKPART命令。



我们无耻地将BAT和IN文件填充到D:的根目录中,并使用WMIC强制计算机执行这些命令。 doresizeX.bat文件(X是驱动器的名称)仅包含
diskpart <d:\ doresizeX.in> d:\ doresize.out

而且doresizeX.in包含:
重新扫描
选择音量X
延伸
退出

现在一切就绪,您只需要稍等片刻(命令是异步的!)并读取结果,过滤掉不必要的内容:



我们正在等待詹金斯的来信:

Source: https://habr.com/ru/post/zh-CN434678/


All Articles