将数据复制到或复制出实例

在本主题中,您将了解如何将数据复制到或复制出 Cloud Filestore 实例。

您可以使用 Google Cloud Platform (GCP) gcloudgsutil 命令行工具将数据复制到或复制出 Compute Engine Linux 虚拟机实例上装载的 Cloud Filestore 文件共享 (fileshare)。此外,您还可以使用 rsync 等标准命令。

您可以使用 gsutil 命令行工具将数据复制到或复制出 Compute Engine Windows 虚拟机实例上装载的 Cloud Filestore 文件共享。

将数据上传到实例

将数据从 Cloud Storage 存储分区上传到实例时可以使用 gsutil 工具,从其他计算机或实例上传到实例时则可以使用 gcloud 工具。

使用 gsutil 从 Cloud Storage 复制数据

通过以下过程,使用 gsutil rsync 命令将数据从 Cloud Storage 存储分区复制到实例。

  1. 转到“虚拟机实例”页面
  2. 选择一个已装载目标 Cloud Filestore 文件共享的客户端虚拟机实例,然后点击 SSH 在该虚拟机实例上打开一个终端。
  3. 通过运行以下命令将数据从 Cloud Storage 存储分区复制到已装载的 Cloud Filestore 文件共享,注意要将 [VALUES_IN_BRACKETS] 替换为适当的值:

    gsutil rsync gs://[BUCKET] [MOUNT_DIRECTORY]
    

    其中:

    • [BUCKET] 是要将数据复制出的来源 Cloud Storage 存储分区、目录或子目录。将 -r 选项和 gsutil rsync 命令配合使用可以通过递归方式进入到您所指定位置的子目录中。
    • [MOUNT_DIRECTORY] 是客户端上用于装载 Cloud Filestore 文件共享的目录。

示例

以下命令将数据从 data 存储分区和所有子目录复制到 /mnt/filer 目录中。

gsutil rsync -r gs://data /mnt/filer

使用 gcloud 上传数据

通过以下过程,使用 gcloud compute scp 命令将数据从其他任何计算机复制到 Compute Engine Linux 虚拟机实例上装载的 Cloud Filestore 文件共享。

  1. 使用 SSH 连接到包含要加载的数据的计算机。
  2. 通过运行以下命令查看是否安装了 gcloud 工具:

    which gcloud
    

    如果安装了 gcloud 工具,该命令将返回安装路径。如果未返回安装路径,请按照安装 Cloud SDK 中的说明安装该工具。

  3. 通过运行以下命令将数据复制到已装载的 Cloud Filestore 文件共享,注意要将 [VALUES_IN_BRACKETS] 替换为适当的值:

    gcloud compute scp [LOCAL_DATA_PATH] \
        [CLIENT_NAME]:/[MOUNT_DIRECTORY] \
        --project [PROJECT_ID] --zone [LOCATION]
    

    其中:

    • [LOCAL_DATA_PATH] 是本地文件或目录(其中包含要复制到实例的数据)的路径。如果您还想要复制其子目录中的数据,请在 [LOCAL_DATA_PATH] 后面使用 --recurse 标志。
    • [CLIENT_NAME] 是装载 Cloud Filestore 文件共享的客户端虚拟机实例的名称。
    • [MOUNT_DIRECTORY] 是客户端虚拟机实例上用于装载 Cloud Filestore 文件共享的目录。
    • [PROJECT_ID] 是包含该客户端虚拟机实例的 GCP 项目的 ID。如果您已使用 gcloud config set project [PROJECT_NAME] 设置此参数,则可以省略此标志并使用 gcloud 默认项目。
    • [LOCATION] 是客户端虚拟机实例所在的 GCP 地区。如果您已使用 gcloud config set compute/zone [ZONE] 设置此参数,则可以省略此标志并使用 gcloud 默认位置。

示例

以下命令将数据从本地 /etc/acme/data 目录及其子目录复制到 us-central1-c 地区的 myproject 项目中的 nfs-client 虚拟机实例上的 /mnt/filer 目录:

gcloud compute scp /etc/acme/data --recurse \
    nfs-client:/mnt/filer \
    --project myproject --zone us-central1-c

从实例下载数据

通过以下过程,使用 gsutil rsync 命令将数据从实例复制到 Cloud Storage 存储分区。

  1. 选择用于接收数据的 Cloud Storage 存储分区。如有必要,请按照创建存储分区中的说明创建一个存储分区。
  2. 转到“虚拟机实例”页面
  3. 选择一个已装载了来源 Cloud Filestore 文件共享的客户端虚拟机实例。
  4. 检查该客户端虚拟机实例是否可以向 Cloud Storage 写入数据。点击实例名称以打开“实例详情”页面,展开 Cloud API 访问权限范围,并查看存储是否具有读写范围。

    如果没有,请执行以下步骤:

    1. 点击页面顶部的停止以停止实例。
    2. 实例停止后,点击页面顶部的修改
    3. 访问权限范围下,选择针对每个 API 设置访问权限
    4. 对于存储,选择读写
    5. 点击保存
    6. 在实例更新完成后,点击页面顶部的启动
    7. 返回到“虚拟机实例”页面
  5. 点击 SSH 打开客户端虚拟机实例上的终端。

  6. 通过运行以下命令从 Cloud Filestore 文件共享复制文件,注意要将 [VALUES_IN_BRACKETS] 替换为适当的值:

    gsutil rsync [MOUNT_DIRECTORY] gs://[BUCKET]
    

    其中:

    • [MOUNT_DIRECTORY] 是客户端虚拟机实例上用于装载 Cloud Filestore 文件共享的目录。将 -r 选项和 gsutil rsync 命令配合使用可以通过递归方式进入到您所指定位置的子目录中。
    • [BUCKET] 是要将数据复制到的目标 Cloud Storage 存储分区、目录或子目录。

示例

以下命令会将数据从 /mnt/filer 目录及其所有子目录复制到 archive 存储分区。

gsutil rsync -r /mnt/filer gs://archive
此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Cloud Filestore 文档