更改配置
调整运行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(当该区域超过上限时,该页面的总内存数量),这个计算实例可能会受到内存不足的困扰。同样重要的是要了解为什么计算实例在内存不足之前会得出结论:调整大小是最佳解决方案。
调整大小的注意事项
在调整实例大小之前必须考虑的一些注意事项包括:
- 当前使用的磁盘与目标磁盘大小。如果正在使用的磁盘量大于目标磁盘大小,则调整大小将失败。
- 虽然可以在不需要重新启动或关闭的情况下进行调整大小,但调整大小不会自动调整运行实例的应用程序。您可能需要调整应用程序以适应新的配置大小,这可能需要重新启动服务才能生效。
- 如果调大计算实例,确保计算节点有足够的空间来允许调整实例的大小。