更改配置

调整运行ZONE或原生Linux的底层容器的大小可以通过调整运行容器的配置大小来垂直扩展,而无需关闭或重新启动。

注意:目前,只有运行ZONE或原生Linux容器的底层容器可以调整大小。由于配置和创建方式,硬件虚拟化KVM实例需要重新配置以使用更大的内存或磁盘的模板。

什么是调整大小?

调整大小是增加或减少运行ZONE或原生Linux的底层容器的配置的功能,包括磁盘大小,CPU大小和内存大小。

注意:目前仅支持运行ZONE或原生Linux的底层容器上的大小调整。KVM和Linux计算实例将需要在新模板上配置一个新计算实例,然后将从原始数据迁移到新计算实例。

为什么需要调整计算实例大小?

随着需求的变化,增长和或缩减基础设施的考量成为重要的业务决策。此外,调整运行ZONE或原生Linux的底层容器的大小可以立即解决不可预见的资源耗尽问题。

调整大小以满足业务需求

随着业务需求的变化,底层容器的配置要求也可能需要改变。例如,您可以增加计算实例的大小来扩展增长,而无需提供新的计算实例。

计算实例的磁盘空间不足

如果一个计算实例的磁盘空间不足,那么将需要调整到一个更大的模板。

如果您能够通过SSH访问到计算实例,您可以使用df(1m)命令(下面的示例输出)检查磁盘空间:

container# df -h
Filesystem                                  Size  Used Avail Use% Mounted on
zones/4985f9fb-e674-e472-ac02-86e15242d6f7   26G  448M   25G   2% /
/lib                                        263M  237M   27M  91% /lib
/lib/svc/manifest                           2.7T  673K  2.7T   1% /lib/svc/manifest
/lib/svc/manifest/site                       26G  448M   25G   2% /lib/svc/manifest/site
/sbin                                       263M  237M   27M  91% /sbin
/usr                                        417M  379M   39M  91% /usr
/usr/ccs                                     26G  448M   25G   2% /usr/ccs
/usr/local                                   26G  448M   25G   2% /usr/local
swap                                        256M   28M  229M  11% /etc/svc/volatile
/usr/lib/libc/libc_hwcap1.so.1              417M  379M   39M  91% /lib/libc.so.1
swap                                        128M  8.0K  128M   1% /tmp
swap                                        256M   28M  229M  11% /var/run

一般来说,要查看的关键文件系统是/(root)。如果您看到它达到100%,将需要开始清理文件系统,或将计算实例调整到更大的模板。

在某些情况下,由于100%满的文件系统,可能无法将ssh插入到计算实例中,您可以经常通过从计算实例所在的计算节点运行zfs(1m)命令来验证这一点:

computenode# zfs list zones/4985f9fb-e674-e472-ac02-86e15242d6f7
=== Output from 44454c4c-3700-1039-8034-c2c04f445131 (78-2b-cb-0a-75-23):
NAME                                         USED  AVAIL  REFER  MOUNTPOINT
zones/4985f9fb-e674-e472-ac02-86e15242d6f7  21.6M  25.0G   448M  /zones/4985f9fb-e674-e472-ac02-86e15242d6f7

如果AVAIL列显示为0,则计算实例已用尽磁盘空间,并且需要调整大小才能重新获取访问权限。

计算实例内存不足

当计算实例用尽内存或交换空间时,计算实例可能无法访问(并且服务可能开始失败)。

如果您尝试将ssh转换为内存耗尽的计算实例,则会经常看到与资源暂时不可用的提示。重新启动计算实例可能会临时解决问题,但需要进行一些侦查工作来确定潜在的原因。在许多情况下,解决方案是将计算实例调整为更大的模板,从而允许程序以足够的内存运行。

您可以通过运行zonememstat(1m)从其计算节点检查计算实例的内存:

computenode# zonememstat -z 4985f9fb-e674-e472-ac02-86e15242d6f7
=== Output from 44454c4c-3700-1039-8034-c2c04f445131 (78-2b-cb-0a-75-23):
                                 ZONE  RSS(MB)  CAP(MB)    NOVER  POUT(MB)
 4985f9fb-e674-e472-ac02-86e15242d6f7       28      128        0         0

如果您看到RSS列达到了CAP,并且还看到NOVER下的统计信息(提供了计算实例超过其上限的次数)和POUT(当该区域超过上限时,该页面的总内存数量),这个计算实例可能会受到内存不足的困扰。同样重要的是要了解为什么计算实例在内存不足之前会得出结论:调整大小是最佳解决方案。

调整大小的注意事项

在调整实例大小之前必须考虑的一些注意事项包括:

  • 当前使用的磁盘与目标磁盘大小。如果正在使用的磁盘量大于目标磁盘大小,则调整大小将失败。
  • 虽然可以在不需要重新启动或关闭的情况下进行调整大小,但调整大小不会自动调整运行实例的应用程序。您可能需要调整应用程序以适应新的配置大小,这可能需要重新启动服务才能生效。
  • 如果调大计算实例,确保计算节点有足够的空间来允许调整实例的大小。

results matching ""

    No results matching ""