Mở rộng quy mô trong MySQL là gì

Hướng dẫn này mô tả cách chia tỷ lệ theo chiều dọc (tăng và giảm tỷ lệ) triển khai cụm cơ sở dữ liệu MySQL có tính sẵn sàng cao (cơ sở dữ liệu chính và bản sao). Quá trình này bao gồm tăng và giảm quy mô phiên bản Compute Engine cũng như mở rộng ổ đĩa của chúng

Lý do thông thường để mở rộng dung lượng đĩa là để đáp ứng sự gia tăng dữ liệu được quản lý

Có một số lý do khiến các phiên bản Compute Engine thay đổi quy mô theo chiều dọc thực thi MySQL. Sau đây là một số lý do để mở rộng quy mô (và những lý do ngược lại để giảm quy mô)

  • Hệ thống đang đạt đến giới hạn hiệu suất thông lượng ghi/đọc. Việc tăng số lượng CPU và bộ nhớ cung cấp thêm dung lượng phần cứng
  • Số lượng truy vấn đang tăng lên theo thời gian hoặc số lượng truy vấn dự kiến ​​sẽ tăng đột biến (ví dụ: trong Thứ Sáu Đen hoặc Thứ Hai Điện Tử). Sự gia tăng số lượng CPU và bộ nhớ giới thiệu dự trữ
  • Số lượng truy vấn đồng thời đang tăng lên—ví dụ: nhiều khách hàng được thêm vào hệ thống. Việc tăng số lượng CPU và bộ nhớ hỗ trợ mức đồng thời cao hơn
  • Google Cloud có thể hiển thị đề xuất "tăng hiệu suất" trong danh sách các phiên bản Compute Engine. Đề xuất đó rất quan trọng nếu bạn đang cân nhắc xem có nên mở rộng quy mô phiên bản Compute Engine hay không

Hướng dẫn hữu ích cho các vai trò sau

  • Kiến trúc sư đám mây đang lập kế hoạch triển khai cụm MySQL để có khả năng mở rộng
  • Các kỹ sư đám mây đang triển khai các ứng dụng bằng cách sử dụng các cụm MySQL
  • Các nhóm vận hành đám mây đang quản lý các cụm MySQL
  • Quản trị viên cơ sở dữ liệu và CNTT đang quản lý cơ sở dữ liệu trong các cụm MySQL và những người phải thực hiện quy trình mở rộng theo chiều dọc (hoặc thực hiện một số quy trình theo thời gian)

Sơ đồ sau đây cho thấy kiến ​​trúc tổng thể của cụm MySQL có tính sẵn sàng cao. Hướng dẫn sử dụng kiến ​​trúc này làm cơ sở để mô tả quy trình chia tỷ lệ theo chiều dọc

Mở rộng quy mô trong MySQL là gì

Hướng dẫn này giả định rằng bạn đã quen thuộc với những điều sau đây

  • Thiết lập và chạy một cụm MySQL bằng cách sử dụng Trình quản lý triển khai và các công cụ dòng lệnh khác nhau như Cloud Shell và
    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    0
  • Hoạt động quản lý phiên bản Compute Engine
  • Hoạt động quản lý đĩa Compute Engine

mục tiêu

  • Thiết lập cụm MySQL với cơ sở dữ liệu chính và bản sao
  • Mở rộng quy mô theo chiều dọc tất cả các phiên bản Máy tính của cụm MySQL (bộ nhớ và CPU) bằng cách thay đổi loại máy của chúng
  • Thu nhỏ theo chiều dọc tất cả các phiên bản Máy tính của cụm MySQL (bộ nhớ và CPU) bằng cách thay đổi loại máy của chúng
  • Tăng kích thước đĩa của phiên bản Compute Engine

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
  • Lưu trữ đám mây

Để tạo ước tính chi phí dựa trên mức sử dụng dự kiến ​​của bạn, hãy sử dụng công cụ tính giá. Người dùng Google Cloud mới có thể đủ điều kiện dùng thử miễn phí

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. Đăng nhập vào tài khoản Google Cloud của bạn. Nếu bạn mới sử dụng Google Cloud, hãy tạo một tài khoản để đánh giá hiệu quả hoạt động của các sản phẩm của chúng tôi trong các tình huống thực tế. Khách hàng mới cũng nhận được 300 đô la tín dụng miễn phí để chạy, thử nghiệm và triển khai khối lượng công việc
  2. 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

  3. Đả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

  4. Kích hoạt API máy tính và lưu trữ đám mây

    Kích hoạt các API

  5. Cài đặt và khởi tạo Google Cloud CLI
  6. 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

  7. Đả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

  8. Kích hoạt API máy tính và lưu trữ đám mây

    Kích hoạt các API

  9. Cài đặt và khởi tạo Google Cloud CLI

Thiết lập cụm MySQL của bạn

Bước đầu tiên của bạn là tạo một cụm MySQL đang chạy. Bạn điền vào cụm này một số dữ liệu được sử dụng để minh họa và xác minh. Để xác minh dữ liệu, hướng dẫn cung cấp các hướng dẫn truy vấn cơ sở dữ liệu chính và bản sao MySQL

Các hướng dẫn sau để thiết lập cụm MySQL được lấy từ hướng dẫn liên quan, Di chuyển cụm MySQL sang Công cụ tính toán bằng HAProxy và được sửa đổi một chút tại đây để thuận tiện

  1. Trong bảng điều khiển Google Cloud, hãy mở Cloud Shell

    MỞ Cloud Shell

  2. Đặt biến môi trường cho tên bộ chứa Cloud Storage

    GCS_BUCKET_NAME=${USER}-mysql-$(date +%s)
    echo $GCS_BUCKET_NAME
    
  3. Tạo nhóm Lưu trữ đám mây (đa khu vực theo mặc định)

    gsutil mb gs://${GCS_BUCKET_NAME}/
    

    Bộ chứa sẽ chứa các tập lệnh tạo và tập lệnh khởi động được sử dụng cho cả MySQL chính và tạo bản sao

  4. Sao chép kho lưu trữ GitHub và truy xuất tập lệnh mà bạn sử dụng để thiết lập môi trường

    git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
    
  5. Từ thư mục

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    1, hãy chạy tập lệnh khởi tạo để tạo một cụm MySQL gồm các phiên bản Máy tính chính và bản sao

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    

    Tập lệnh này cũng tạo một phiên bản Máy khách MySQL Compute Engine

  6. Cho phép truy cập root từ xa vào phiên bản chính từ phiên bản máy khách

    1. Trong bảng điều khiển Google Cloud, hãy truy cập trang ** Phiên bản VM

      CHUYỂN ĐẾN CÁC TRƯỜNG HỢP VM

    2. Trong hàng dành cho phiên bản

      cd mysql-migration
      ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
      
      2, hãy nhấp vào SSH để kết nối với trình bao bảo mật

    3. Khi shell an toàn khả dụng, hãy chạy lệnh sau

      mysql -u root -psolution-admin
      
    4. Khi bạn đăng nhập vào

      cd mysql-migration
      ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
      
      0, hãy đưa ra câu lệnh sau

      GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'solution-admin';
      
  7. Xác minh rằng cơ sở dữ liệu có thể truy cập được từ máy khách. Trong bảng điều khiển Google Cloud, hãy sử dụng ssh để kết nối với phiên bản

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    4 Compute Engine. Khi có vỏ bảo mật, hãy làm như sau

    1. Chọn Compute Engine > VM Instances, tìm hàng có phiên bản tên là

      cd mysql-migration
      ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
      
      2 và ghi lại địa chỉ IP nội bộ

      GCS_BUCKET_NAME=${USER}-mysql-$(date +%s)
      echo $GCS_BUCKET_NAME
      
      2
    2. Khi shell

      cd mysql-migration
      ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
      
      0 khả dụng, hãy thực hiện các lệnh sau

      GCS_BUCKET_NAME=${USER}-mysql-$(date +%s)
      echo $GCS_BUCKET_NAME
      
      4

      Bạn có thể sử dụng cùng một bộ lệnh để kiểm tra xem bản sao có chứa cùng một bộ dữ liệu không. thay vào đó hãy sử dụng địa chỉ IP nội bộ của

      cd mysql-migration
      ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
      
      7

Tại thời điểm này, ba phiên bản Compute Engine đang chạy

  • Khách hàng (
    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    4)
  • MySQL chính (
    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    2)
  • Bản sao MySQL (
    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    7). MySQL chính đang sao chép thành bản sao MySQL

Loại máy cho mỗi phiên bản Compute Engine là

mysql -u root -psolution-admin
1 (1 vCPU, 0. 6 GB) và khả năng mở rộng quy mô là loại máy
mysql -u root -psolution-admin
2 (1 vCPU, 3. bộ nhớ 75 GB). Kích thước của ổ đĩa là 10 GB và được nhân đôi lên 20 GB. Các lựa chọn này chỉ là ví dụ và có thể được thay đổi theo nhu cầu triển khai cụ thể

Mở rộng quy mô theo chiều dọc các phiên bản Compute Engine (không chuyển đổi dự phòng)

Phần này mô tả cách mở rộng các phiên bản Compute Engine đang chạy MySQL chính và bản sao. Bạn tăng quy mô CPU và bộ nhớ cùng lúc bằng cách thay đổi loại máy của phiên bản Compute Engine. Để thay đổi loại máy, bạn phải dừng phiên bản Compute Engine và sau khi thay đổi, hãy khởi động lại nó

Để đảm bảo khả năng xử lý như nhau, chúng tôi khuyên bạn nên định cấu hình cả hai phiên bản Compute Engine để sử dụng cùng một loại máy

Bản sao MySQL được mở rộng trước và mọi sự cố được phát hiện sẽ không làm gián đoạn quá trình thực thi bản chính của MySQL. Nếu xảy ra sự cố, bạn có thể giải quyết nó mà không cần thời gian ngừng hoạt động chính. Hơn nữa, bạn có thể đánh giá xem sự cố này là tạm thời hay giả mạo hay là sự cố chung mà bạn cần giải quyết trước khi cơ sở dữ liệu chính sẽ được mở rộng

Một cách tiếp cận khác (vẫn yêu cầu khởi động lại các phiên bản Compute Engine) liên quan đến việc chuyển đổi dự phòng từ phiên bản chính sang phụ để giảm thiểu thời gian ngừng hoạt động. Bạn xem qua phương pháp này trong các phần sau

Mở rộng quy mô bản sao MySQL

Đầu tiên, dừng phiên bản Compute Engine đang chạy bản sao MySQL

  1. Trong bảng điều khiển Google Cloud, hãy truy cập trang phiên bản VM để xem danh sách các phiên bản Compute Engine

    DANH SÁCH CÁC TRƯỜNG HỢP TÍNH TOÁN

  2. Trong hàng dành cho phiên bản

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    7, bấm more_vert (Cài đặt và tiện ích), sau đó bấm Dừng

  3. Sau khi dừng phiên bản Compute Engine, bấm vào

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    7, sau đó bấm chỉnh sửa Chỉnh sửa

  4. Trong Loại máy, hãy chọn loại máy

    mysql -u root -psolution-admin
    
    2 (1 vCPU, 3. bộ nhớ 75 GB) để mở rộng quy mô lên tới

  5. Nhấp vào để lưu

  6. Sau khi lưu xong, bấm play_arrow Bắt đầu

Bạn có thể sử dụng các lệnh

cd mysql-migration
./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
0 xác minh đã đề cập trước đó để kiểm tra xem bản sao MySQL có được thiết lập và chạy lại sau khi thao tác mở rộng quy mô hay không

Mở rộng quy mô chính của MySQL

Đầu tiên, dừng phiên bản Compute Engine đang chạy MySQL chính

  1. Trong bảng điều khiển Google Cloud, hãy truy cập trang phiên bản VM để xem danh sách các phiên bản Compute Engine

    DANH SÁCH CÁC TRƯỜNG HỢP TÍNH TOÁN

  2. Trong hàng dành cho phiên bản

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    2, bấm more_vert (Cài đặt và tiện ích), sau đó bấm Dừng

  3. Sau khi phiên bản Compute Engine đã dừng, bấm vào

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    2, rồi bấm vào chỉnh sửa Chỉnh sửa

  4. Trong Loại máy, hãy chọn loại máy

    mysql -u root -psolution-admin
    
    2 (1 vCPU, 3. bộ nhớ 75 GB) để mở rộng quy mô lên tới. Đảm bảo rằng loại máy này giống với loại đã chọn cho bản sao MySQL

  5. Nhấp vào để lưu

  6. Sau khi lưu xong, bấm play_arrow Bắt đầu

Bạn có thể sử dụng các lệnh

cd mysql-migration
./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
0 xác minh đã đề cập trước đó để kiểm tra xem MySQL chính có hoạt động và chạy lại sau khi thao tác mở rộng quy mô hay không

Thu nhỏ theo chiều dọc các phiên bản Compute Engine (không chuyển đổi dự phòng)

Phần này mô tả cách thu nhỏ các phiên bản Compute Engine đang chạy MySQL chính và bản sao. Bạn thu nhỏ CPU và bộ nhớ cùng lúc bằng cách thay đổi loại máy của phiên bản Compute Engine. Để thay đổi loại máy, bạn phải dừng phiên bản Compute Engine và sau khi thay đổi, hãy khởi động lại nó

Để đảm bảo khả năng xử lý như nhau, chúng tôi khuyên bạn nên định cấu hình cả hai phiên bản Compute Engine để sử dụng cùng một loại máy. Các bước tương tự như mở rộng quy mô. Tuy nhiên, để cho đầy đủ, phần tiếp theo sẽ nêu rõ chúng

Thu nhỏ bản sao MySQL

Đầu tiên, dừng phiên bản Compute Engine đang chạy bản sao MySQL

  1. Trong bảng điều khiển Google Cloud, hãy truy cập trang phiên bản VM để xem danh sách các phiên bản Compute Engine

    DANH SÁCH CÁC TRƯỜNG HỢP TÍNH TOÁN

  2. Trong hàng dành cho phiên bản

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    7, bấm more_vert (Cài đặt và tiện ích), sau đó bấm Dừng

  3. Sau khi phiên bản Compute Engine đã dừng, bấm vào

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    7, rồi bấm vào chỉnh sửa Chỉnh sửa

  4. Trong Loại máy, hãy chọn loại máy

    mysql -u root -psolution-admin
    
    1 (1 vCPU, 0. bộ nhớ 6 GB) để thu nhỏ thành

  5. Nhấp vào để lưu

  6. Sau khi lưu xong, bấm play_arrow Bắt đầu

Bạn có thể sử dụng các lệnh

cd mysql-migration
./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
0 xác minh đã đề cập trước đó để kiểm tra xem bản sao MySQL có được thiết lập và chạy lại sau khi thao tác mở rộng quy mô hay không

Thu nhỏ quy mô chính của MySQL

Đầu tiên, dừng phiên bản Compute Engine đang chạy MySQL chính

  1. Trong bảng điều khiển Google Cloud, hãy truy cập trang phiên bản VM để xem danh sách các phiên bản Compute Engine

    DANH SÁCH CÁC TRƯỜNG HỢP TÍNH TOÁN

  2. Trong hàng dành cho phiên bản

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    2, bấm more_vert (Cài đặt và tiện ích), sau đó bấm Dừng

  3. Sau khi phiên bản Compute Engine đã dừng, bấm vào

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    2, rồi bấm vào chỉnh sửa Chỉnh sửa

  4. Trong Loại máy, hãy chọn loại máy

    mysql -u root -psolution-admin
    
    1 (1 vCPU, 0. bộ nhớ 6 GB) để thu nhỏ thành. Đảm bảo rằng loại máy này giống với loại bạn đã chọn trước đó cho bản sao MySQL

  5. Nhấp vào để lưu

  6. Sau khi lưu xong, bấm play_arrow Bắt đầu

Bạn có thể sử dụng các lệnh

cd mysql-migration
./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
0 xác minh đã đề cập trước đó để kiểm tra xem MySQL chính có hoạt động và chạy lại sau khi thao tác mở rộng quy mô hay không

Mở rộng quy mô theo chiều dọc các phiên bản Compute Engine (có chuyển đổi dự phòng)

Tắt, mở rộng quy mô và khởi động lại cơ sở dữ liệu MySQL có thể mất quá nhiều thời gian trong môi trường sản xuất. Quá trình nhanh hơn dựa trên chuyển đổi dự phòng. Trước tiên, bạn mở rộng quy mô bản sao và ngay sau khi bản sao được thiết lập và chạy lại, bạn dừng bản chính hiện có và bản sao trở thành bản chính (mới). Tổng thời gian ngừng hoạt động là thời gian cần thiết để chuyển đổi dự phòng cơ sở dữ liệu MySQL sang bản sao được mở rộng quy mô

Ở cấp độ cao, quy trình như sau

  1. Mở rộng quy mô bản sao bằng cách dừng bản sao, thay đổi loại máy và khởi động lại bản sao
  2. Đợi bản sao bắt kịp những thay đổi diễn ra trong bản chính trong quá trình mở rộng quy mô của bản sao
  3. Dừng chính
  4. Đợi bản sao rút nhật ký sao chép
  5. Biến bản sao thành bản chính mới
  6. Dừng bản chính (bản sao mới)
  7. Mở rộng quy mô bản sao mới
  8. Biến nó thành bản sao mới của chính mới

Sau khi quá trình này hoàn tất, cả hai hệ thống MySQL đều được mở rộng quy mô và nằm trong mối quan hệ chính/bản sao. bản chính cũ là bản sao mới và bản sao cũ là bản chính mới. Các lệnh được phác thảo chi tiết trong các phần sau

Dự phòng không nhất thiết phải có trong trường hợp chung vì cả máy chính và bản sao đều là cùng loại máy với cùng loại và dung lượng ổ đĩa. Dự phòng sẽ gây ra sự cố ngừng hoạt động trong thời gian dự phòng. Tuy nhiên, nếu dự phòng là bắt buộc, bạn phải thực hiện các bước chuyển đổi dự phòng lần thứ hai

Mở rộng quy mô bản sao MySQL hiện có

Mở rộng quy mô bản sao như được nêu trong. Trong thời gian này, chính vẫn có sẵn không bị gián đoạn

Chuyển đổi dự phòng chính sang bản sao mở rộng

Ghi chú. Tài liệu hoặc phần này bao gồm các tham chiếu đến một hoặc nhiều thuật ngữ mà Google cho là thiếu tôn trọng hoặc xúc phạm. Các thuật ngữ được sử dụng vì chúng là các từ khóa trong phần mềm được mô tả trong tài liệu

Các lệnh sau thực hiện chuyển đổi dự phòng từ bản chính sang bản sao

  1. Trong Cloud Shell, dừng bản chính để không nhận thêm bản cập nhật nào

    git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
    
    7

    Không cần thiết phải đợi chính dừng lại trước khi bạn tiếp tục với các bước tiếp theo

  2. Trong bảng điều khiển Google Cloud, hãy truy cập trang phiên bản VM

    CHUYỂN ĐẾN CÁC TRƯỜNG HỢP VM

  3. Trong hàng của phiên bản

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    7, hãy nhấp vào SSH để kết nối với phiên bản

  4. Khi shell an toàn có sẵn, hãy bắt đầu shell

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    0

    mysql -u root -psolution-admin
    
  5. Kiểm tra xem ghi nhật ký nhị phân có được bật trên bản sao hay không (phải là

    GCS_BUCKET_NAME=${USER}-mysql-$(date +%s)
    echo $GCS_BUCKET_NAME
    
    21)

    gsutil mb gs://${GCS_BUCKET_NAME}/
    
    0
  6. Kiểm tra xem bản cập nhật bản sao nhật ký có bị tắt không (phải là

    GCS_BUCKET_NAME=${USER}-mysql-$(date +%s)
    echo $GCS_BUCKET_NAME
    
    22)

    gsutil mb gs://${GCS_BUCKET_NAME}/
    
    1
  7. Xả nhật ký rơle

    gsutil mb gs://${GCS_BUCKET_NAME}/
    
    2
  8. Đảm bảo rằng tất cả quá trình xử lý đã diễn ra

    gsutil mb gs://${GCS_BUCKET_NAME}/
    
    3

    Đầu ra của lệnh này phải hiển thị

    GCS_BUCKET_NAME=${USER}-mysql-$(date +%s)
    echo $GCS_BUCKET_NAME
    
    23. Tiếp tục thực hiện lệnh cho đến khi bạn thấy kết quả đó

  9. Dừng bản sao

    gsutil mb gs://${GCS_BUCKET_NAME}/
    
    4
  10. Thay đổi vai trò của bản sao thành chính

    gsutil mb gs://${GCS_BUCKET_NAME}/
    
    5

Lớp học chính mới đã sẵn sàng

Mở rộng quy mô bản sao MySQL mới

Bản sao cũ hiện là bản chính và khách hàng có thể truy cập nó để thực hiện các thao tác đọc và ghi

Mở rộng quy mô bản sao (bản chính cũ) bằng cách làm theo hướng dẫn như được hiển thị trước đó, sau đó khởi động bản sao

Kết nối bản sao với bản chính để sao chép

  1. Trong bảng điều khiển Google Cloud, hãy truy cập trang phiên bản VM

    CHUYỂN ĐẾN CÁC TRƯỜNG HỢP VM

  2. Trong hàng của phiên bản

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    2, hãy nhấp vào SSH để kết nối với trình bao bảo mật

  3. Khi shell an toàn có sẵn, hãy bắt đầu shell

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    0

    mysql -u root -psolution-admin
    
  4. Bắt đầu sao chép

    gsutil mb gs://${GCS_BUCKET_NAME}/
    
    7

Phiên bản MySQL chính hiện đang sao chép thành bản sao của nó

Kiểm tra sao chép từ bản chính sang bản sao

Thử nghiệm sau đây thêm một hàng vào bảng

GCS_BUCKET_NAME=${USER}-mysql-$(date +%s)
echo $GCS_BUCKET_NAME
26 trên phiên bản MySQL chính
cd mysql-migration
./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
7. Bạn có thể quan sát phần bổ sung trong phiên bản MySQL bản sao
cd mysql-migration
./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
2

  1. Trong trường hợp

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    7, hãy thêm một hàng vào chính mới. Nếu không có hàng nào được thêm vào trước đó, số lượng phải hiển thị
    GCS_BUCKET_NAME=${USER}-mysql-$(date +%s)
    echo $GCS_BUCKET_NAME
    
    40

    gsutil mb gs://${GCS_BUCKET_NAME}/
    
    8
  2. Quan sát sao chép trên bản sao. Số lượng phải hiển thị

    GCS_BUCKET_NAME=${USER}-mysql-$(date +%s)
    echo $GCS_BUCKET_NAME
    
    40

    gsutil mb gs://${GCS_BUCKET_NAME}/
    
    9

Điều này kết thúc thủ tục cần thiết cho quá trình chuyển đổi dự phòng. Bạn sử dụng quy trình tương tự để thu nhỏ quy mô kết hợp với chuyển đổi dự phòng

Tăng kích thước đĩa của phiên bản Compute Engine

Phần này mô tả cách tăng kích thước của đĩa phiên bản Compute Engine, cho cả phiên bản Compute Engine đang lưu trữ MySQL chính và phiên bản Compute Engine đang lưu trữ bản sao MySQL. Đĩa chỉ có thể được tăng kích thước, không giảm

Để mở rộng đĩa, có hai cách tiếp cận và cả hai đều được phác thảo trong các phần tiếp theo. Khả năng thay đổi kích thước ổ đĩa một cách linh hoạt là một tính năng không yêu cầu bạn phải tạo lại các phiên bản Compute Engine. Để biết thêm chi tiết, hãy xem bài đăng trên blog này. Một cách tiếp cận là dừng các phiên bản Compute Engine trước khi tăng kích thước đĩa rồi khởi động lại chúng. Khởi động lại các phiên bản sẽ tự động thay đổi kích thước phân vùng gốc lưu trữ các tệp dữ liệu MySQL

Phương pháp thay thế không yêu cầu dừng và khởi động lại các phiên bản Compute Engine. Thay vào đó, nó yêu cầu bạn thực thi các câu lệnh dòng lệnh trong Cloud Shell và trong các vỏ bảo mật của các phiên bản

Để xác nhận, bạn có thể sử dụng lệnh

GCS_BUCKET_NAME=${USER}-mysql-$(date +%s)
echo $GCS_BUCKET_NAME
42 trước và sau khi tăng kích thước ổ đĩa để kiểm tra kích thước trước và sau

Chúng tôi khuyên bạn nên thực hiện tốt nhất việc chụp ảnh nhanh từng ổ đĩa trước khi thay đổi kích thước chúng. Biện pháp phòng ngừa này đảm bảo rằng bạn có thể phục hồi trạng thái của từng đĩa từ trước khi thay đổi kích thước

Tăng kích thước đĩa của bản sao MySQL (có tắt máy)

Trước tiên, hãy tăng kích thước ổ đĩa của phiên bản Compute Engine đang lưu trữ bản sao MySQL

  1. Trong bảng điều khiển Google Cloud, hãy truy cập trang phiên bản VM để xem danh sách các phiên bản Compute Engine

    DANH SÁCH CÁC TRƯỜNG HỢP TÍNH TOÁN

  2. Trong hàng dành cho phiên bản

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    7, bấm more_vert (Cài đặt và tiện ích), sau đó bấm Dừng

  3. Liệt kê các đĩa của phiên bản Compute Engine

    DANH SÁCH CÁC ĐĨA THỂ HIỆN

  4. Chọn

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    7

  5. Nhấp vào chỉnh sửa Chỉnh sửa

  6. Đối với Kích thước, hãy tăng kích thước lên 20 GB

  7. Nhấp vào Lưu và đợi thao tác lưu hoàn tất

  8. Liệt kê các phiên bản Compute Engine

    DANH SÁCH CÁC TRƯỜNG HỢP TÍNH TOÁN

  9. Trong hàng dành cho phiên bản

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    7, bấm more_vert (Cài đặt và tiện ích), sau đó bấm Bắt đầu

Bạn có thể sử dụng các lệnh

cd mysql-migration
./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
0 xác minh đã đề cập trước đó để xác minh xem MySQL chính có chạy như mong đợi sau khi tăng kích thước ổ đĩa hay không

Tăng kích thước đĩa của MySQL chính (khi tắt máy)

Tăng kích thước đĩa của Công cụ tính toán đang lưu trữ MySQL chính

  1. Trong bảng điều khiển Google Cloud, hãy truy cập trang phiên bản VM để xem danh sách các phiên bản Compute Engine

    DANH SÁCH CÁC TRƯỜNG HỢP TÍNH TOÁN

  2. Trong hàng dành cho phiên bản

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    2, bấm more_vert (Cài đặt và tiện ích), sau đó bấm Dừng

  3. Liệt kê các đĩa của phiên bản Compute Engine

    DANH SÁCH CÁC ĐĨA THỂ HIỆN

  4. Chọn

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    2

  5. Nhấp vào chỉnh sửa Chỉnh sửa

  6. Đối với Kích thước, hãy tăng kích thước lên 20 GB

  7. Nhấp vào Lưu và đợi thao tác lưu hoàn tất

  8. Liệt kê các phiên bản Compute Engine

    DANH SÁCH CÁC TRƯỜNG HỢP TÍNH TOÁN

  9. Trong hàng dành cho phiên bản

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    2, bấm more_vert (Cài đặt và tiện ích), sau đó bấm Bắt đầu

Bạn có thể sử dụng các lệnh

cd mysql-migration
./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
0 xác minh đã đề cập trước đó để xác minh xem MySQL chính có chạy như mong đợi sau khi tăng kích thước ổ đĩa hay không

Tăng kích thước đĩa của bản sao MySQL (tự động mà không cần tắt máy)

Các bước sau đây cho thấy mức tăng kích thước đĩa động cho hệ thống tệp

git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
71 và ổ đĩa có một phân vùng duy nhất. Các loại hệ thống tệp hoặc cấu hình phân vùng khác yêu cầu các bước khác nhau để thực hiện việc tăng

Như trước đây, trước tiên, bạn tăng kích thước ổ đĩa của phiên bản Compute Engine đang lưu trữ bản sao, sau đó bạn tăng kích thước ổ đĩa của phiên bản Compute Engine đang lưu trữ bản sao.

  1. Trong bảng điều khiển Google Cloud, hãy truy cập trang phiên bản VM để xem danh sách các phiên bản Compute Engine

    DANH SÁCH CÁC TRƯỜNG HỢP TÍNH TOÁN

  2. Nhấp vào SSH để kết nối với phiên bản

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    7

  3. Trong vỏ bảo mật, hãy kiểm tra đĩa và phân vùng của nó, đồng thời quan sát rằng đĩa

    git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
    
    73 có một phân vùng
    git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
    
    74

    git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
    
    0
  4. Trong Cloud Shell, hãy chạy lệnh sau để tăng kích thước đĩa. Khi được nhắc, hãy trả lời bằng

    git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
    
    75

    git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
    
    1
  5. Trong vỏ bảo mật, hãy xác nhận rằng kích thước ổ đĩa đã tăng lên

    git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
    
    0

    Cũng xin lưu ý rằng phân vùng vẫn có kích thước 10 GB

  6. Trong trình bao bảo mật, hãy chạy lệnh sau để xem các hệ thống tệp, loại và kích thước của chúng

    git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
    
    3
  7. Trong vỏ an toàn, phát triển phân vùng

    git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
    
    4

    Hai lệnh cuối cùng cho phép bạn xem mức tăng

Tăng kích thước đĩa của MySQL chính (tự động mà không cần tắt máy)

Quá trình tự động tăng kích thước đĩa cho bản chính cũng giống như đối với bản sao

  1. Trong bảng điều khiển Google Cloud, hãy truy cập trang phiên bản VM để xem danh sách các phiên bản Compute Engine

    DANH SÁCH CÁC TRƯỜNG HỢP TÍNH TOÁN

  2. Nhấp vào SSH để kết nối với phiên bản

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    
    2

  3. Trong vỏ bảo mật, hãy kiểm tra đĩa và phân vùng của nó, đồng thời quan sát rằng đĩa

    git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
    
    73 có một phân vùng
    git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
    
    74

    git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
    
    0
  4. Trong Cloud Shell, hãy chạy lệnh sau để tăng kích thước đĩa. Khi được nhắc, hãy trả lời bằng

    git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
    
    75

    git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
    
    6
  5. Trong vỏ bảo mật, hãy xác nhận rằng kích thước ổ đĩa đã tăng lên

    git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
    
    0

    Cũng xin lưu ý rằng phân vùng vẫn có kích thước 10 GB

  6. Trong trình bao bảo mật, hãy chạy lệnh sau để xem các hệ thống tệp, loại và kích thước của chúng

    git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
    
    3
  7. Trong vỏ an toàn, phát triển phân vùng

    git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
    
    4

    Hai lệnh cuối cùng cho phép bạn xem mức tăng

Dọn dẹp

Sau khi hoàn thành hướng dẫn, bạn có thể dọn sạch các tài nguyên mà bạn đã tạo để chúng ngừng sử dụng hạn ngạch và phí phát sinh. Các phần sau mô tả cách xóa hoặc tắt các tài nguyên này

Xóa dự án

    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
      mysql -u root -psolution-admin
      
      0, 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
  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

Cái gì tiếp theo

Bạn có thể áp dụng những gì bạn đã học được trong hướng dẫn này cho các cụm MySQL trong môi trường sản xuất để thiết lập một quy trình và thói quen khi cần mở rộng quy mô. Để thực hành nội dung trước, hãy sao chép môi trường cụm MySQL sản xuất và chạy thử. Ghi lại bất kỳ bước quan trọng nào có thể ảnh hưởng đến những thay đổi về tỷ lệ theo chiều dọc tiếp theo trong môi trường sản xuất của bạn

Xem xét việc phát triển các tập lệnh thực thi các bước được hiển thị trong hướng dẫn này. Bằng cách này, trong môi trường sản xuất của bạn, bạn có thể tự động thay đổi quy mô thay vì thay đổi quy mô theo cách thủ công

Để đọc thêm, xem những

Khám phá kiến ​​trúc tham khảo, sơ đồ, hướng dẫn và các phương pháp hay nhất về Google Cloud. Hãy xem Trung tâm kiến ​​trúc đám mây của chúng tôi

Mở rộng quy mô trong SQL là gì?

Thay đổi quy mô trong DBMS là khả năng mở rộng dung lượng của hệ thống cơ sở dữ liệu để hỗ trợ số lượng hoặc yêu cầu lớn hơn và/hoặc lưu trữ nhiều dữ liệu hơn mà không làm giảm hiệu suất.

MySQL có tốt cho việc mở rộng quy mô không?

Nhiều tài sản web được buôn bán nhiều nhất trên thế giới như Facebook, Twitter, Zappos và Zynga dựa vào hiệu suất và khả năng mở rộng của MySQL để phục vụ hàng triệu người dùng và xử lý sự tăng trưởng theo cấp số nhân của họ. Sao chép MySQL là cách phổ biến và tiết kiệm chi phí nhất để mang lại hiệu suất và khả năng mở rộng .

Làm cách nào để mở rộng quy mô MySQL?

Cách dễ nhất để tăng dung lượng của cơ sở dữ liệu MySQL là nâng cấp phần cứng máy chủ . Thông thường, điều này có nghĩa là thêm CPU và/hoặc RAM, nhưng cũng có thể bao gồm dung lượng I/O của đĩa. Mở rộng quy mô theo chiều dọc có thể được thực hiện bằng cách nâng cấp phần cứng máy chủ hiện có hoặc bằng cách chuyển sang máy chủ mới.

Mở rộng quy mô trong NoSQL là gì?

Hầu hết các cơ sở dữ liệu SQL đều có thể mở rộng theo chiều dọc, nghĩa là bạn có thể tăng tải trên một máy chủ bằng cách tăng các thành phần như RAM, SSD hoặc CPU. Ngược lại, cơ sở dữ liệu NoSQL có khả năng mở rộng theo chiều ngang , nghĩa là chúng có thể xử lý lưu lượng truy cập gia tăng chỉ bằng cách thêm nhiều máy chủ hơn vào cơ sở dữ liệu.