解决了

ECX错误,磁盘id和svmotion

  • 2016年6月27日
  • 4回复
  • 1130的浏览量

Userlevel 1
徽章 +14
你好各位,
我正忙着安装一个6节点集群,出现了一些错误或疑问。
我的环境:3块,6个节点(2个节点/块)AOS 4.6.2

一.当我创建一个新的容器,使启用Erasure编码按钮选中,错误弹出“启用EC-X将打破当前块感知!”似乎意味着ECX将禁用块级别感知?

二.我们很多人都知道,如果需要定位磁盘的物理插槽位置,您可以简单地引导该驱动器。但可能会导致功能不准确或禁用,在这种情况下,必须根据硬盘id规则(如shelf id)定位硬盘。slot/bay ID,但在prism硬件部分的DISK ID似乎是随机的/无规则的数字,我无法找到一个磁盘的物理位置。

三.当我做关于从nutanix集群中删除一个节点的测试时,一个疑问出现了:在删除节点之前,我需要还是执行存储vmotion(除了vmotion vm的)是最佳实践?我认为这两种方法的区别在于谁是数据移动者,一个是ESXI svmotion,另一个是CVM RF ?也许我完全错了,即使我选择svmotion, RF恢复还会发生吗?提前感谢你们宝贵的时间和帮助!

四.我第一次启用RF3,几天后,用户想恢复到RF2, nutanix支持这个吗?我知道我可以在线将RF2更改为RF3;
RF的另一种情况:当我使用Foundation工具图像节点时,我选择默认RF2,并选择“Can I enable RF3 support by NCLI command ?”(我注意到NCLI中有相关的命令)
类似地,我可以启用EC-X并再次禁用它吗?我想知道可以改变两次或多次的共同特征,而不是一次改变是永久的。

感谢社区朋友们!
图标

最佳答案乔恩2016年6月27日18:20

RE ECX<\/b>
\nYes, ECX and block awareness do not mix. There is a long technical explanation of why, but the short of it is that the majority of customers who would use ECX wouldn't have enough physical blocks to actually enforce block awareness on ECX data (due to the different way that ECX stores blocks on disk), so we have delayed working on making the two work together as of now.
\n
\nRE Physical disk LED \/ finding a disk<\/b>
\nThe disk ID is really an \"internal\" construct, do not pay much attention to it.
\n
\nIf the LED on a disk was not working, or perhaps a HDD was 100% \"dead\" and the disk was just 100% offline, you would just simply look for the node that it is attached to (which is visibile in the Prism hardware display diagram) and go to that physical node and remove it.
\n
\nAlternatively, You could flash the LED on that node as well, which would help, OR perhaps flash all of the LED's of the disks around the dead disk, so that the dead disk stands out as \"not flashing\"
\n
\nIf there was any doubt, you would compare the serial number from the Disk in Prism to the physical one printed on the drive to double check.
\n
\nThis is the general approach for almost all storage systems.
\n
\nRE Removing a node<\/b>
\nYou do not need to svMotion anything at all. The CVM's will move the data off that node.
\n
\nEven if you did \"svMotion\" all of those VM's, you'd still have data on that CVM before it is removed from the cluster, as it is a part of the clusters overall capacity, so the svMotion literally doesn't do anything but waste time.
\n
\nJust regular vMotion the VM's to another node first, then remove the node using Prism and wait for the task to complete.
\n
\nRE RF3 to RF2 change<\/b>
\nAre you talking at the cluster level? or the container level?
\n
\nCluster level can not be changed back. I *think* the container level can be changed back, but I've never tried it. Absolute worst case, just provision another container at RF2 and storage vMotion the data.
\n
\nThat said, this question is one of those that you should really think through before arbitrarily changing. This is why the \"change RF\" command is NCLI only, and not in the GUI.
\n
\nRE Foundation RF2<\/b>
\nThis is setting up the \"cluster level\" RF, but regardless of foundation, if you have a cluster that is RF2, you can go to RF3 with NCLI, yes.
\n
\nRE Enable\/Disable ECX<\/b>
\nSure, you can change that all you want. Just note that encoded data will stay encoded until the data is overwritten.
\n
\nThis is slightly different behavior than enable\/disable compression, which does actively compression\/decompress data when the setting is changed.","className":"post__content__best_answer"}">
查看原始

4回复

Userlevel 6
徽章 +29
重新连成一片
是的,ECX和块感知不能混合。还有很长一段的技术解释为什么,但是短暂的,大多数客户将使用连成一片实际上不会有足够的物理块执行意识交易所数据块(由于连成一片的不同方式存储块在磁盘上),所以我们推迟了现在的两个一起工作。

RE物理磁盘指示灯/正在查找磁盘
磁盘ID实际上是一个“内部”构造,不要太关注它。

如果领导一个磁盘上没有工作,或者一个硬盘是100%“死”和磁盘离线只有100%,你会仅仅寻找附加的节点(即visibile棱镜硬件显示图)和物理节点和删除它。

或者,您也可以在该节点上闪烁LED,这将有所帮助,或者可能闪烁所有的磁盘的LED的死磁盘周围,使死磁盘突出为“不闪烁”

如果有任何疑问,您可以将Prism中的磁盘序列号与驱动器上打印的物理序列号进行比较,以进行双重检查。

这是几乎所有存储系统的通用方法。

RE删除节点
你不需要svMotion任何东西。CVM会把数据从那个节点上移开。

即使你“svMotion”所有这些VM的,你仍然有数据在CVM从集群移除之前,因为它是集群整体容量的一部分,所以svMotion字面上什么都不做,只是浪费时间。

只需常规的vMotion VM的第一个节点,然后使用Prism删除节点,并等待任务完成。

RE RF3到RF2的变化
你说的是集群级别吗?或者容器级别?

集群级别不能被更改回。我*认为*容器级别可以改变回来,但我从未尝试过。在最坏的情况下,只需要在RF2上提供另一个容器并存储vMotion数据。

也就是说,在任意改变之前,这个问题是你应该认真思考的问题之一。这就是为什么“change RF”命令只是NCLI,而不是在GUI中。

再保险基金会RF2
这是设置“集群级”RF,但不管基础如何,如果你有一个RF2集群,你可以使用NCLI转到RF3。

启用/禁用连成一片
当然,你想怎么改都行。只需注意,编码后的数据将一直保持编码状态,直到数据被覆盖。

这与启用/禁用压缩略有不同,启用/禁用压缩会在设置更改时主动压缩/解压缩数据。
Userlevel 1
徽章 +14
亲爱的乔恩,
谢谢你的详细回复。我想进一步确认一下:
——重新连成一片
你的意思是ECX和块感知功能目前还不能一起使用。
但我认为大多数用户将需要块级容错和减少RF数据(更多可用容量)在同一时间。
另外3块是常规配置,需要更多的块一起启用ECX ?

--RE RF3到RF2改变& RE Foundation RF2-
只是想确认集群级和容器级RF之间的区别和关系?
特别是Cluster-level设置为RF3, container-level是否可以设置为RF2和RF3(我的意思是不同的容器有不同的RF,我知道一个容器只能同时设置一种RF类型)?
如果集群级设置为RF2,容器级是否可以设置为RF2和RF3 ?

在我目前的理解中,集群级控制一些集群组件的RF,例如Zookeeper
容器级用于通常的虚拟机数据。
还有一些集群组件的RF甚至可以设置为5,我很好奇我是否可以改变它。

--重新启用/禁用连成一片
根据你说的,我想如果我禁用ECX,就不需要额外的容量了?因为数据仍然被编码。
但如果我禁用压缩,必须满足额外的容量来解压缩数据?否则我可能无法禁用它?如果是,如何计算所需的空闲空间?

谢谢大家。BR
Userlevel 6
徽章 +29
RE ECX,块感知
我们的大多数客户都认为区块意识是可以拥有的,但并不是必须拥有的。在客户环境中并不总是可能的,特别是当客户环境非常小的时候。

即使当你有障碍意识时,这总是最好的努力,所以,再一次,有一个很好,但不是必须有。从字面上讲,我们有一个数量客户要求严格的块意识,他们希望系统停止写入数据,如果它不能被块意识。我上周刚和工程师谈过这个问题。

不管怎样…简单的答案是块意识和连成一片不能混为一谈,这在我看来真的不是大不了的,尤其是与系统可靠性和故障统计我们看到全球(失败率很低,从我们所看到和稳定性很高打电话回家数据)

RE集群vs容器RF
cluster RF为RF3时,container可以为RF2或RF3。

如果集群RF是RF2,容器只能是RF2,因为容器RF3会是零,因为我们在集群级别上不会是RF3(比如元数据、zookeeper等)

完全忽略RF5中任何与容器无关的内容。这是一个内部唯一的元数据构造,你可以在nutanix圣经中找到它,它是100%纯学术的。

重新连成一片
是的,被编码的数据,如果你再也没有碰过它,它将被编码一辈子,所以就这样吧。

如果你真的想要反编码,你可以将svMotion转换到另一个容器。

重新压缩
在GUI中有一个计数器,它告诉你压缩前和压缩后的空间,所以这就是你如何计算解压所需的空间(在高层次上)。

也就是说,压缩是一个非常成熟的特性,所以我们建议绝大多数部署都启用它。
Userlevel 1
徽章 +14
嗨,乔恩,
明白了!非常感谢你的帮助

回复


Baidu