还是做了个扩容的小应用
还是做了个自动进行lvm扩容的小应用
前面说了做虚拟磁盘扩容比较烦,想着做个脚本扩容的,但是发现不是和现在的环境贴切,而且也觉得脚本的方式也不是很好。
所以就用golang自己根据虚拟机的模版做了一个可执行文件,用来扩容centos7的xfrs的虚拟卷。
过程
其实内部就是将linux的命令行进行了包装。
还有就是利用partprobe减少了一次重启的次数。
虚拟机在磁盘容量增加后,必须重启才可以让虚拟机认到。这个重启无法避免。
在进行扩容的时候,首先,对新增加的磁盘容量建立新的分区,然后更新分区表,然后将新增加的分区添加到虚拟卷中,对虚拟卷进行扩容,然后获得虚拟卷的空闲空间大小,为了安全起见,在进行lvextend的时候,只增加空闲空间的99.9%,剩余0.1%做为buffer。
lvextend后,进行分区的格式化,我这里的使用xfrs_grows的命令行,比较老的还是可以用resize2fs的方式。
执行前面的所有步骤后,倒数5秒重启机器。然后在这5秒内,发邮件给我,告诉我那台机器进行了磁盘扩容的操作,扩容了多少,这样的信息。
偷懒在发邮件的时候没有用邮件模版,就直接text/html发了,看起来不好看,不过也就只发给我,所以意思到了就可以了。