AppServer/

一个简单的统计 vcenter 存储空间的脚本

发布
更新
字数
715
阅读
2 分钟

公司在多个分支建有 vcenter 服务器,挂载了些存储,主要以 nfs 和 san 为主。想做一个简单的统计,将目前各分支 vcenter 中存储容量情况进行统计,并进行汇总。在网上找了下,貌似没有现成的,所以就简单的弄了一个。

首先在某个 vcenter 下找台 esxi 服务器,并确保它已经挂载了所有的可用的存储,然后开通它的 ssh 服务。找个目录,如 /tmp 新增一个脚本:

bash
cat /tmp/getAllStorageList.sh
bash
#!/bin/sh

# 用 df 获取挂载存储的列表,在这儿因为对存储进行了规则命名,因此列出存储命名中带“stor”的,并排除带“local”的,将结果放到 /tmp/df-list.txt 中。
df | grep stor | grep -v local > /tmp/df-list.txt

# 把获取时间加上,指定东 8 区。
echo "current time:"  $(TZ=UTC-8 date +%Y-%m-%d" "%H:%M:%S) > /usr/lib/vmware/hostd/docroot/ui/vcs1-stor-list.txt

# 对 NFS 存储的总容量、已用、可用等进行统计。把结果放在 esxi 的管理页面的根下面 /usr/lib/vmware/hostd/docroot/ui/ 是为了方便后面调用。
# NFS
awk '/NFS/ {sum +=$2};END {print "nfs total:" sum}' /tmp/df-list.txt >> /usr/lib/vmware/hostd/docroot/ui/vcs1-stor-list.txt
awk '/NFS/ {sum +=$3};END {print "nfs used:" sum}' /tmp/df-list.txt >> /usr/lib/vmware/hostd/docroot/ui/vcs1-stor-list.txt
awk '/NFS/ {sum +=$4};END {print "nfs available:" sum}' /tmp/df-list.txt >> /usr/lib/vmware/hostd/docroot/ui/vcs1-stor-list.txt

# 对 SAN 存储的总容量、已用、可用等进行统计
# SAN
awk '/san/ {sum +=$2};END {print "san total:" sum}' /tmp/df-list.txt >> /usr/lib/vmware/hostd/docroot/ui/vcs1-stor-list.txt
awk '/san/ {sum +=$3};END {print "san used:" sum}' /tmp/df-list.txt >> /usr/lib/vmware/hostd/docroot/ui/vcs1-stor-list.txt
awk '/san/ {sum +=$4};END {print "san available:" sum}' /tmp/df-list.txt >> /usr/lib/vmware/hostd/docroot/ui/vcs1-stor-list.txt

然后再把这个脚本加到 esxi 的 cron 里面去自动执行它。esxi 的 cron 调用跟 Linux 不太一样。
修改 /var/spool/cron/crontabs/root 这个文件,在下面加一行:

bash
*/10 *    *   *   *   /bin/sh /tmp/getAllStorageList.sh

然后保存退出。在这儿要留意下, vi 会提示是只读文件,所以要用 wq! 才可以。
但它不会马上生效,需要重新启动 crond 的服务。我们先杀掉 crond,然后再重启它。

bash
cat /var/run/crond.pid
#获得一个 pid,如 4654669 之类的。kill 掉它:
kill 4654669
#然后再启动 crond:
/usr/lib/vmware/busybox/bin/busybox crond
#再看下 pid 是不是更新了:
cat /var/run/crond.pid

然后等一会儿,我们就可以从 https://esxi1.mydomain.com/ui/vcs1-stor-list.txt 页面中获取相关数据了。

至此,我们就实现了自动收集 vcenter 的存储容量统计结果了。如果要收集多台,就如法炮制就行。

后面的综合统计和展示就很简单了,弄一个页面,用脚本抓取 vcs1-stor-list.txt 之类的页面的内容,然后解析,然后做统计。当然还可以做成存储空间告警……

评论

正在载入评论…

留下评论

人机验证
四位数字,看不清可点击图片刷新

评论经审核后显示。

回到顶部 ↑