Sao chép cục bộ với PowerMax REST API, Làm việc với bản sao

Mảng PowerMax có một số tính năng sao chép cục bộ để quản trị viên sử dụng, tùy thuộc vào nhu cầu của họ. May mắn thay, PowerMax REST API hỗ trợ tất cả các tính năng này. Dell Technologies cũng cung cấp chúng trong các hàm Python được viết sẵn như một phần của PyU4V (một gói Python để quản lý PowerMax RESasasT API) và dưới dạng các mô-đun Ansible hỗ trợ các hàm symclone. Trong blog này, tôi cung cấp các ví dụ và một số thông tin cơ bản về bản sao.

Nếu bạn không quen với REST, bạn sẽ thích đọc một hoặc cả hai bài viết sau:

Tài liệu API đầy đủ có sẵn trên trung tâm dành cho nhà phát triển tại đây . Các hoạt động sao chép nằm trong tài nguyên sao chép của API, với tất cả các điểm cuối có tiền tố là https://{{base_url}}/ /replication/symmetrix/{symmetrixId}/storagegroup/{storageGroupId}/clone/ .

Quản lý bản sao với API PowerMaxREST

Với symclone, quản trị viên PowerMax có thể tạo hình ảnh sao chép dữ liệu của họ theo yêu cầu. Nếu bạn muốn tìm hiểu về symclone và lịch sử của nó với PowerMax và các phiên bản tiền nhiệm của Symmetrix, hãy xem blog PowerMax Attack of the Clones .

Bản sao nhân bản có xu hướng được sử dụng trong môi trường mà dữ liệu sao chép có thể được cung cấp cho hệ thống trong một thời gian dài và chỉ được làm mới một lần trong một thời gian. Điều này hoàn toàn trái ngược với ảnh chụp nhanh được chụp thường xuyên, thường có thời gian lưu giữ ngắn hơn, có thể khôi phục dữ liệu nhanh chóng và có thể trình bày các bản sao dữ liệu gần như theo thời gian thực liên tục thay đổi trong môi trường thử nghiệm và phát triển.

Bắt đầu với Unisphere cho PowerMax 10.0, người ta có thể sử dụng Giao diện người dùng và API để tương tác với chức năng symclone. Điều này mở ra cánh cửa cho chức năng mới và tự động hóa, trước đây chỉ có thông qua các tùy chọn dòng lệnh. Hãy cùng khám phá chức năng này và tập trung vào cách thức và một chút lý do.

Tạo bản sao trên PowerMax bằng REST API

Giống như snapshot và phần lớn các hoạt động với PowerMax REST API, bản sao được kiểm soát ở cấp độ nhóm lưu trữ. Người dùng tạo bản sao của tất cả các ổ đĩa trong một nhóm lưu trữ. Các hoạt động của nhóm lưu trữ giúp quản lý bản sao đơn giản hơn vì tất cả các thiết bị đều ở cùng một thời điểm (sử dụng Công nghệ hỗ trợ liên tục PowerMax Enginuity (ECA)) khi bản sao được tạo.

Để tạo bản sao của nhóm lưu trữ, hãy thực hiện thao tác POST đối với nhóm lưu trữ nguồn. (Tài liệu về lệnh gọi API Create Clone có tại đây .) Sau đây là một lệnh gọi POST mẫu:

https://{unisphereip}}:{{port}}/restapi/100/replication/symmetrix/{symmetrixId}/storagegroup/{storageGroupId}/clone/storagegroup
{
  "target_storage_group_name": "target_storage_group_name",
  "establish_terminate": đúng,
  "nhất quán": đúng
}

Lệnh gọi API và tải trọng được hiển thị ở đây tạo ra một bản sao nhất quán của nhóm lưu trữ nguồn với các thiết bị bản sao có trong nhóm lưu trữ đích đã chỉ định.

Tham số bổ sung establish_terminate được đặt thành true  s báo hiệu cho API xóa mối quan hệ bản sao ngay khi nó được kích hoạt. Hành động này chỉ khả dụng trên các mảng PowerMax chạy PowerMaxOS 10 trở lên.

Để thực hiện cùng một thao tác trong tập lệnh Python với PyU4V, mã rất đơn giản:

nhập PyU4V
api = PyU4V.U4VConn(tên người dùng='smc',mật khẩu='smc',
                                server_ip='unisphereip', xác minh=Không có,
                                mảng_id='000297600841')
api.clone.create_clone(nhóm_lưu_trữ_id="REST_TEST",
                        target_storage_group_id="REST_TEST_TGT",
                       thiết lập_chấm dứt=Đúng)

Nếu bạn muốn duy trì mối quan hệ giữa nhóm lưu trữ nguồn và đích sau khi kích hoạt bản sao của mình, bạn có thể bỏ qua khóa hoặc biến establish_terminate và bạn có thể tạo bản sao với các khả năng khác nhau. Lưu ý rằng không có bản sao nào được thực hiện trên mảng nên có thể dễ dàng sử dụng hàm này hơn vì mã sẽ ngắn hơn (vì không có mối quan hệ nào để theo dõi) và dữ liệu có sẵn cho máy chủ ngay khi bản sao được tạo. Vì vậy, không cần phải chờ bất kỳ hoạt động nền nào.  

Clone và SnapVX kết hợp tốt hơn

Cung cấp cho các nhà phát triển bản sao dữ liệu để xây dựng ứng dụng, cung cấp lợi thế kinh doanh và cung cấp các tính năng người dùng cho khách hàng là một phần không thể thiếu của nhiều tổ chức. Tuy nhiên, tính bảo mật của dữ liệu đó là tối quan trọng và thường có các yêu cầu pháp lý tùy thuộc vào vị trí và ngành.  

Một cách tuyệt vời để giúp đỡ trong những tình huống như thế này là sử dụng công nghệ sao chép và chụp nhanh cùng nhau để tạo một bản sao độc lập của dữ liệu có thể được gắn vào máy chủ để che giấu. Điều này giúp đảm bảo rằng thông tin nhạy cảm như số an sinh xã hội không còn dễ hiểu nữa. Sau đó, người ta có thể chụp ảnh nhanh từ bản sao đã che giấu và liên kết chúng với bất kỳ máy chủ thử nghiệm hoặc máy chủ phát triển nào.

Sau khi dữ liệu nhạy cảm đã được xáo trộn bởi quá trình che giấu và RBAC được áp dụng cho các bản sao, các nhà phát triển có quyền sao chép cục bộ có thể làm mới ảnh chụp nhanh của họ theo ý muốn mà không phải lo ngại về bảo mật đối với dữ liệu họ đang xem. Họ sẽ chỉ có thể chạy các lệnh gọi API đối với các nhóm lưu trữ mà họ đã được cấp quyền.  

Khôi phục dữ liệu từ bản sao

Thỉnh thoảng bạn có thể muốn khôi phục dữ liệu từ bản sao về nguồn. Nếu bạn đang sử dụng quy trình làm việc bản sao truyền thống và chưa sử dụng tùy chọn thiết lập/chấm dứt, bạn có thể sử dụng lệnh gọi API sửa đổi nhóm lưu trữ bản sao PUT, sử dụng lệnh gọi API tại đây với hành động khôi phục.

URI và nội dung ở đây:

https://{unisphereIP}:8443/univmax/restapi/100/replication/symmetrix/{symmetrixId}/storagegroup/{storageGroupId}/clone/storagegroup/{targetStorageGroupId}
{
  "hành động": "Khôi phục",
  "khôi phục": {
    "lực": "sai",
    "sao": "sai"
  }
}

PyU4V có chức năng riêng cho hành động khôi phục, lấy tên nhóm lưu trữ nguồn và đích làm tham số:  

api.clone.restore_clone(
    nhóm lưu trữ_id="mysrc_sg", nhóm lưu trữ_id mục tiêu="mytgt_sg"
)
conn.clone.terminate_clone(
    nhóm lưu trữ_id="mysrc_sg", nhóm lưu trữ_id mục tiêu="mytgt_sg",
    đã khôi phục=Đúng)

Sau khi khôi phục, bạn phải chấm dứt phiên khôi phục trên nhóm lưu trữ nguồn trước khi bất kỳ lệnh sao chép bổ sung nào có thể chạy.

Giống như bất kỳ tính năng nào, bạn có thể dễ dàng thực hiện mọi thứ khi bạn biết cách, nhưng giống như bất kỳ công nghệ nào, có những quy tắc được ghi chép rõ ràng tại đây . Trong tài liệu đó, Bảng 5 liệt kê các trạng thái và hành động được phép. (Mặc dù đây là tài liệu dòng lệnh, nhưng các quy tắc giống nhau đối với các hoạt động API và UI.)   

Hy vọng bài viết ngắn này đã cung cấp một số hiểu biết sâu sắc và có thể là nguồn cảm hứng về cách sử dụng công nghệ sao chép PowerMax với giao diện REST API. 

Hãy theo dõi mục này để biết thêm thông tin về PowerMax API và nếu có chủ đề nào khiến bạn quan tâm và muốn đọc thêm, hãy gửi yêu cầu tới @rawstorage trên Twitter và tôi sẽ cố gắng đáp ứng yêu cầu của bạn!

Tác giả : Paul Martin