Có một số công cụ để quản lý Cơ sở hạ tầng dưới dạng Mã, từ các lệnh REST API cơ bản mà bạn có thể viết cùng nhau bằng ngôn ngữ bạn chọn cho đến các công cụ công cụ phức tạp hơn như Ansible, Terraform, Chef, SaltStack hoặc Cloud Formation.
Dell đã cung cấp hỗ trợ toàn diện cho REST API và Ansible Collections cho mảng lưu trữ Dell và hiện đang phát hành các nhà cung cấp cho Terraform dành cho các sản phẩm máy chủ và lưu trữ. (Nhà cung cấp Terraform là một plugin cho phép Terraform tương tác với API của nhà cung cấp.) Ban đầu, Dell sẽ công bố các nhà cung cấp cho bộ lưu trữ PowerMax, PowerStore và PowerFlex trên sổ đăng ký Terraform để cho phép người dùng truy cập vào các tài nguyên đã công bố để quản lý các mảng lưu trữ này.
Terraform là một công cụ phần mềm cơ sở hạ tầng dưới dạng mã nguồn mở do HashiCorp tạo ra. Trong Terraform, người dùng định nghĩa cơ sở hạ tầng trung tâm dữ liệu bằng ngôn ngữ cấu hình khai báo được gọi là Ngôn ngữ cấu hình HashiCorp (HCL), tương đối đơn giản và tương tự như YAML. Terraform khuyến khích một phong cách khai báo trong đó bạn viết mã mô tả trạng thái kết thúc mong muốn của cấu hình và Terraform tìm ra cách để đạt được trạng thái kết thúc đó. Terraform cũng nhận biết bất kỳ trạng thái nào mà nó đã tạo trong quá khứ vì nó theo dõi xem cấu hình đó có phải là tệp trạng thái được lưu trữ cục bộ hay trong kiểm soát phiên bản hay không.
Cấu hình Terraform là một tài liệu hoàn chỉnh bằng ngôn ngữ Terraform cho biết Terraform cách quản lý một tập hợp cơ sở hạ tầng nhất định. Cấu hình có thể bao gồm nhiều tệp và thư mục. Blog này hướng dẫn bạn cấu hình cơ bản với nhà cung cấp PowerMax.
( Lưu ý : Mã mẫu được công bố trên trang GitHub của Dell, nơi lưu trữ nhà cung cấp Terraform. Nhà cung cấp PowerMax đầu tiên dành cho Terraform này tập trung vào các hoạt động cung cấp lưu trữ, tạo chế độ xem che giấu và quản lý các ổ đĩa lưu trữ cho các ứng dụng của bạn. Nhiều tính năng khác sẽ được đưa lên mạng trong các bản phát hành sau dựa trên phản hồi của khách hàng.)
Thiết lập nhà cung cấp PowerMax cho Terraform
Trước khi cấu hình bất kỳ thứ gì, điều quan trọng cần lưu ý là nhà cung cấp Terraform sẽ giao tiếp với Unisphere cho PowerMax bằng REST. Ít nhất bạn sẽ cần một tài khoản người dùng có quyền quản trị viên lưu trữ cho các mảng mà bạn cần quản lý.
Để bắt đầu làm việc với Terraform, bạn sẽ cần cài đặt Terraform. Xem hướng dẫn Terraform để biết tài liệu chính thức . Trong trường hợp của tôi, máy chủ là Red Hat nên tôi chỉ cần chạy
yum cài đặt terraform
Sau khi bạn đã cài đặt Terraform, bạn cần thiết lập bất kỳ nhà cung cấp bên thứ ba nào mà bạn sẽ làm việc cùng. Những nhà cung cấp này nằm trên sổ đăng ký Terraform (hãy nghĩ về nó như một Appstore).
Để cài đặt nhà cung cấp PowerMax, hãy sao chép và dán đoạn mã từ liên kết Sử dụng nhà cung cấp cho tệp cấu hình Terraform của bạn. Ví dụ:
địa hình { nhà cung cấp bắt buộc { công suất cực đại = { nguồn = "dell/powermax" phiên bản = "1.0.0-beta" } } } nhà cung cấp "powermax" { # Tùy chọn cấu hình }
Trong trường hợp của tôi, tôi có một cấu trúc thư mục phẳng với một vài tệp trong đó. Tệp đầu tiên là provider.tf chứa văn bản được hiển thị ở đây.
Khi tệp nhà cung cấp có mã yêu cầu cho nhà cung cấp nhà cung cấp, hãy chạy
khởi tạo terraform
Tại thời điểm này, hệ thống đã được thiết lập và sẵn sàng chạy Terraform với bộ lưu trữ PowerMax.
Xác định cấu hình PowerMax trong Terraform
Sau khi cài đặt Terraform và thiết lập nhà cung cấp, bây giờ chúng ta cần khám phá các tệp khác cần thiết để quản lý cấu hình với Terraform.
Tất cả các cấu hình Terraform đều lưu trữ cấu hình trong một tệp trạng thái (thường là terraform.tfstate). Tệp này theo dõi thông tin cấu hình về các đối tượng được quản lý và được sử dụng cho các tính năng idempotency của các cấu hình Terraform. Tệp trạng thái có thể là cục bộ đối với máy chủ Terraform nhưng nếu bạn có nhiều người dùng hoặc nếu bạn đang sử dụng quy trình tự động hóa và CI/CD để chạy Terraform, tệp trạng thái cần phải có thể truy cập được, hãy đặt tệp trạng thái trên bộ lưu trữ được chia sẻ. Cấp quyền khi cần. Đây là giao diện của tệp trạng thái của tôi, trỏ đến vị trí bộ lưu trữ được chia sẻ trên thùng S3:

Bây giờ chúng ta đã thiết lập tệp trạng thái được chia sẻ, tôi có thể tạo cấu hình để quản lý cấu hình Lưu trữ PowerMax của mình.
Tạo cấu hình trong Terraform cho PowerMax
Có ba giai đoạn để tạo cấu hình với Terraform:

(Nguồn hình ảnh https://developer.hashicorp.com/terraform/intro .)
Viết cấu hình
Để viết các tệp cấu hình cho cơ sở hạ tầng PowerMax, bạn có thể sử dụng các đoạn mã mẫu cho từng tài nguyên, có sẵn trên sổ đăng ký Terraform hoặc trên Dell GitHub cho nhà cung cấp Terraform . Bạn có thể sao chép và tùy chỉnh mã để đáp ứng các yêu cầu của mình.
Trong cấu hình ví dụ sau, tệp định nghĩa tài nguyên cho nhóm lưu trữ, khối lượng, chế độ xem che giấu, nhóm cổng, máy chủ và nhóm máy chủ. Cấu hình cũng định nghĩa một số tài nguyên VMware để tạo kho dữ liệu từ thiết bị PowerMax mới được định cấu hình.
tài nguyên "powermax_storage_group" "tmevcenter_sg" { tên = "tmevcenter_sg" srpid = "SRP_1" service_level = "Kim cương" } tài nguyên "powermax_host_group" "BETA_CLUSTER" { tên ="BETA_CLUSTER" cờ_chủ_chủ = {} host_ids = ["DELL52", "DELL55"] } tài nguyên "powermax_host" "DELL52" { tên = "DELL52" người khởi xướng = [ "100000109b56a004", "100000109b56a007"] cờ_chủ_chủ = {} } tài nguyên "powermax_host" "DELL55" { tên = "DELL55" người khởi xướng = [ "100000109b56a016", "100000109b56a0ca"] cờ_chủ_chủ = {} } tài nguyên "powermax_port_group" "tmevcenter_pg" { tên = "tmevcenter_pg" giao thức = "SCSI_FC" cổng = [ { director_id = "OR-1C" cổng_id = "0" }, { giám đốc_id = "OR-2C" cổng_id = "0" }, { giám đốc_id = "OR-2C" cổng_id = "1" }, { giám đốc_id = "OR-2C" cổng_id = "1" } ] } tài nguyên "powermax_volume" "volume_1" { tên = "vcenter_ds_by_terraform_volume_1" kích thước = 20 đơn vị cap = "GB" sg_name = "tmevcenter_sg" enable_mobility_id = sai } tài nguyên "powermax_masking_view" "tmevcenter_mv" { tên ="tmevcenter_mv" storage_group_id = powermax_storage_group.tmevcenter_sg.id port_group_id = powermax_port_group.tmevcenter_pg.id host_group_id = powermax_host_group.BETA_CLUSTER.id } dữ liệu "vsphere_vmfs_disks" "có sẵn" { host_system_id = data.vsphere_host.main_esxi_host.id quét lại = đúng bộ lọc = "naa" } tài nguyên "vsphere_vmfs_datastore" "datastore" { tên = "thử nghiệm terraform" host_system_id = data.vsphere_host.main_esxi_host.id đĩa = ["naa.${low(powermax_volume.volume_1.wwn)}"] }
Lên kế hoạch cấu hình
Chạy lệnh plan từ thư mục cấu hình sẽ xuất ra bất kỳ thay đổi nào cần thiết trên mảng PowerMax và vCenter mà không cần thực thi. Bạn có thể so sánh plan với các yêu cầu thay đổi của mình để đảm bảo rằng nó sẽ tạo ra kết quả mong đợi.
kế hoạch terraform
Đầu ra sau đây từ lệnh terraform plan hiển thị các đối tượng sẽ được tạo bằng cách áp dụng kế hoạch được nêu trong cấu hình.


Sau khi tạo kế hoạch, chúng ta sẽ có bản tóm tắt về đầu ra. Trong trường hợp này, Terraform sẽ thêm năm đối tượng và tạo kho dữ liệu, nhóm lưu trữ, khối lượng, nhóm cổng và chế độ xem che giấu.
Lưu ý về việc làm việc với các đối tượng lưu trữ hiện có
Nếu bạn đang làm việc với các đối tượng hiện có , bạn phải nhập chúng vào tệp trạng thái Terraform trước khi áp dụng và thực hiện cấu hình của mình. Để thực hiện việc này, hãy chạy lệnh terraform import.
Ví dụ: để nhập tài nguyên nhóm máy chủ có tên là MY_CLUSTER, hãy chỉ định:
terraform nhập powermax_host_group.MY_CLUSTER MY_CLUSTER
Để xem trạng thái của bất kỳ đối tượng được quản lý nào trong tệp trạng thái của bạn, bạn có thể kiểm tra bằng lệnh terraform state show, như được hiển thị ở đây:

Áp dụng cấu hình
Thực hiện kế hoạch bằng lệnh apply sẽ chạy các thay đổi cấu hình:
áp dụng terraform

Phần kết luận
Như tôi đã đề cập trước đó, đây là phần đầu tiên của nhà cung cấp Terraform cho PowerMax. Như bạn có thể thấy, chức năng chính là cung cấp lưu trữ. Trong các bản phát hành trong tương lai, chúng tôi sẽ bổ sung thêm nhiều chức năng hơn.

Bài viết mới cập nhật
Dell Storage Engines: Tăng tốc suy luận AI với PowerScale và ObjectScale
Giải pháp chuyển tải bộ nhớ đệm KV của Dell cho ...
Bảo vệ Nhà máy AI
Áp dụng phương pháp tiếp cận kiến trúc để bảo mật ...
Tiến lên mạnh mẽ với Dell PowerMax: Vượt mặt Hitachi VSP 5000
Dell PowerMax mang lại khả năng phục hồi, hiệu suất và ...
Đẩy nhanh đổi mới AI: Sức mạnh của quyền truy cập mở
Từ các mô hình tiên tiến đến các ứng dụng cấp ...