全部产品

挂载NAS

更新时间:2019-11-11 23:36:02

1. 背景

绝大部分计算模型下,客户数据直接存储于云端 NAS 里。为了方便客户读写云端计算数据,批量计算根据用户提供的挂载信息,自动将 NAS 的挂载点挂载到本地目录。完成 NAS 挂载后,对挂载目录里数据的读写行为将和读写本地数据完全相同。

2. 说明

  • 网络限制:批量计算仅支持专有网络 (Vpc) 类型的挂载点,且集群必须和待挂载的 NAS 在同一个专有网络 (Vpc) 内;
  • 文件系统限制:批量计算仅支持NFS类型的 NAS 文件系统;
  • 格式限制:不同操作系统挂载略有差异,Windows 在 NAS 文件系统目录后需要加 !
    • Windows 示例:nas://xxx.cn-beijing.nas.aliyuncs.com:/!
    • Linux 示例:nas://xxx.cn-beijing.nas.aliyuncs.com:/

3. 使用

使用 NAS 挂载功能必须同时指定 NAS 源地址 (Source)、本地挂载地址 (Destination) 和是否支持可写位 (WriteSupport),他们的意义如下:

  • Source:以nas://为前缀,后面接上 NAS 挂载点和 NAS 文件系统目录信息,例:nas://xxx.cn-beijing.nas.aliyuncs.com:/!
  • Destination:批量计算集群节点内的本地目录,用户不需要事先创建该目录,批量计算会自动为用户创建该目录;
  • WriteSupport:是否支持可写,如果用户设置为False 则表示该挂载点不支持写操作;若设置为True则表示挂载点支持读写操作;写操作会直接将数据写到 NAS 远端服务器上,而不会在本地做缓存。

以下我们将展示通过 SDK 和命令行工具挂载 NAS,其中 NAS 源地址为nas://xxx.cn-beijing.nas.aliyuncs.com:/,本地挂载地址为/home/admin/mydir/,可写位为true

3.1. SDK

  1. from batchcompute.resources import (
  2. ClusterDescription, Configs, Mounts
  3. )
  4. cluster_desc = ClusterDescription()
  5. configs = Configs()
  6. mounts = Mounts()
  7. # For Linux
  8. nas_entry = {
  9. 'Source': 'nas://xxx.cn-beijing.nas.aliyuncs.com:/', # Windows 需在最后加 "!"
  10. 'Destination': '/home/admin/mydir/',
  11. 'WriteSupport': true,
  12. }
  13. mounts.Entries = [nas_entry]
  14. configs.Mounts = mounts
  15. cluster_desc.Configs = configs