复制数据

如需将数据复制到 Cloud Filestore 实例或从该实例中复制数据,您可以使用 gsutilgcloud 命令行工具。

如需在 Cloud Storage 存储分区与装载在 Compute Engine 虚拟机实例上的 Cloud Filestore 文件共享之间复制数据,您可以使用 gsutil rsync 命令。gsutil rsync 命令适用于 Linux 和 Windows 虚拟机。

如需在您的环境中的计算机与装载在 Compute Engine Linux 虚拟机实例上的 Cloud Filestore 文件共享之间复制数据,您可以使用 gcloud compute scp 命令。gcloud compute scp 命令不适用于 Windows 虚拟机实例。

在 Linux 虚拟机实例上,您还可以使用诸如 rsync 之类的标准命令来复制数据。

将数据上传到文件共享

使用 gsutil 上传数据

如需将数据从 Cloud Storage 存储分区上传到装载在 Compute Engine 虚拟机实例上的 Cloud Filestore 文件共享,您可以使用 gsutil rsync 命令。

Linux

  1. 转到“虚拟机实例”页面
  2. 选择一个已装载目标 Cloud Filestore 文件共享的客户端虚拟机实例,然后点击 SSH 以在该虚拟机实例上打开一个终端。
  3. 运行以下命令来将数据复制到装载的 Cloud Filestore 文件共享,注意要将 [VALUES_IN_BRACKETS] 替换为适当的值。将 -r 选项和 gsutil rsync 命令搭配使用可以通过递归方式进入到您所指定位置的子目录中。

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

    其中:

    • [BUCKET] 是要从中复制数据的来源 Cloud Storage 存储分区、目录或子目录。
    • [MOUNT_DIRECTORY] 是客户端上用于装载该 Cloud Filestore 文件共享的目录。

示例

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

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

Windows

  1. 转到“虚拟机实例”页面
  2. 选择一个已将目标 Cloud Filestore 文件共享映射到某一驱动器的客户端虚拟机实例,然后点击 RDP 以打开指向该虚拟机的远程桌面连接。
  3. 打开一个终端窗口,然后运行以下命令来将某一驱动器映射到该 Cloud Filestore 文件共享:

    net use [DRIVE_LETTER]: \\[IP_ADDRESS]\[FILESHARE]
    

    其中:

    • [DRIVE_LETTER] 是要映射到该 Cloud Filestore 文件共享的驱动器。
    • [IP_ADDRESS] 是 Cloud Filestore 实例的 IP 地址。
    • [FILESHARE] 是 Cloud Filestore 实例上的文件共享的名称。

    例如,net use Z: \\10.123.45.67\my_share

  4. 运行以下命令将数据复制到映射的 Cloud Filestore 文件共享,注意要将 [VALUES_IN_BRACKETS] 替换为适当的值。将 -r 选项和 gsutil rsync 命令搭配使用可以通过递归方式进入到您所指定位置的子目录中。

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

    其中:

    • [BUCKET] 是要从中复制数据的来源 Cloud Storage 存储分区、目录或子目录。
    • [MAPPED_DRIVE] 是客户端上该 Cloud Filestore 文件共享被映射到的驱动器。

示例

以下命令会将数据从 data 存储分区和所有子目录复制到“Z:”驱动器,该驱动器已映射到 Cloud Filestore 文件共享。

gsutil rsync -r gs://data Z:\

使用 gcloud 上传数据

如需将数据从您的环境中的计算机上传到装载在 Compute Engine Linux 虚拟机实例上的 Cloud Filestore 文件共享,您可以使用 gcloud compute scp 命令。

  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 目录及其子目录复制到 nfs-client 虚拟机实例上的 /mnt/filer 目录,该实例属于 us-central1-c 地区的 myproject 项目:

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

从文件共享下载数据

如需将数据从装载在 Compute Engine 虚拟机实例上的 Cloud Filestore 文件共享下载到 Cloud Storage 存储分区,您可以使用 gsutil rsync 命令。

检查客户端虚拟机实例的访问权限范围

在开始下载之前,请确保客户端虚拟机实例可以向 Cloud Storage 写入数据。

  1. 转到“虚拟机实例”页面
  2. 选择一个已装载来源 Cloud Filestore 文件共享的客户端虚拟机实例。
  3. 点击相应实例名称以打开“实例详情”页面,展开 Cloud API 访问权限范围,然后查看存储是否具有读写范围。

    如果不具有此范围,请执行以下步骤:

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

下载数据

Linux

  1. 转到“虚拟机实例”页面
  2. 选择一个已装载来源 Cloud Filestore 文件共享的客户端虚拟机实例,然后点击 SSH 以在该虚拟机实例上打开一个终端。
  3. 运行以下命令来从装载的 Cloud Filestore 文件共享中复制数据,注意要将 [VALUES_IN_BRACKETS] 替换为适当的值。将 -r 选项和 gsutil rsync 命令搭配使用可以通过递归方式进入到您所指定位置的子目录中。

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

    其中:

    • [MOUNT_DIRECTORY] 是客户端上用于装载该 Cloud Filestore 文件共享的目录。
    • [BUCKET] 是要将数据复制到的目标 Cloud Storage 存储分区、目录或子目录。

示例

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

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

Windows

  1. 转到“虚拟机实例”页面
  2. 选择一个已装载来源 Cloud Filestore 文件共享的客户端虚拟机实例,然后点击 RDP 以打开指向该虚拟机的远程桌面连接。
  3. 打开一个终端窗口,然后运行以下命令来将某一驱动器映射到该 Cloud Filestore 文件共享:

    net use [DRIVE_LETTER]: \\[IP_ADDRESS]\[FILESHARE]
    

    其中:

    • [DRIVE_LETTER] 是要映射到该 Cloud Filestore 文件共享的驱动器。
    • [IP_ADDRESS] 是 Cloud Filestore 实例的 IP 地址。
    • [FILESHARE] 是实例上的文件共享的名称。

    例如,net use Z: \\10.123.45.67\my_share

  4. 运行以下命令来从映射的 Cloud Filestore 文件共享中复制数据,注意要将 [VALUES_IN_BRACKETS] 替换为适当的值。将 -r 选项和 gsutil rsync 命令搭配使用可以通过递归方式进入到您所指定位置的子目录中。

    运行以下命令可将数据从映射的 Cloud Filestore 文件共享复制到 Cloud Storage 存储分区,注意要将 [VALUES_IN_BRACKETS] 替换为适当的值:

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

    其中:

    • [MAPPED_DRIVE] 是客户端上该 Cloud Filestore 文件共享被映射到的驱动器。
    • [BUCKET] 是要将数据复制到的目标 Cloud Storage 存储分区、目录或子目录。

示例

以下命令会将数据从映射的驱动器 Z:\` and all subdirectories to the复制到“archive”存储分区。

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

发送以下问题的反馈:

此网页
Cloud Filestore 文档