Bản đồ mongodb di chuyển trực tiếp

Hướng dẫn này mô tả và triển khai quá trình di chuyển từ bộ bản sao MongoDB tự quản lý có chứa cơ sở dữ liệu sang cụm được quản lý đầy đủ trong MongoDB Atlas bằng cách sử dụng Dịch vụ di chuyển trực tiếp Atlas của MongoDB (Atlas Live Migration)

Hướng dẫn này dành cho kiến ​​trúc sư cơ sở dữ liệu, quản trị viên cơ sở dữ liệu và kỹ sư cơ sở dữ liệu quan tâm đến dịch vụ MongoDB được lưu trữ đầy đủ hoặc chịu trách nhiệm di chuyển cơ sở dữ liệu MongoDB trong bản sao MongoDB được đặt thành cụm MongoDB Atlas

mục tiêu

  • Thiết lập nguồn tự quản lý của bạn bằng cách tạo và tải tài liệu vào bộ bản sao MongoDB mẫu
  • Thiết lập cụm mục tiêu di chuyển trong MongoDB Atlas
  • Sử dụng Atlas Live Migration để di chuyển cơ sở dữ liệu từ bản sao MongoDB tự quản lý của bạn sang cụm MongoDB Atlas được quản lý hoàn toàn
  • Hiểu và lựa chọn các chiến lược thử nghiệm, chuyển đổi và dự phòng

Hướng dẫn này sử dụng bản sao MongoDB được đặt làm nguồn. Di chuyển một cụm MongoDB đã phân mảnh sang MongoDB Atlas không được đề cập trong hướng dẫn này. Sự khác biệt về kiến ​​trúc giữa bộ bản sao MongoDB và cụm MongoDB được phân đoạn được giải thích trong Stack Exchange này. Quản trị viên cơ sở dữ liệu đăng

Để hoàn thành quá trình di chuyển cho hướng dẫn này, bạn sử dụng Atlas Live Migration, không phải tiện ích Atlas

show dbs
6. Tiện ích
show dbs
6 yêu cầu cài đặt một tác nhân trên môi trường MongoDB nguồn và hoạt động ở mức trừu tượng thấp hơn

Thiết lập di chuyển trong hướng dẫn này là một bản sao ngữ nghĩa. Dữ liệu không được chuyển đổi trong quá trình di chuyển và không xảy ra quá trình hợp nhất cơ sở dữ liệu hoặc phân chia lại dữ liệu. Bạn có thể triển khai chức năng ngoài ngữ nghĩa bản sao với công nghệ tích hợp như Striim

Quá trình di chuyển trong hướng dẫn này là quá trình di chuyển một chiều từ bản sao MongoDB nguồn được đặt thành cụm MongoDB Atlas đích. Sau khi quá trình chuyển đổi từ bản sao MongoDB nguồn được đặt thành cụm đích hoàn tất, cơ sở dữ liệu nguồn không được cập nhật với các thay đổi đối với cụm đích. Vì vậy, nếu bạn triển khai giải pháp này trong môi trường sản xuất, bạn không thể chuyển ứng dụng của mình sang cơ sở dữ liệu nguồn cập nhật trong dự phòng. Để biết thêm thông tin về quy trình dự phòng, hãy xem Di chuyển cơ sở dữ liệu. Khái niệm và nguyên tắc (Phần 2)

chi phí

Hướng dẫn này sử dụng các thành phần có thể thanh toán sau của Google Cloud

  • Máy tính

Để hoàn thành hướng dẫn này, bạn không thể sử dụng bậc miễn phí của MongoDB Atlas. Các loại máy khả dụng trong bậc miễn phí không hỗ trợ Atlas Live Migration. Loại máy được yêu cầu tối thiểu (M10 tại thời điểm viết bài này) có chi phí dịch vụ hàng giờ trong MongoDB Atlas. Để tạo ước tính giá, hãy truy cập MongoDB Atlas Pricing, nhấp vào Google Cloud Platform, sau đó làm theo hướng dẫn. Nếu bạn triển khai quá trình di chuyển này trong sản xuất, chúng tôi khuyên bạn nên sử dụng phiên bản được lưu trữ thông thường của MongoDB Atlas

Khi bạn hoàn thành hướng dẫn này, bạn có thể tránh tiếp tục thanh toán bằng cách xóa các tài nguyên bạn đã tạo. Để biết thêm thông tin, xem

Trước khi bắt đầu

  1. Trong bảng điều khiển Google Cloud, trên trang bộ chọn dự án, hãy chọn hoặc tạo một dự án Google Cloud

    Ghi chú. Nếu bạn không định giữ các tài nguyên mà bạn tạo trong quy trình này, hãy tạo một dự án thay vì chọn một dự án hiện có. Sau khi hoàn thành các bước này, bạn có thể xóa dự án, xóa tất cả các tài nguyên được liên kết với dự án

    Chuyển đến bộ chọn dự án

  2. Đảm bảo rằng thanh toán được bật cho dự án Đám mây của bạn. Tìm hiểu cách kiểm tra xem thanh toán có được bật trên một dự án hay không

kiến trúc di cư

Sơ đồ sau đây cho thấy kiến ​​trúc triển khai mà bạn tạo trong hướng dẫn này

Bản đồ mongodb di chuyển trực tiếp

Mũi tên biểu thị đường dẫn di chuyển dữ liệu từ bộ bản sao MongoDB nguồn chạy trên Compute Engine đến cụm mục tiêu chạy trong MongoDB Atlas trên Google Cloud

Kiến trúc triển khai chứa các thành phần sau

  • Cơ sở dữ liệu nguồn. bộ bản sao MongoDB tự quản lý chạy trên ba phiên bản Compute Engine
  • Cơ sở dữ liệu mục tiêu. cụm MongoDB Atlas được quản lý hoàn toàn
  • Dịch vụ di chuyển. cấu hình Atlas Live Migration để di chuyển dữ liệu từ nguồn sang đích

Mặc dù hướng dẫn này sử dụng bộ bản sao MongoDB tự quản lý trên các phiên bản Compute Engine, nhưng bạn cũng có thể triển khai bộ bản sao MongoDB nguồn trong một trung tâm dữ liệu tại chỗ hoặc một môi trường đám mây khác

Atlas Live Migration hỗ trợ một. Trong quá trình di chuyển từ bộ bản sao MongoDB nguồn, ứng dụng của bạn vẫn có thể truy cập cơ sở dữ liệu nguồn mà không bị ảnh hưởng. Sau quá trình di chuyển , Atlas Live Migration sẽ thay đổi khi chúng xảy ra sau khi quá trình di chuyển bắt đầu

Để thực hiện chuyển đổi từ cơ sở dữ liệu nguồn sang cụm đích sau khi tập dữ liệu ban đầu được di chuyển, bạn thực hiện theo các bước sau

  1. Tạm dừng quyền truy cập ghi vào cơ sở dữ liệu nguồn
  2. Đợi Atlas Live Migration nắm bắt các thay đổi còn lại và áp dụng chúng vào cơ sở dữ liệu đích
  3. Thực hiện chuyển đổi trong Atlas Live Migration
  4. Dừng cơ sở dữ liệu nguồn

Sau khi tất cả dữ liệu được di chuyển, Atlas Live Migration sẽ thông báo cho bạn về dòng trạng thái tiến trình trong giao diện người dùng. Tại thời điểm này, quá trình di chuyển dữ liệu đã hoàn tất và các hệ thống ứng dụng có thể bắt đầu truy cập cụm mục tiêu dưới dạng hệ thống bản ghi mới

Tạo bộ bản sao MongoDB tự quản lý

Đầu tiên, bạn cài đặt bộ bản sao MongoDB trên Google Cloud. Cơ sở dữ liệu này đóng vai trò là cơ sở dữ liệu nguồn của bạn. Tiếp theo, bạn kiểm tra xem cơ sở dữ liệu nguồn của mình có đáp ứng tất cả các điều kiện bắt buộc không

Ghi chú. Lý do hướng dẫn này bao gồm các bước kiểm tra các điều kiện tiên quyết là để bạn chuẩn bị cho bước này trong môi trường sản xuất. Ngay cả khi bản sao MongoDB đã tồn tại trong môi trường sản xuất của bạn, bạn vẫn cần kiểm tra các điều kiện tiên quyết.

Sau khi bạn hoàn thành kiểm tra điều kiện tiên quyết, bạn phải kích hoạt xác thực và khởi động lại phiên bản MongoDB nguồn. Cuối cùng, để kiểm tra quá trình di chuyển, bạn thêm một bộ dữ liệu mẫu vào phiên bản MongoDB nguồn được di chuyển sang cơ sở dữ liệu đích

Cài đặt bộ bản sao MongoDB

  1. Trong Google Cloud Marketplace, chuyển đến cài đặt bộ bản sao MongoDB trên Compute Engine. Tại thời điểm viết bài này, phiên bản hiện tại là MongoDB 4. 0

    Truy cập MongoDB trong Cloud Marketplace

  2. Nhấp vào Khởi chạy. Vì một số Google Cloud API đã được bật nên quá trình khởi chạy có thể mất một chút thời gian

    Nếu bạn có quyền đối với một số dự án, một danh sách các dự án sẽ được hiển thị. Chọn dự án để cài đặt MongoDB của bạn

    Bộ bản sao MongoDB được triển khai trên một bộ phiên bản Compute Engine theo mẫu Trình quản lý triển khai

  3. Chấp nhận tất cả các cài đặt cấu hình mặc định

  4. Nhấp vào Triển khai

  5. Trong bảng điều khiển Google Cloud, kích hoạt Cloud Shell

    Kích hoạt Cloud Shell

    Ở cuối bảng điều khiển Google Cloud, phiên Cloud Shell bắt đầu và hiển thị lời nhắc dòng lệnh. Cloud Shell là môi trường shell với Google Cloud CLI đã được cài đặt và với các giá trị đã được đặt cho dự án hiện tại của bạn. Có thể mất vài giây để bắt đầu phiên

  6. Sử dụng

    show dbs
    
    8 để đăng nhập vào phiên bản Compute Engine chạy MongoDB chính

    gcloud compute ssh MONGODB_VM_NAME --project PROJECT_ID --zone ZONE_OF_VM
    

    Thay thế sau đây

    • show dbs
      
      9. tên của bản sao chính của bộ bản sao MongoDB
    • admin   0.000GB
      config  0.000GB
      local   0.000GB
      
      0. tên ID dự án đám mây của bạn
    • admin   0.000GB
      config  0.000GB
      local   0.000GB
      
      1. vùng chứa phiên bản máy ảo (VM) của bạn

      Để biết thêm thông tin, xem Địa lý và khu vực

    Nếu khóa SSH được tạo, hệ thống sẽ yêu cầu cụm mật khẩu. Nếu bạn không muốn cung cấp cụm mật khẩu, hãy nhấn

    admin   0.000GB
    config  0.000GB
    local   0.000GB
    
    2. Nếu bạn cung cấp một cái, hãy ghi lại nó để tham khảo trong tương lai

    Nếu bạn không thể kết nối bằng cách sử dụng Cloud Shell, hãy nhấp vào SSH tới máy chủ cấp máy ảo trong Trình quản lý triển khai

  7. Khởi động lớp vỏ

    admin   0.000GB
    config  0.000GB
    local   0.000GB
    
    3

    mongo
    
  8. Liệt kê các cơ sở dữ liệu hiện có

    show dbs
    

    Đầu ra tương tự như sau

    admin   0.000GB
    config  0.000GB
    local   0.000GB
    

    Giữ shell

    admin   0.000GB
    config  0.000GB
    local   0.000GB
    
    3 mở cho các lệnh sắp tới

Bạn đã tạo và truy cập bộ bản sao MongoDB của mình và xác nhận rằng nó đang hoạt động

Kiểm tra các điều kiện tiên quyết cho cơ sở dữ liệu nguồn

Atlas Live Migration yêu cầu bộ bản sao MongoDB nguồn đáp ứng các tiêu chí hoặc điều kiện tiên quyết về cấu hình cụ thể. Các kiểm tra được nêu trong Tổng quan về di chuyển Atlas và trong. Các lệnh sau được lấy từ các tài nguyên này. Sau khi bạn xác minh các điều kiện tiên quyết này và thực hiện bất kỳ thay đổi cần thiết nào, cơ sở dữ liệu nguồn của bạn sẽ yêu cầu

Ghi chú. Mặc dù bộ bản sao MongoDB nguồn mà bạn đã cài đặt như một phần của hướng dẫn này tuân thủ phiên bản bắt buộc, bạn vẫn cần kiểm tra các điều kiện tiên quyết trong môi trường sản xuất. Vì lý do này, chúng tôi đã đưa vào đây một quy trình để chứng minh rằng việc kiểm tra.

Để kiểm tra xem tất cả các điều kiện tiên quyết có được đáp ứng hay không, hãy làm như sau

  1. Trong trình bao

    admin   0.000GB
    config  0.000GB
    local   0.000GB
    
    3, hãy kiểm tra xem phiên bản MongoDB có phải là 2 không. 6 hoặc muộn hơn. (Trong phiên bản cơ sở dữ liệu sản xuất, bạn mở trình bao
    admin   0.000GB
    config  0.000GB
    local   0.000GB
    
    3, kết nối với máy chủ MongoDB bằng cách sử dụng kết nối SSH, sau đó chạy lệnh này để xác định phiên bản. )

    db.version()
    

    Đầu ra hiển thị phiên bản. Nếu phiên bản của bạn cũ hơn 2. 6, bạn cần làm theo hướng dẫn nâng cấp

  2. Kiểm tra xem triển khai hiện tại của bạn có phải là bộ bản sao MongoDB không

    rs.status()
    

    Đầu ra là trạng thái cho bộ bản sao MongoDB. Đầu ra sau đây cho thấy rằng một phiên bản MongoDB đã bắt đầu mà không bật bộ bản sao MongoDB

    {
        "ok" : 0,
        "errmsg" : "not running with --replSet",
        "code" : 76,
        "codeName" : "NoReplicationEnabled"
    }
    

    Trong trường hợp này, hãy dừng và khởi động lại phiên bản MongoDB với bộ bản sao MongoDB được bật. Nếu bạn có phiên bản MongoDB độc lập, hãy nâng cấp phiên bản MongoDB lên bộ bản sao MongoDB

  3. Kiểm tra xem xác thực đã được bật trên cụm nguồn của bạn chưa bằng cách đăng nhập

    mongo -u YOUR_ADMIN_USERNAME -p --authenticationDatabase admin
    

    Thay thế sau đây

    • admin   0.000GB
      config  0.000GB
      local   0.000GB
      
      7. tên người dùng quản trị viên triển khai của bạn

    Bộ bản sao MongoDB được tạo trước đó chưa bật xác thực

    Nếu xác thực chưa được bật, bạn cần làm theo hướng dẫn để bật xác thực. Sau đây là lệnh ví dụ để kích hoạt xác thực, với tên người dùng và mật khẩu mẫu

    use admin
    db.createUser(
      {
        user: "myUserAdmin",
        pwd: "myUserAdminPassword",
        roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase", "clusterMonitor" ]
      }
    )
    

    Sau khi xác thực được bật, cần có vai trò MongoDB

    admin   0.000GB
    config  0.000GB
    local   0.000GB
    
    8 để thực thi
    admin   0.000GB
    config  0.000GB
    local   0.000GB
    
    9. Lệnh trước chỉ định vai trò này

  4. Kiểm tra xem người dùng quản trị viên có vai trò phù hợp được chỉ định cho phiên bản của bộ bản sao MongoDB không. Để biết danh sách các vai trò tương ứng với một phiên bản cụ thể, hãy xem phần thảo luận trong tài liệu Atlas Live Migration

    use admin
    db.getUser("YOUR_ADMIN_USERNAME")
    

    Tên người dùng phải được đặt giữa dấu ngoặc kép

  5. (Tùy chọn) Nếu quá trình triển khai MongoDB của bạn dựa trên phiên bản cũ hơn 4. 2, nó chứa các chỉ mục có khóa vượt quá. Trong trường hợp này, hãy đặt tham số máy chủ MongoDB thành false trước khi bắt đầu quy trình Atlas Live Migration

Bật xác thực và khởi động lại bộ bản sao MongoDB

Để bật xác thực, cần có các tệp chính ngoài việc tạo quản trị viên. Các bước sau đây cho thấy cách tạo các tệp chính theo cách thủ công. Trong môi trường sản xuất, bạn có thể cân nhắc sử dụng tập lệnh để tự động hóa quy trình

  1. Trong Cloud Shell, tạo một tệp khóa

    mongo
    
    0

    Thay thế sau đây

    • db.version()
      
      1. vị trí nơi khóa SSH của bạn được lưu trữ, ví dụ:
      db.version()
      
      2
  2. Kích hoạt ủy quyền cho từng trong ba máy ảo

    1. Sao chép tệp chính vào VM

      mongo
      
      1

      Thay thế sau đây

      • db.version()
        
        3. tên của một trong các máy ảo đang chạy bản sao của bộ bản sao
      • admin   0.000GB
        config  0.000GB
        local   0.000GB
        
        1. vùng Google Cloud nơi VM cư trú được đề cập trong
        db.version()
        
        3
    2. Sử dụng

      show dbs
      
      8 để đăng nhập vào VM và thay đổi chủ sở hữu cũng như quyền truy cập của tệp chính

      mongo
      
      2
    3. Trong trình soạn thảo văn bản ưa thích của bạn, hãy mở tệp

      db.version()
      
      7 ở chế độ chỉnh sửa. Nếu bạn muốn ghi lại bất kỳ thay đổi nào, bạn có thể cần sử dụng lệnh
      db.version()
      
      8 để bắt đầu trình soạn thảo văn bản của mình

    4. Sửa phần

      db.version()
      
      9 như sau

      mongo
      
      3
    5. Khởi động lại bản sao

      mongo
      
      4
  3. Xác minh rằng bạn có thể đăng nhập vào bản chính của bộ bản sao MongoDB

    mongo -u YOUR_ADMIN_USERNAME -p --authenticationDatabase admin
    

Chèn dữ liệu mẫu

Trong các bước sau, bạn chèn dữ liệu mẫu vào cơ sở dữ liệu nguồn rồi xác minh rằng tài liệu đã được chèn thành công

  1. Trong Cloud Shell, sử dụng

    show dbs
    
    8 để kết nối với phiên bản Công cụ tính toán chính của MongoDB

    gcloud compute ssh MONGODB_VM_NAME --project PROJECT_ID --zone ZONE_OF_VM
    

    Bạn có thể được yêu cầu cung cấp cụm mật khẩu cho khóa SSH

  2. Bắt đầu trình bao

    admin   0.000GB
    config  0.000GB
    local   0.000GB
    
    3

    mongo -u YOUR_ADMIN_USERNAME -p --authenticationDatabase admin
    

    Cung cấp mật khẩu mà bạn đã chỉ định khi tạo tên người dùng quản trị viên

  3. Tạo cơ sở dữ liệu

    mongo
    
    8
  4. Tạo một bộ sưu tập

    mongo
    
    9
  5. Xác minh rằng bộ sưu tập trống

    show dbs
    
    0
  6. Thêm năm tài liệu sau làm tập dữ liệu ban đầu

    show dbs
    
    1

    Đầu ra cho mỗi lệnh này tương tự như sau

    show dbs
    
    2
  7. Xác minh rằng bạn đã thêm năm tài liệu thành công vào quá trình di chuyển bộ sưu tập. Kết quả phải là 5

    show dbs
    
    0

Sau khi quá trình di chuyển cơ sở dữ liệu được thiết lập và bắt đầu, các tài liệu này sẽ được di chuyển đến cụm mục tiêu trong MongoDB Atlas

Tạo một cụm trong MongoDB Atlas

Một bộ bản sao MongoDB được gọi là một cụm trong MongoDB Atlas. Nếu bạn chưa thiết lập cụm làm cơ sở dữ liệu đích, hãy làm theo các bước trong phần này. Các bước này dựa trên tài liệu MongoDB. Nếu bạn đã thiết lập một cụm làm cơ sở dữ liệu đích, bạn có thể bỏ qua phần này

Ghi chú. Hướng dẫn này sử dụng phiên bản MongoDB Atlas với chi phí hàng giờ. Nếu bạn triển khai quá trình di chuyển này trong sản xuất, chúng tôi khuyên bạn nên sử dụng phiên bản được lưu trữ thông thường của MongoDB Atlas. Để biết thêm thông tin, xem.
  1. Trong Cloud Marketplace, truy cập trang MongoDB Atlas - Cài đặt bậc miễn phí

    Truy cập MongoDB Atlas trên Marketplace

  2. Nhấp vào Truy cập trang web MongoDB để đăng ký

  3. Nhấp vào Khởi chạy cụm đầu tiên của bạn

  4. Điền các thông tin cần thiết và nhấn Get started free. Lưu ý thông tin bạn cung cấp

  5. Nhấp vào Tùy chọn cấu hình nâng cao

  6. Đối với Nhà cung cấp đám mây và Khu vực, hãy chọn Google Cloud Platform và Iowa (us-central1)

  7. Bấm vào tab Cấp cụm, sau đó chọn M10

  8. Nhấp vào tab Cài đặt bổ sung, chọn MongoDB 4. 0 hoặc MongoDB 4. 2, sau đó tắt sao lưu

  9. Nhấp vào Tạo cụm

    Đợi cho đến khi quá trình tạo cụm hoàn tất. Lưu ý rằng tên dự án là

    rs.status()
    
    2 (có khoảng trống) và tên cụm là
    rs.status()
    
    3 (không có khoảng trống)

    Ghi chú. Ảnh chụp màn hình cập nhật của các quy trình này được bao gồm trong tài liệu MongoDB Atlas.

Cụm mục tiêu được thiết lập và chạy trong MongoDB Atlas

Kiểm tra chuyển đổi dự phòng của cụm MongoDB Atlas

Sau khi quá trình di chuyển hoàn tất, cụm trong MongoDB Atlas thực hiện khởi động lại liên tục. Lần lượt từng thành viên trong cụm khởi động lại. Để đảm bảo quy trình này hoạt động, hãy kiểm tra chuyển đổi dự phòng bằng cách làm theo các bước trong tài liệu MongoDB

Bắt đầu di chuyển trực tiếp

Để di chuyển dữ liệu từ nguồn sang cơ sở dữ liệu đích, hãy làm như sau

  1. Đăng nhập vào MongoDB Atlas

  2. Chuyển đến trang Cụm rồi chọn cụm mà bạn muốn di chuyển đến

  3. Trong ngăn cụm mục tiêu (_______16_______4), nhấp vào nút dấu chấm lửng more_horiz .

  4. Chọn Di chuyển dữ liệu sang cụm này

  5. Trong cửa sổ mở ra, xem lại thông tin. Khi bạn đã sẵn sàng di chuyển, hãy nhấp vào Tôi đã sẵn sàng di chuyển

    Một cửa sổ với các hướng dẫn di chuyển dữ liệu được hiển thị. Các địa chỉ IP được liệt kê phải có thể truy cập bộ bản sao MongoDB. Nếu bạn chưa tạo quy tắc tường lửa cho những địa chỉ đó, hãy sử dụng Cloud Shell để thêm quy tắc tường lửa dựa trên lệnh ví dụ này

    show dbs
    
    4
  6. trong tên máy chủ. Cổng chính của trường bộ bản sao của bạn, hãy nhập địa chỉ IP và cổng cho trường chính của bộ bản sao MongoDB—ví dụ:

    rs.status()
    
    5.
    rs.status()
    
    6

    1. Để xác định phiên bản chính, hãy chạy lệnh sau trong trình bao

      admin   0.000GB
      config  0.000GB
      local   0.000GB
      
      3 trên một trong hai phiên bản đang chạy trong dự án Đám mây của bạn

      rs.status()
      
      8

    2. Để tra cứu địa chỉ IP bên ngoài tương ứng, hãy truy cập trang phiên bản máy ảo Compute Engine. Cổng MongoDB tiêu chuẩn là

      rs.status()
      
      9

  7. Nhập tên người dùng và mật khẩu quản trị viên của bộ bản sao MongoDB của bạn

    Để lại tất cả các cài đặt khác với các giá trị mặc định của chúng

  8. Nhấp vào Xác thực, rồi thực hiện một trong các thao tác sau

    • Nếu xác thực thành công, hãy nhấp vào Bắt đầu di chuyển
    • Nếu xác thực không thành công, hãy khắc phục sự cố bằng cách sử dụng các hướng dẫn được cung cấp. Ví dụ: nếu MongoDB Atlas không thể kết nối với bộ bản sao MongoDB, nó sẽ cung cấp các địa chỉ IP mà MongoDB Atlas đang cố gắng kết nối. Đối với các địa chỉ này, hãy thêm quy tắc tường lửa cho phép lưu lượng TCP trên cổng 27017 cho các máy chủ của bộ bản sao MongoDB

    Màn hình MongoDB Atlas hiển thị tiến trình đã đạt được. Đợi thông báo Hoàn thành đồng bộ ban đầu. trong thanh tiến trình

Quá trình tải ban đầu từ bộ bản sao MongoDB hiện đã hoàn tất. Bước tiếp theo là xác minh rằng tải ban đầu thành công

Sau khi quá trình di chuyển ban đầu hoàn tất, MongoDB Atlas cung cấp ước tính số giờ còn lại cho đến khi bạn phải thực hiện quá trình chuyển đổi sang cụm mục tiêu. Bạn cũng có thể nhận được email từ MongoDB cung cấp cho bạn số giờ còn lại, khả năng kéo dài thời gian đó và cảnh báo rằng nếu việc chuyển đổi cuối cùng không được thực hiện trong thời gian nhất định, quá trình di chuyển sẽ bị hủy

Xác minh việc di chuyển cơ sở dữ liệu

Điều quan trọng là phải thiết kế và triển khai chiến lược xác minh di chuyển cơ sở dữ liệu để xác nhận rằng quá trình di chuyển cơ sở dữ liệu thành công. Mặc dù chiến lược xác minh cụ thể phụ thuộc vào trường hợp sử dụng cụ thể của bạn, chúng tôi khuyên bạn nên thực hiện các kiểm tra này

  • kiểm tra tính đầy đủ. Xác minh rằng bộ tài liệu ban đầu đã được di chuyển thành công từ cơ sở dữ liệu nguồn (tải ban đầu)
  • kiểm tra động. Xác minh rằng các thay đổi trong cơ sở dữ liệu nguồn đang được chuyển sang cơ sở dữ liệu đích (di chuyển đang diễn ra)

Đầu tiên, xác minh rằng tải ban đầu thành công

  1. Trong MongoDB Atlas, nhấp vào Cụm

  2. Nhấp vào Bộ sưu tập

  3. Xác minh rằng cơ sở dữ liệu có tên

    {
        "ok" : 0,
        "errmsg" : "not running with --replSet",
        "code" : 76,
        "codeName" : "NoReplicationEnabled"
    }
    
    0 tồn tại và bộ sưu tập có tên
    {
        "ok" : 0,
        "errmsg" : "not running with --replSet",
        "code" : 76,
        "codeName" : "NoReplicationEnabled"
    }
    
    1 có năm tài liệu

Tiếp theo, xác minh rằng các thay đổi đang diễn ra đối với cơ sở dữ liệu nguồn được phản ánh trong cơ sở dữ liệu đích

  1. Trong Cloud Shell, sử dụng

    show dbs
    
    8 để đăng nhập vào máy ảo chính của bộ bản sao MongoDB nguồn

  2. Bắt đầu trình bao

    admin   0.000GB
    config  0.000GB
    local   0.000GB
    
    3.
    admin   0.000GB
    config  0.000GB
    local   0.000GB
    
    3

  3. Chèn tài liệu khác

    show dbs
    
    5
  4. Trong trang Bộ sưu tập bản đồ MongoDB cho bộ sưu tập di chuyển, nhấp vào Làm mới để quan sát rằng một tài liệu được thêm vào bộ sưu tập

    {
        "ok" : 0,
        "errmsg" : "not running with --replSet",
        "code" : 76,
        "codeName" : "NoReplicationEnabled"
    }
    
    1

Bạn đã xác minh rằng tất cả dữ liệu gốc và mọi thay đổi đang diễn ra đối với nguồn đều được Atlas Live Migration tự động di chuyển đến đích

Kiểm tra cụm mục tiêu Atlas của bạn

Trong môi trường sản xuất, thử nghiệm là tối quan trọng. Cần kiểm tra các ứng dụng truy cập cơ sở dữ liệu mục tiêu để đảm bảo rằng chúng hoạt động bình thường. Phần này thảo luận về một số chiến lược thử nghiệm

Kiểm tra các ứng dụng với cơ sở dữ liệu đích trong quá trình di chuyển

Như phần trước đã trình bày, bạn có thể thực hiện kiểm tra ứng dụng trong quá trình di chuyển cơ sở dữ liệu đang diễn ra. Cách tiếp cận này có thể hoạt động nếu các ứng dụng không thay đổi mục tiêu theo cách nó xung đột với dữ liệu được di chuyển từ cơ sở dữ liệu nguồn. Phương pháp này có phải là một tùy chọn cho bạn hay không tùy thuộc vào môi trường và các phụ thuộc của bạn. Nếu ứng dụng thử nghiệm ghi dữ liệu vào cơ sở dữ liệu đích, nó có thể xung đột với quá trình di chuyển đang diễn ra

Thử nghiệm các ứng dụng với cơ sở dữ liệu đích tạm thời

Nếu bạn không thể thử nghiệm các ứng dụng trong quá trình di chuyển cơ sở dữ liệu sản xuất, thì bạn có thể di chuyển dữ liệu sang cơ sở dữ liệu đích tạm thời mà bạn chỉ sử dụng để thử nghiệm, sau đó xóa các mục tiêu thử nghiệm sau khi di chuyển thử nghiệm

Đối với phương pháp này, bạn dừng quá trình di chuyển thử nghiệm tại một thời điểm nào đó (như thể quá trình di chuyển cơ sở dữ liệu đã hoàn tất) và thử nghiệm các ứng dụng dựa trên các cơ sở dữ liệu thử nghiệm này. Sau khi kiểm tra xong, bạn xóa cơ sở dữ liệu đích và bắt đầu di chuyển cơ sở dữ liệu sản xuất để di chuyển dữ liệu sang cơ sở dữ liệu đích vĩnh viễn. Lợi ích của chiến lược này là cơ sở dữ liệu đích có thể được đọc và ghi vì chúng chỉ dành cho thử nghiệm

Kiểm tra các ứng dụng với cơ sở dữ liệu đích sau khi quá trình di chuyển hoàn tất

Nếu cả hai chiến lược đầu tiên này đều không khả thi, thì chiến lược còn lại là kiểm tra ứng dụng trên cơ sở dữ liệu sau khi quá trình di chuyển hoàn tất. Sau khi tất cả dữ liệu có trong cơ sở dữ liệu đích, hãy kiểm tra các ứng dụng trước khi cung cấp chúng cho người dùng. Nếu kiểm thử bao gồm ghi dữ liệu, thì điều quan trọng là dữ liệu kiểm thử phải được ghi chứ không phải dữ liệu sản xuất, để tránh sự không nhất quán của dữ liệu sản xuất. Dữ liệu thử nghiệm phải được xóa sau khi hoàn thành thử nghiệm để tránh sự không nhất quán dữ liệu hoặc dữ liệu thừa trong cơ sở dữ liệu đích

Chúng tôi khuyên bạn nên sao lưu cơ sở dữ liệu đích trước khi mở chúng để các hệ thống ứng dụng truy cập sản xuất. Bước này giúp đảm bảo rằng có một điểm bắt đầu nhất quán mà bạn có thể tạo lại nếu cần

Cắt từ bản sao MongoDB nguồn được đặt thành cụm đích

Sau khi bạn hoàn thành bất kỳ thử nghiệm nào và xác minh rằng các thay đổi đang diễn ra được phản ánh trong cơ sở dữ liệu đích, bạn có thể lập kế hoạch chuyển đổi

Trước tiên, bạn cần dừng bất kỳ thay đổi nào đối với cơ sở dữ liệu nguồn để Atlas Live Migration có thể chuyển các thay đổi chưa được di chuyển sang mục tiêu. Sau khi tất cả các thay đổi được ghi lại trong mục tiêu, bạn có thể bắt đầu quá trình chuyển đổi Atlas Live Migration. Sau khi quá trình đó hoàn tất, bạn có thể chuyển máy khách từ cơ sở dữ liệu nguồn sang cơ sở dữ liệu đích

  1. Trong MongoDB Atlas, nhấp vào Cụm

  2. Trong ngăn

    rs.status()
    
    3, nhấp vào Chuẩn bị cắt. Giải thích từng bước về quy trình chuyển đổi và chuỗi kết nối với cụm mục tiêu được hiển thị

  3. Nhấp vào Cắt qua

    Khi quá trình di chuyển hoàn tất, thông báo Thành công. Quá trình di chuyển cụm của bạn đã hoàn tất. được hiển thị

Bạn đã di chuyển thành công bộ bản sao MongoDB của mình sang cụm MongoDB Atlas

Chuẩn bị một chiến lược dự phòng

Sau khi quá trình chuyển đổi kết thúc, cụm mục tiêu là hệ thống bản ghi; . Tuy nhiên, bạn có thể muốn quay lại cơ sở dữ liệu nguồn trong trường hợp xảy ra lỗi nghiêm trọng trên cơ sở dữ liệu đích mới. Ví dụ: lỗi có thể xảy ra nếu logic nghiệp vụ trong ứng dụng không được thực thi trong quá trình thử nghiệm và sau đó không hoạt động bình thường. Một lỗi khác là khi hành vi hiệu suất hoặc độ trễ không khớp với cơ sở dữ liệu nguồn và gây ra lỗi

Để tránh những lỗi như vậy, bạn có thể muốn giữ cho cơ sở dữ liệu nguồn ban đầu được cập nhật với những thay đổi của cơ sở dữ liệu đích. Atlas Live Migration không cung cấp cơ chế dự phòng. Để biết thêm thông tin về các chiến lược dự phòng, hãy xem Di chuyển cơ sở dữ liệu. Khái niệm và nguyên tắc (Phần 2)

Dọn dẹp

Xóa dự án Đám mây

Để tránh phát sinh phí đối với tài khoản Google Cloud của bạn đối với các tài nguyên được sử dụng trong hướng dẫn này, bạn có thể xóa dự án Đám mây mà bạn đã tạo cho hướng dẫn này

    thận trọng. Xóa một dự án có các hiệu ứng sau
    • Mọi thứ trong dự án đều bị xóa. Nếu bạn đã sử dụng một dự án hiện có cho hướng dẫn này, khi bạn xóa nó, bạn cũng xóa mọi công việc khác mà bạn đã thực hiện trong dự án
    • ID dự án tùy chỉnh bị mất. Khi bạn tạo dự án này, bạn có thể đã tạo ID dự án tùy chỉnh mà bạn muốn sử dụng trong tương lai. Để giữ nguyên các URL sử dụng ID dự án, chẳng hạn như URL
      {
          "ok" : 0,
          "errmsg" : "not running with --replSet",
          "code" : 76,
          "codeName" : "NoReplicationEnabled"
      }
      
      7, hãy xóa các tài nguyên đã chọn bên trong dự án thay vì xóa toàn bộ dự án

    Nếu bạn dự định khám phá nhiều hướng dẫn và bắt đầu nhanh, thì việc sử dụng lại các dự án có thể giúp bạn tránh vượt quá giới hạn hạn mức dự án

  1. Trong bảng điều khiển Google Cloud, hãy chuyển đến trang Quản lý tài nguyên

    Chuyển đến Quản lý tài nguyên

  2. Trong danh sách dự án, chọn dự án mà bạn muốn xóa, sau đó nhấp vào Xóa
  3. Trong hộp thoại, nhập ID dự án, sau đó bấm Tắt để xóa dự án

Tạm dừng hoặc chấm dứt cụm MongoDB Atlas

Để tránh phải trả thêm phí cho cụm MongoDB Atlas, bạn cần tạm dừng hoặc chấm dứt cụm. Để biết thêm thông tin về các hàm ý thanh toán, hãy xem Tạm dừng hoặc chấm dứt một cụm