2020年3月10日,我们看到了许多关于vSphere 7.0,vSAN 7.0,VMware Cloud Foundation 4.0以及涉及Tanzu产品组合的VMware发布。这些发布中的大多数与VMware公司的总体愿景紧密地联系在一起,愿景是任何设备、任何云上部署任何应用程序。这些应用程序传统上是虚拟化应用程序。现在,我们将注意力转移到主要基于容器并且主要在Kubernetes上运行的更新的现代应用程序中。我们的目标是建立一个可以构建,运行,管理,连接和保护传统虚拟化应用程序和现代容器化应用程序的平台。
在此,我们介绍vSAN文件服务。完全集成到vSAN 7中的vSAN File Services现在可以在vSAN数据存储上与块卷一起创建文件共享。可通过NFS v3和NFS v4.1协议访问这些文件共享。正如您对vSAN所期望的那样,它的设置和使用非常简单。它还与vSAN Virtual Object Viewer和Health完全集成在一起,并具有自己的文件服务器代理和实际文件共享检查功能。因此,让我们看一下运行中的vSAN File Service。
简单的部署机制
让我们从如何部署vSAN文件服务开始。它确实非常简单,并且以与以前的vSAN服务几乎相同的方式启用。我们将从3节点vSAN 7群集开始,如下所示。
接下来,在vSphere Client中,导航至“ vSAN服务”部分,您现在将在其中看到“ vSAN文件服务”。目前已禁用-让我们启用它。
这将启动vSAN File Service向导。简介很有趣,因为它显示了VM和容器都使用了文件共享。就像我说的,我们正在为虚拟化和现代应用程序构建平台。在这篇文章中,我们将专注于虚拟机,但在以后的文章中,我们将探讨使用vSAN File Service的容器。
在vSAN上如何实现文件服务的方式是,我们实现了一组由vSphere ESXi代理管理器管理的文件服务器。这些是运行Photon OS和Docker的非常轻资源的虚拟设备。它们充当NFS服务器,并提供对文件共享的访问。当您需要文件服务可用时,您能够直接从Internet下载代理映像,或者对于无法访问Internet的站点,您可以脱机下载文件服务代理OVF。
现在,在“简介”屏幕中要突出显示的一个有趣的项目是位于NFS文件共享和vSAN之间的分布式文件系统。此分布式文件系统组件是我们如何在所有文件服务代理之间共享配置状态(文件共享名,文件共享重定向等)的方式。如果任何文件服务代理在vSAN群集中的一台ESXi主机上发生故障,这将使代理能够在vSAN群集中的任何其他主机上重新启动,并继续访问其文件共享周围的所有元数据等
下一步是提供有关域的一些信息,例如安全模式和DNS。在此示例中,我将文件服务域称为“ vsan-fs”。当前,在vSAN 7版本中采用AUTH_SYS作为NFS身份验证方法。这意味着代理使用类似于Unix的权限来为NFS文件共享的用户强制执行文件系统权限,这与用于本地用户的权限相同。
现在,我们进入“网络”部分,在这里选择要在其上部署文件服务器代理的VM网络,当然还要选择如何访问文件共享。此时还添加了诸如子网掩码和网关之类的常用内容。
最后一步是为文件服务代理提供IP池。这样做的好处是,如果代理具有一系列可用的IP,则可以自动填写IP地址。还有一个选项可以查找文件服务代理的DNS名称,而不是手动键入它们。然后,您可以选择哪个IP地址是主要的这是用于访问所有NFS v4.1共享的地址。在后端,可以使用NFSv4引用将与共享的连接重定向到其他文件服务器代理。NFSv4引用是一种NFSv4特定的机制,它允许一个文件服务器代理跨目录(在本机vSAN文件服务中硬编码为/ vsanfs /)将客户端连接/请求重定向到另一个文件服务器代理。我们很快就会看到这种行为。
查看您的选择,然后单击“完成”以开始部署。
这将在vSphere环境中启动许多任务,我在这里捕获了这些任务:
但是,完成任务后,每个vSAN节点将具有一个新的vSAN文件服务节点/代理(我的3节点vSAN群集中有3个代理)。
而且,如果我们在vSAN服务中查看了vSAN文件服务,我们现在可以看到它启用了各种附加信息,其中大部分是我们在设置过程中提供的:
这里要指出的另一个功能是“检查升级”选项。如果有新版本的文件服务代理可用,则可以使用此功能对代理进行滚动升级,同时保持所有文件共享的完全可用性。就像我们在初始部署中看到的那样,如果您的vCenter具有Internet连接,则可以自动下拉新版本。如果您的vCenter没有Internet连接,则可以脱机下载新的OVF并手动上传。
现在,我们已经启用了vSAN File Services,让我们继续创建我们的第一个文件共享。
简单的文件共享创建机制
现在,在“ 配置” >“ vSAN”中将出现一个名为“ 文件服务共享”的新菜单项。您可以看到我们在设置中创建的域(vsan-fs),以及受支持的协议(NFS v3和4.1)以及主IP。在安装过程中,一个文件服务代理被指定为主服务器,这是用于挂载所有NFS v4.1共享的IP地址。使用NFS引用将连接在内部重定向到提供共享的代理的实际IP地址。单击添加以创建第一个共享。
在此向导中,我们提供共享的名称。我们还为共享选择了vSAN存储策略。该策略可以包括我们与块存储策略相关联的所有功能,以提高性能和可用性。我们还可以选择设置警告阈值和硬配额。硬配额意味着达到配额后,我们将无法在共享上放置任何其他数据,即使共享上可能仍有可用空间。最后,您还可以在文件共享上添加标签。标签在Kubernetes的世界中被大量使用,因此将共享标记为用于特定应用程序可能很有用。我们将在另一篇文章中讨论Kubernetes如何使用这些文件共享。
唯一的其他步骤是指定哪些网络可以访问文件共享。您可以将共享打开为开放-可以从任何网络访问,也可以指定哪些特定网络可以访问文件共享以及它们可以具有哪些权限,例如“只读”或“读写”。Root squash复选框是一种安全技术,在NFS中大量使用,该技术“Squash”安装和使用文件共享的任何root用户的权限。
查看文件共享,然后单击“完成”以创建它。
创建文件共享后,它将显示在“文件服务共享”中,如下所示。
再次,只需在UI中单击几下即可创建文件共享。当然,所有共享都部署在vSAN数据存储上,并通过基于存储策略的管理(SPBM)进行可用性和性能配置。
我还想强调一点,如果您需要更改文件共享的软配额或硬配额,添加一些标签或更改网络访问权限,只需选择文件共享,单击“ 编辑”,然后即时进行更改。再次非常简单。
vSAN对象视图和健康检查
由于文件共享是在vSAN上实例化的,因此您只需在文件共享视图中单击文件共享的名称,然后在“虚拟对象”视图中查看文件共享详细信息,如下所示。
您也可以单击下面的“ 查看放置详细信息 ”链接以查看基础vSAN对象的布局,以查看用于放置文件共享对象组件的主机和物理存储设备。当然,Heath Service已扩展为包括特定于vSAN File Service的许多其他运行状况检查。
现在已经建立了文件共享,让我们从外部Linux(Ubuntu 18.04)VM上使用它。
挂载文件共享(NFS v3和NFS v4.1)
vSAN文件共享可以作为NFS v4.1或NFS v3挂载。这里要讲的重点是如何将NFS v4.1主IP机制与NFSv4引用一起使用。如果使用标准showmount命令,则看不到NFSv4引用所需的根共享文件夹(为/ vsanfs /):
#showmount -e 10.27.51.194
导出10.27.51.194的列表:
#showmount -e 10.27.51.195 10.27.51.195的
导出列表:
/ first-share 10.27.51.0/24
#showmount -e 10.27.51.196
导出10.27.51.196的列表:
我们可以看到文件共享/ first-share位于第二个IP地址为195的文件服务代理上。要通过主IP和NFSv4引用机制将该文件共享安装为NFS v4.1,我需要包括根目录共享(/ vsanfs)在安装路径中,即使它未在showmount输出中显示。然后,这将引用客户端请求以将文件共享安装到适当的文件服务代理。
以下是使用NFS v4.1挂载文件共享的命令。如果未指定协议,则NFS v4.1也是默认的安装版本。在这种情况下,客户端将与服务器协商安装协议并以最高匹配协议进行安装,对于vSAN 7本机文件服务,该协议为NFS v4.1:
# mount 10.27.51.194:/vsanfs/first-share /newhome/
or
# mount -t nfs -o vers=4.1 10.27.51.194:/vsanfs/first-share /newhome/
# mount | grep newhome
10.27.51.194:/first-share on /newhome type nfs4 (rw,relatime,vers=4.1\
,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2\
,sec=sys,clientaddr=10.27.51.18,local_lock=none,addr=10.27.51.194)
如果要使用NFSv3挂载共享,则挂载路径中不会使用根共享(/ vsanfs)。在这种情况下,您可以直接从“拥有的”文件共享代理安装,可以从showmount命令确定。此协议没有引用/重定向机制。这是在NFS v3上直接从其中一个文件共享代理(196,拥有文件共享的代理)进行挂载的示例。
# mount -t nfs -o vers=3 10.27.51.196:/second-share /newhome/
# mount | grep newhome
10.27.51.196:/second-share on /newhome type nfs (rw,relatime,vers=3\
,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2\
,sec=sys,mountaddr=10.27.51.196,mountvers=3,mountport=20048,mountproto=udp,\
local_lock=none,addr=10.27.51.196)
而且,如果您忘记了正确的语法,也不必担心。在vSphere UI中,只需选择文件共享。请注意,现在工具栏中会出现一些其他项目,例如“ 复制URL ”:
接下来,单击“复制网址”,然后决定是否要使用NFSv3或NFSv4挂载共享。
首先,让我们选择NFSv4。现在,您将看到使用参考/ vsanfs /根目录来挂载此文件共享的连接字符串:
或者,如果我决定要挂载为NFSv3,则应使用以下连接字符串:
这次不包含引荐目录;您需要直接从“所有者”代理挂载共享。
配额警报和事件
正如我们在文件共享创建中所看到的,我们可以设置共享警告阈值。如果超过此阈值,则在用户界面中会看到“配额使用量”字段变为橙色。
还有一个份额硬配额。达到此限制后,您将无法再向共享写入任何数据。它将失败,并显示磁盘配额超过错误,如下所示。
如果超出了硬配额,您还将在vSphere UI中显示以下警报:
——————————————————————
翻译自Cormac文章:Native File Services for vSAN 7