0

我们有 4 个 NetApp 文件管理器,每个都有大约 50 个 VOL。我们一直遇到性能问题,并追踪到数据的碎片化程度。我们已经运行了一些措施(全部超过 7+),并且逐渐手动运行 WAFL 重新分配(从我们的 VMStore 开始),这将碎片级别提高到 3/4 左右。

一如既往 - 时间很短,想知道是否有人有可以处理这个过程的脚本?最好是 Powershell 或 VBScript。

(我们安装并启用了 DataOnTap CMDlets)

我知道您可以安排扫描,但您似乎无法告诉文件管理器一次只运行一个。

理想情况下,我想要一个脚本:

+拉一个卷的csv +按顺序测量每个卷,只有在上一个完成时才开始下一个测量,记录得分 +然后依次重新分配每个卷,只有在上一个完成时才开始下一个重新分配,记录新的得分

供你参考:

https://library.netapp.com/ecmdocs/ECMP1196890/html/man1/na_reallocate.1.html

非常感谢您在此问题上的任何帮助/指导!

4

1 回答 1

0

您使用的是 7 模式还是 cDOT?

反正我只知道Powershell。脚本不应该很长,它会像这样:

  • 连接 netapp(使用 connect-nacontroller / connect-nccontroller)
  • 获取所有卷(使用 get-navol / get-ncvol)
  • 获取每个卷的测量值(使用 foreach 或者命令可以运行一次并提供所有卷的信息)
  • 将输出导出到 csv(使用 export-csv)
  • 在所有卷上迭代的 foreach 循环:

    - if volume is fragmented behind a given threshold
            - run the reallocation (I do not know which command needs to be used)
    
  • 如果你想让这个东西永远运行,只需将它全部放在一个 while 循环下,如果你要安排这个,你应该重新运行检查以获得一个新的 csv 和新的测量值。

免责声明:我不熟悉重新分配过程,也不熟悉它的 powershell 命令行为。这篇文章应该给你几乎所有要做的事情,但我只是使用常识。也许重新分配的命令只启动重新分配过程并让它在后台运行 - 导致所有重新分配同时运行。如果是这样,则在 if 语句中需要一个 while 循环,使用另一个命令报告状态,直到它完成。您应该尝试在单个卷上运行它,然后在一个包含几个卷的列表上运行,以确保它以您想要的方式运行。

于 2015-10-25T07:11:03.043 回答