Triển khai hệ thống tệp song song Lustre trên GCP

1. Tổng quan

Chào mừng bạn đến với lớp học lập trình của Google về cách chạy cụm hệ thống tệp Lustre Parallel trên Google Cloud Platform!

d51beef5f729cbe9.png

Dữ liệu đóng vai trò cốt lõi trong hoạt động điện toán hiệu suất cao và việc truy cập một lượng lớn dữ liệu ở tốc độ cực cao và độ trễ thấp luôn là một thách thức lớn trong việc chạy các tải công việc của HPC. Yêu cầu về bộ nhớ hiệu suất cao này không thay đổi trong đám mây, và trên thực tế, khả năng sử dụng lượng lớn bộ nhớ một cách nhanh chóng và dễ dàng đã trở thành yếu tố quan trọng hàng đầu.

Từ lâu, các trung tâm HPC đã đáp ứng nhu cầu tại chỗ này bằng cách sử dụng các công nghệ như hệ thống tệp song song Lustre. Lustre là một trong những giải pháp lưu trữ hiệu suất cao nguồn mở phổ biến nhất hiện nay, và kể từ tháng 6 năm 2005, nó liên tục được sử dụng bởi ít nhất một nửa trong số 10 siêu máy tính hàng đầu và hơn 60 trong số 100 siêu máy tính nhanh nhất thế giới. Lustre có khả năng mở rộng dung lượng lên tới hàng trăm PB và mang lại hiệu suất tối đa cho các công việc HPC có thể, với các hệ thống phân phối TB/giây thông lượng trong một không gian tên duy nhất.

Để đáp ứng nhu cầu về bộ nhớ, Google Cloud đã áp dụng hai phương pháp. Trước tiên, GCP đã hợp tác với DDN để đưa phần mềm DDN EXAScaler Lustre cấp doanh nghiệp được hỗ trợ lên GCP Marketplace. Thứ hai, các kỹ sư của chúng tôi tại Google Cloud đã phát triển và phát hành mã nguồn mở một bộ tập lệnh để dễ dàng định cấu hình và triển khai cụm bộ nhớ Lustre trên Google Compute Engine bằng Trình quản lý triển khai Google Cloud.

Lustre trên Google Cloud Platform cũng có khả năng mang lại hiệu suất tối đa cho cơ sở hạ tầng mà nó đang chạy. Hiệu suất của giải pháp này trên GCP tốt đến mức đứng thứ 8 trên điểm chuẩn của hệ thống lưu trữ IO-500 trong năm 2019 (theo đối tác DDN của chúng tôi), đại diện cho hệ thống tệp dựa trên đám mây có thứ hạng cao nhất trên IO-500. Hôm nay, chúng tôi sẽ hướng dẫn bạn cách triển khai các tập lệnh Trình quản lý triển khai nguồn mở cho Lustre. Nếu bạn muốn có trải nghiệm Lustre mạnh mẽ, dành cho doanh nghiệp, với dịch vụ hỗ trợ chuyên gia Lustre cho cụm Lustre, cũng như các tính năng như GUI quản lý và giám sát hoặc điều chỉnh Lustre, bạn nên tìm hiểu sản phẩm trên DDN EXAScaler Marketplace.

Kiến thức bạn sẽ học được

  • Cách sử dụng Dịch vụ Trình quản lý triển khai của GCP
  • Cách định cấu hình và triển khai hệ thống tệp Lustre trên GCP.
  • Cách định cấu hình tính năng phân tách và kiểm thử I/O đơn giản cho hệ thống tệp Lustre.

Điều kiện tiên quyết

  • Tài khoản Google Cloud Platform và một dự án có thanh toán
  • Trải nghiệm cơ bản với Linux

2. Thiết lập

Thiết lập môi trường theo tốc độ của riêng bạn

Tạo dự án

Nếu chưa có Tài khoản Google (Gmail hoặc G Suite), bạn phải tạo một tài khoản. Đăng nhập vào bảng điều khiển Google Cloud Platform ( console.cloud.google.com) rồi mở trang Quản lý tài nguyên:

359c06e07e6d699f.png.

Nhấp vào Create Project (Tạo dự án).

25c23d651abb837b.png.

Nhập tên dự án. Ghi nhớ mã dự án (được đánh dấu bằng màu đỏ trong ảnh chụp màn hình ở trên). Mã dự án phải là tên duy nhất trên tất cả các dự án Google Cloud. Nếu tên dự án của bạn không phải là duy nhất, Google Cloud sẽ tạo một mã dự án ngẫu nhiên dựa trên tên dự án.

Tiếp theo, bạn cần bật tính năng thanh toán trong Developers Console để sử dụng các tài nguyên của Google Cloud.

Bạn sẽ không mất quá vài đô la khi chạy lớp học lập trình này, nhưng sẽ tốn nhiều hơn nếu quyết định sử dụng nhiều tài nguyên hơn hoặc nếu bạn để tài nguyên đó chạy (xem phần "Kết luận" ở cuối tài liệu này). Công cụ tính giá của Google Cloud Platform có tại đây.

Người dùng mới của Google Cloud Platform đủ điều kiện nhận 300 USD dùng thử miễn phí.

Google Cloud Shell

Mặc dù bạn có thể vận hành Google Cloud từ xa trên máy tính xách tay, nhưng trong lớp học lập trình này, chúng ta sẽ sử dụng Google Cloud Shell, một môi trường dòng lệnh chạy trong Đám mây.

Chạy Google Cloud Shell

Trong Bảng điều khiển GCP, hãy nhấp vào biểu tượng Cloud Shell ở thanh công cụ trên cùng bên phải:

dbad104cef962719.png

Sau đó, hãy nhấp vào Bắt đầu Cloud Shell:

4e50db320508ac88.png

Sẽ chỉ mất một chút thời gian để cấp phép và kết nối với môi trường:

20b0aa80492144d.png.

Máy ảo này được tải sẵn tất cả các công cụ phát triển mà bạn cần. Dịch vụ này cung cấp thư mục gốc có dung lượng ổn định 5 GB và chạy trên Google Cloud, giúp nâng cao đáng kể hiệu suất mạng và đơn giản hoá quá trình xác thực. Đa số, nếu không phải là tất cả, công việc của bạn trong phòng thí nghiệm này có thể được thực hiện chỉ bằng một trình duyệt web hoặc một chiếc Chromebook của Google.

Sau khi kết nối với màn hình shell trên đám mây, bạn sẽ thấy mình đã được xác thực và dự án đã được đặt thành PROJECT_ID:

$ gcloud auth list

Đầu ra lệnh:

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)
$ gcloud config list project

Đầu ra lệnh:

[core]
project = <PROJECT_ID>

Nếu mã dự án chưa được thiết lập chính xác, bạn có thể thiết lập bằng lệnh sau:

$ gcloud config set project <PROJECT_ID>

Kết quả lệnh:

Updated property [core/project].

3. Chuẩn bị và xem lại cấu hình triển khai Lustre

Tải tập lệnh Trình quản lý triển khai Lustre xuống

Trong phiên Cloud Shell, hãy thực thi lệnh sau để sao chép (tải xuống) Kho lưu trữ Git chứa các tệp Lustre cho người quản lý triển khai Google Cloud Platform:

git clone https://github.com/GoogleCloudPlatform/deploymentmanager-samples.git

Chuyển sang thư mục cấu hình triển khai Lustre bằng cách thực thi lệnh sau:

cd deploymentmanager-samples/community/lustre/

Định cấu hình tệp YAML triển khai Lustre

Trình quản lý triển khai sử dụng tệp YAML để cung cấp cấu hình triển khai. Tệp YAML này nêu chi tiết cấu hình triển khai, chẳng hạn như phiên bản Lustre sẽ triển khai và các loại thực thể máy sẽ triển khai. Theo mặc định, tệp này được định cấu hình để triển khai trong một dự án mới mà không cần tăng hạn mức. Tuy nhiên, bạn có thể thay đổi loại máy hoặc dung lượng theo ý muốn cho lớp học lập trình này. Lớp học lập trình này được viết để sử dụng các giá trị mặc định này. Vì vậy, nếu thực hiện bất kỳ thay đổi nào, bạn phải thực hiện các thay đổi đó trong suốt lớp học lập trình này để tránh lỗi. Trong môi trường sản xuất, bạn nên có ít nhất một phiên bản 32 vCPU cho nút MDS và ít nhất một phiên bản 8 hoặc 16 vCPU cho các nút OSS, tuỳ thuộc vào dung lượng và loại bộ nhớ.

Để xem hoặc chỉnh sửa tệp YAML trong phiên Cloud Shell, hãy mở tệp YAML cấu hình triển khai Lustre-cluster.yaml. Bạn có thể sử dụng trình soạn thảo dòng lệnh mà bạn muốn (vi, nano, emacs, v.v.) hoặc sử dụng Trình soạn thảo mã của Cloud Console để xem nội dung tệp:

11efd5af658f1842.pngS

Nội dung của tệp sẽ có dạng như sau:

# [START cluster_yaml]
imports:
- path: lustre.jinja

resources:
- name: lustre
  type: lustre.jinja
  properties:
    ## Cluster Configuration
    cluster_name            : lustre
    zone                    : us-central1-f
    cidr                    : 10.20.0.0/16
    external_ips            : True
    ### Use these fields to deploy Lustre in an existing VPC, Subnet, and/or Shared VPC
    #vpc_net                 : < VPC Network Name >
    #vpc_subnet              : < VPC Subnet Name >
    #shared_vpc_host_proj    : < Shared VPC Host Project name >

    ## Filesystem Configuration
    fs_name                 : lustre
    ### Review https://downloads.whamcloud.com/public/ to determine version naming
    lustre_version          : latest-release
    e2fs_version            : latest

    ## Lustre MDS/MGS Node Configuration
    #mds_node_count          : 1
    mds_ip_address          : 10.20.0.2
    mds_machine_type        : n1-standard-8
    ### MDS/MGS Boot disk
    mds_boot_disk_type      : pd-standard
    mds_boot_disk_size_gb   : 10
    ### Lustre MetaData Target disk
    mdt_disk_type           : pd-ssd
    mdt_disk_size_gb        : 1000

    ## Lustre OSS Configuration
    oss_node_count          : 4
    oss_ip_range_start      : 10.20.0.5
    oss_machine_type        : n1-standard-4
    ### OSS Boot disk
    oss_boot_disk_type      : pd-standard
    oss_boot_disk_size_gb   : 10
    ### Lustre Object Storage Target disk
    ost_disk_type           : pd-standard
    ost_disk_size_gb        : 5000
#  [END cluster_yaml]

Trong tệp YAML này, có một số trường. Các trường có dấu hoa thị (*) bên dưới là bắt buộc. Các trường này bao gồm:

Cấu hình cụm

  • string_name* – Tên của cụm Lustre, thêm vào trước tất cả tài nguyên được triển khai
  • Zone* – Vùng sẽ triển khai cụm vào
  • cidr* - dải IP ở định dạng CIDR
  • external_ips* – Đúng/Sai, các nút Lustre có địa chỉ IP bên ngoài. Nếu giá trị là false thì Cloud NAT được thiết lập làm cổng NAT
  • vpc_net – Xác định trường này và trường vpc_subnet để triển khai cụm Lustre cho một VPC hiện có
  • vpc_subnet – Mạng con VPC hiện có để triển khai cụm Lustre cho
  • shared_vpc_host_proj – Xác định trường này, cũng như các trường vpc_net và vpc_subnet, để triển khai cụm cho VPC dùng chung

Cấu hình hệ thống tệp

  • fs_name - Tên hệ thống tệp Lustre
  • lustre_version – Phiên bản Lustre cần triển khai, sử dụng "latest-release" để triển khai nhánh mới nhất từ https://downloads.whamcloud.com/public/lustre/ hoặc lustre-X.X.X để triển khai mọi phiên bản khác
  • e2fs_version – Phiên bản E2fsprogs để triển khai, sử dụng phiên bản "mới nhất" để triển khai nhánh mới nhất từ https://downloads.whamcloud.com/public/e2fsprogs/ hoặc X.XX.X.wcX để triển khai bất kỳ phiên bản nào khác

Cấu hình MDS/MGS

  • mds_ip_address - Địa chỉ IP nội bộ để chỉ định cho nút PROFILE/MGS
  • mds_machine_type – Loại máy để sử dụng cho nút MDS/MGS (xem https://cloud.google.com/compute/docs/machine-types)
  • mds_boot_disk_type – Loại ổ đĩa dùng cho ổ đĩa khởi động MDS/MGS (pd-standard, pd-ssd)
  • mds_boot_disk_size_gb – Dung lượng ổ đĩa khởi động MDS tính bằng GB
  • mdt_disk_type* – Loại ổ đĩa dùng cho ổ đĩa Mục tiêu siêu dữ liệu (MDT) (pd-standard, pd-ssd, local-ssd)
  • mdt_disk_size_gb* - Kích thước của đĩa MDT tính bằng GB

Cấu hình OSS

  • oss_node_count* – Số lượng nút Máy chủ lưu trữ đối tượng (OSS) cần tạo
  • oss_ip_range_start – Bắt đầu của dải IP cho (các) nút OSS. Nếu không được chỉ định, hãy sử dụng tính năng tự động chỉ định IP
  • oss_machine_type – Loại máy để sử dụng cho (các) nút OSS
  • oss_boot_disk_type – Loại ổ đĩa dùng cho ổ đĩa khởi động OSS (pd-standard, pd-ssd)
  • oss_boot_disk_size_gb – Kích thước của đĩa khởi động DSP tính bằng GB
  • ost_disk_type* – Loại ổ đĩa dùng cho ổ đĩa Object Storage Target (OST) (PD-standard, PD-ssd, local-ssd)
  • ost_disk_size_gb* – Kích thước của đĩa OST tính bằng GB

4. Triển khai và xác minh cấu hình

Triển khai cấu hình

Trong phiên Cloud Shell, hãy thực thi lệnh sau từ thư mục Lustre-gcp:

gcloud deployment-manager deployments create lustre --config lustre.yaml

Lệnh này sẽ tạo một quy trình triển khai có tên Lustre. Quá trình này có thể mất từ 10 đến 20 phút để hoàn tất, vì vậy, vui lòng kiên nhẫn chờ đợi.

Sau khi quá trình triển khai hoàn tất, bạn sẽ thấy kết quả tương tự như sau:

Create operation operation-1572410719018-5961966591cad-e25384f6-d4c905f8 completed successfully.
NAME                                TYPE                   STATE      ERRORS  INTENT
lustre-all-internal-firewall-rule  compute.v1.firewall    COMPLETED  []
lustre-lustre-network              compute.v1.network     COMPLETED  []
lustre-lustre-subnet               compute.v1.subnetwork  COMPLETED  []
lustre-mds1                        compute.v1.instance    COMPLETED  []
lustre-oss1                        compute.v1.instance    COMPLETED  []
lustre-oss2                        compute.v1.instance    COMPLETED  []
lustre-oss3                        compute.v1.instance    COMPLETED  []
lustre-oss4                        compute.v1.instance    COMPLETED  []
lustre-ssh-firewall-rule           compute.v1.firewall    COMPLETED  []

Xác minh quá trình triển khai

5f2a0557d3f2476f.png

Làm theo các bước sau để xem quá trình triển khai trong Bảng điều khiển Google Cloud Platform:

  • Trong Cloud Platform Console, hãy mở trình đơn Products & Services (Sản phẩm và dịch vụ) ở góc trên cùng bên trái của bảng điều khiển (biểu tượng ba đường kẻ ngang).
  • Nhấp vào Trình quản lý triển khai.
  • Nhấp vào Lustre để xem thông tin chi tiết về quá trình triển khai.
  • Nhấp vào Tổng quan – Hình ảnh. Ngăn Triển khai thuộc tính sẽ hiển thị cấu hình triển khai tổng thể.
  • Nhấp vào "Chế độ xem" trên thuộc tính Cấu hình. Ngăn Config (Cấu hình) hiển thị nội dung của tệp YAML cấu hình triển khai đã sửa đổi trước đó. Xác minh rằng nội dung là chính xác trước khi tiếp tục. Nếu cần thay đổi cấu hình triển khai, bạn chỉ cần xoá bản triển khai theo các bước trong phần "Dọn dẹp bản triển khai" rồi khởi động lại bản triển khai theo các bước trong phần "Định cấu hình tệp YAML triển khai Lustre".
  • (Không bắt buộc) Trong mục Lustre-cluster, hãy nhấp vào từng tài nguyên được tạo bằng mẫu Lustre.jinja rồi xem lại thông tin chi tiết.

Sau khi xác minh cấu hình của quá trình triển khai, hãy xác nhận rằng các thực thể của cụm đã bắt đầu. Trong Bảng điều khiển Cloud Platform, trong trình đơn Products & Services (Sản phẩm và dịch vụ), hãy nhấp vào Compute Engine > VM Instances (Compute Engine > Thực thể máy ảo).

aec8498e04a3c334.png

Trên trang VM Instances (Thực thể máy ảo), hãy xem lại 5 thực thể máy ảo mà trình quản lý triển khai đã tạo. Danh mục này bao gồm lustre-mds1, lustre-oss1, lustre-oss2, lustre-oss3lustre-oss4.

5. Truy cập vào cụm Lustre

Giám sát việc cài đặt

Trên trang Phiên bản máy ảo, hãy nhấp vào lustre-mds1 để mở trang Chi tiết phiên bản.

ba0bea7acdbb9527.png

Nhấp vào Cổng nối tiếp 1 (bảng điều khiển) để mở trang đầu ra bảng điều khiển nối tiếp. Chúng tôi sẽ sử dụng dữ liệu đầu ra nối tiếp này để giám sát quá trình cài đặt của phiên bản {/0 và đợi cho đến khi tập lệnh khởi động hoàn tất. Nhấp vào nút "làm mới" ở đầu trang để cập nhật dữ liệu đầu ra nối tiếp. Nút này sẽ khởi động lại một lần để khởi động vào nhân Lustre và hiển thị các thông báo tương tự như bên dưới:

Startup finished in 838ms (kernel) + 6.964s (initrd) + 49.302s (userspace) = 57.105s.
Lustre: lustre-MDT0000: Connection restored to 374e2d80-0b31-0cd7-b2bf-de35b8119534 (at 0@lo)

Điều này có nghĩa là Lustre đã được cài đặt trên cụm Lustre và hệ thống tệp đã sẵn sàng để sử dụng!

Truy cập vào cụm Lustre

Trong phiên Cloud Shell, hãy nhấp vào nút SSH bên cạnh thực thể lustre-mds1 trong Google Cloud Console. Ngoài ra, hãy thực thi lệnh sau trong Cloud Shell, thay thế <ZONE> cho vùng của nút lustre-mds1:

gcloud compute ssh lustre-mds1 --zone=<ZONE>

Lệnh này sẽ đăng nhập vào máy ảo lustre-mds1. Đây là phiên bản máy chủ siêu dữ liệu Lustre (MDS), đồng thời cũng đóng vai trò là phiên bản máy chủ quản lý Lustre (MGS). Thực thể này xử lý tất cả các yêu cầu xác thực và siêu dữ liệu cho hệ thống tệp.

Hãy gắn hệ thống tệp vào phiên bản lustre-mds1 để có thể kiểm tra sau này. Thực thi các lệnh sau:

sudo mkdir /mnt/lustre
sudo mount -t lustre lustre-mds1:/lustre /mnt/lustre
cd /mnt/lustre

Ba lệnh này thực hiện 3 việc. Lệnh đầu tiên tạo một thư mục cục bộ mà chúng ta sẽ sử dụng làm điểm gắn tại "/mnt/lustre". Lệnh thứ hai chạy lệnh "mount" để gắn hệ thống tệp loại "lustre" trên máy chủ lustre-mds1, trong đó tên hệ thống tệp là "lustre", được xem là "/lustre". Lệnh gắn kết gắn hệ thống tệp Lustre tại thư mục "/mnt/lustre" cục bộ của bạn. Cuối cùng, lệnh thứ ba thay đổi thư mục thành thư mục /mnt/lustre, nơi Lustre được gắn kết.

Bây giờ, bạn đã gắn hệ thống tệp Lustre tại /mnt/lustre. Hãy xem chúng ta có thể làm gì với hệ thống tệp này.

6. Tham quan các công cụ của Lustre CLI

Nếu bạn chưa quen với Lustre và các công cụ của Lustre, chúng tôi sẽ hướng dẫn một số lệnh quan trọng tại đây.

Công cụ quản lý cụm cấp thấp của Lustre là "lctl". Chúng ta có thể sử dụng lctl để định cấu hình và quản lý cụm Lustre, cũng như để xem các dịch vụ của cụm Lustre. Để xem các dịch vụ và thực thể trong cụm Lustre mới, hãy thực thi:

sudo lctl dl

Bạn sẽ thấy kết quả tương tự như bên dưới, tuỳ thuộc vào những thay đổi bạn đã thực hiện đối với tệp cấu hình Lustre YAML:

  0 UP osd-ldiskfs lustre-MDT0000-osd lustre-MDT0000-osd_UUID 11
  1 UP mgs MGS MGS 12
  2 UP mgc MGC10.128.15.2@tcp 374e2d80-0b31-0cd7-b2bf-de35b8119534 4
  3 UP mds MDS MDS_uuid 2
  4 UP lod lustre-MDT0000-mdtlov lustre-MDT0000-mdtlov_UUID 3
  5 UP mdt lustre-MDT0000 lustre-MDT0000_UUID 12
  6 UP mdd lustre-MDD0000 lustre-MDD0000_UUID 3
  7 UP qmt lustre-QMT0000 lustre-QMT0000_UUID 3
  8 UP lwp lustre-MDT0000-lwp-MDT0000 lustre-MDT0000-lwp-MDT0000_UUID 4
  9 UP osp lustre-OST0000-osc-MDT0000 lustre-MDT0000-mdtlov_UUID 4
 10 UP osp lustre-OST0002-osc-MDT0000 lustre-MDT0000-mdtlov_UUID 4
 11 UP osp lustre-OST0001-osc-MDT0000 lustre-MDT0000-mdtlov_UUID 4
 12 UP osp lustre-OST0003-osc-MDT0000 lustre-MDT0000-mdtlov_UUID 4

Chúng ta có thể thấy Máy chủ quản lý Lustre (MGS) ở mục 1, Máy chủ siêu dữ liệu Lustre (MDS) ở mục 3, Mục tiêu siêu dữ liệu Lustre (MDT) ở mục 5 và 4 Máy chủ lưu trữ đối tượng Lustre (OSS) ở mục 8 đến 12. Để tìm hiểu về các dịch vụ khác, vui lòng xem Hướng dẫn về bản quyền.

Công cụ cấu hình hệ thống tệp của Lustre là "lfs". Chúng ta có thể sử dụng lfs để quản lý việc phân tách tệp trên Máy chủ lưu trữ đối tượng Lustre (OSS) và Mục tiêu lưu trữ đối tượng (OST) tương ứng, cũng như chạy các thao tác hệ thống tệp phổ biến như tìm, df và quản lý hạn mức.

Tính năng phân đoạn cho phép chúng ta định cấu hình cách phân phối tệp trên cụm Lustre để mang lại hiệu suất tốt nhất có thể. Mặc dù việc loại bỏ một tệp lớn trên nhiều OSS nhất có thể thường mang lại hiệu suất tốt nhất bằng cách song song hoá IO, nhưng việc loại bỏ một tệp nhỏ có thể dẫn đến hiệu suất kém hơn so với trường hợp tệp đó chỉ được ghi vào một thực thể duy nhất.

Để kiểm tra điều này, hãy thiết lập 2 thư mục, một thư mục có số lượng sọc là một OSS và một thư mục có số lượng sọc là "-1", cho biết các tệp được viết trong thư mục đó phải được vẽ trên nhiều OSS nhất có thể. Thư mục có thể chứa cấu hình phân vùng được các tệp tạo trong thư mục kế thừa, nhưng thư mục con và tệp riêng lẻ trong thư mục đó có thể được định cấu hình để phân vùng theo cách khác nếu muốn. Để tạo 2 thư mục này, hãy thực thi các lệnh sau trong thư mục "/mnt/lustre":

sudo mkdir stripe_one
sudo mkdir stripe_all
sudo lfs setstripe -c 1 stripe_one/
sudo lfs setstripe -c -1 stripe_all/

Bạn có thể xem chế độ cài đặt dải của một tệp hoặc thư mục bằng cách sử dụng lfs getstripe:

sudo lfs getstripe stripe_all/

Bạn sẽ thấy kết quả cho biết số lượng sọc được thiết lập là -1:

stripe_all/
stripe_count:  -1 stripe_size:   1048576 pattern:    raid0 stripe_offset: -1

Bây giờ, chúng ta đã sẵn sàng thử nghiệm những điểm cải thiện về hiệu suất có thể đạt được bằng cách viết một tệp lớn có sọc trên nhiều OSS.

7. Kiểm thử Lustre I/O

Chúng ta sẽ chạy hai thử nghiệm đơn giản về Lustre IO để minh hoạ các lợi thế về hiệu suất và khả năng mở rộng của hệ thống tệp Lustre. Đầu tiên, chúng ta sẽ chạy một kiểm thử đơn giản bằng tiện ích "dd" để ghi một tệp 5GB vào thư mục "stripe_one". Thực thi lệnh sau:

sudo dd if=/dev/zero of=stripe_one/test bs=1M count=5000

Quá trình ghi 5 GB dữ liệu vào hệ thống tệp trung bình mất khoảng 27 giây, ghi vào một Ổ đĩa cố định (PD) trên một Máy chủ lưu trữ đối tượng (OSS).

Để kiểm thử việc tách trên nhiều OSS (từ đó đến nhiều PD), chúng ta chỉ cần thay đổi thư mục đầu ra mà chúng ta ghi vào. Thực thi lệnh sau:

sudo dd if=/dev/zero of=stripe_all/test bs=1M count=5000

Lưu ý chúng ta đã thay đổi "of=stripe_one/test" thành "of=stripe_all/test". Điều này sẽ cho phép ghi luồng đơn của chúng tôi phân phối các lượt ghi trên tất cả các Máy chủ lưu trữ đối tượng của chúng tôi và hoàn thành việc ghi trung bình 5, 5 giây, nhanh khoảng 4 lần với bốn hệ điều hành.

Hiệu suất này sẽ tiếp tục tăng khi bạn thêm Máy chủ lưu trữ đối tượng. Bạn có thể thêm OSS có hệ thống tệp trực tuyến và bắt đầu phân tách dữ liệu cho các OSS đó để tăng dung lượng và hiệu suất trực tuyến. Khả năng là vô tận khi sử dụng Lustre trên Google Cloud Platform và chúng tôi rất vui mừng được thấy những gì bạn có thể xây dựng cũng như những vấn đề bạn có thể giải quyết.

8. Kết luận

Xin chúc mừng, bạn đã tạo một cụm Lustre trên Google Cloud Platform! Bạn có thể sử dụng các tập lệnh này làm điểm khởi đầu để xây dựng cụm Lustre của riêng mình và tích hợp cụm đó với cụm điện toán dựa trên đám mây.

Dọn dẹp việc triển khai

Đăng xuất khỏi nút Lustre:

exit

Bạn có thể dễ dàng dọn dẹp quy trình triển khai sau khi chúng tôi hoàn tất bằng cách thực thi lệnh sau từ Google Cloud Shell, sau khi đăng xuất khỏi cụm Lustre:

gcloud deployment-manager deployments delete lustre

Khi được nhắc, hãy nhập Y để tiếp tục. Thao tác này có thể mất chút thời gian. Xin vui lòng kiên nhẫn.

Xoá dự án

Để dọn dẹp, chúng ta chỉ cần xoá dự án.

  • Trong trình đơn điều hướng, hãy chọn IAM và Admin
  • Sau đó, nhấp vào phần cài đặt trong trình đơn phụ
  • Nhấp vào biểu tượng thùng rác có nội dung "Xoá dự án"
  • Làm theo hướng dẫn của lời nhắc

Nội dung đã đề cập

  • Cách sử dụng Dịch vụ Trình quản lý triển khai GCP.
  • Cách định cấu hình và triển khai hệ thống tệp Lustre trên GCP.
  • Cách định cấu hình lọc và kiểm thử I/O đơn giản cho hệ thống tệp Lustre.

Tìm nguồn hỗ trợ

Bạn có đang xây dựng một ứng dụng thú vị bằng các tập lệnh của trình quản lý triển khai Lustre không? Bạn có câu hỏi? Trò chuyện với chúng tôi trong nhóm thảo luận về Lustre của Google Cloud. Để yêu cầu tính năng, đưa ra ý kiến phản hồi hoặc báo cáo lỗi, vui lòng sử dụng biểu mẫu này hoặc sửa đổi mã rồi gửi yêu cầu lấy dữ liệu! Bạn muốn trò chuyện với một chuyên gia của Google Cloud? Hãy liên hệ với nhóm Google Cloud ngay hôm nay thông qua trang web về điện toán hiệu suất cao của Google Cloud.

Tìm hiểu thêm

Phản hồi

Vui lòng gửi ý kiến phản hồi về lớp học lập trình này thông qua đường liên kết này. Bạn sẽ mất chưa đầy 5 phút để hoàn tất quá trình phản hồi. Xin cảm ơn!