Bỏ qua để đến nội dung chính

Chuyển người dùng giữa các FASTPANEL

Giới thiệu

Bài viết này mô tả quy trình chuyển các tài khoản người dùng và dữ liệu liên quan của chúng (website, cơ sở dữ liệu, email, v.v.) từ một máy chủ FASTPANEL sang máy chủ khác bằng tiện ích di chuyển tích hợp sẵn.

Các thuật ngữ chính

  • Máy chủ nguồn - Máy chủ mà từ đó dữ liệu đang được chuyển đi.
  • Máy chủ đích - Máy chủ mà dữ liệu đang được chuyển đến.

Lưu ý quan trọng

  • Theo mặc định, việc di chuyển chỉ hoạt động chính xác đối với các website có cấu hình FASTPANEL tiêu chuẩn.

  • Các website có thay đổi cấu hình thủ công chỉ có thể được chuyển nếu sử dụng cờ -m để ánh xạ địa chỉ IP.

  • Nếu không có sẵn mật khẩu được mã hóa của chủ sở hữu cơ sở dữ liệu, cơ sở dữ liệu sẽ không được chuyển.

  • Nếu một website không được chuyển, các cơ sở dữ liệu liên kết với nó cũng sẽ không được chuyển.

  • Chỉ có thể chuyển các cơ sở dữ liệu cục bộ.

Quy trình di chuyển

Kết nối

Máy chủ đích kết nối tới máy chủ nguồn qua SSH. Trong lần kết nối đầu tiên, máy chủ đích cài đặt một khóa SSH trên máy chủ nguồn (được cung cấp trước hoặc được tạo từ mật khẩu).

Các bước di chuyển

  • Cài đặt mô-đun
  • Thu thập thông tin về các đối tượng có thể chuyển
  • Tạo người dùng
  • Chuyển chứng chỉ SSL
  • Tạo website, tài khoản FTP, miền email và tài khoản email
  • Tạo cơ sở dữ liệu và người dùng cơ sở dữ liệu
  • Chuyển các tệp website và hộp thư email
  • Chuyển các cron job

Việc chuyển tệp được thực hiện bằng rsync. Các cơ sở dữ liệu được chuyển bằng cách tạo dump thông qua đường hầm SSH.

Lệnh để bắt đầu di chuyển

Lệnh được chạy trên máy chủ đích bởi người dùng có quyền root:

/usr/local/fastpanel2/fastpanel transfer run [SSH_PARAMETERS] [IP_PARAMETERS] [ADDITIONAL_OPTIONS]

Các cờ dòng lệnh

Kết nối SSH

  • --remote_host="SOURCE_IP" - Địa chỉ IP của máy chủ nguồn.
  • --remote_port="SSH_PORT" - Cổng SSH.
  • --remote_username="SSH_USER" - Người dùng (phải là root).
  • --remote_password="USER_PASSWORD" - Mật khẩu cho người dùng SSH đã chỉ định.
  • --ssh_key_path="PATH_TO_KEY" - Đường dẫn đến khóa SSH riêng tư trên máy chủ đích để kết nối tới máy chủ nguồn. Nếu sử dụng khóa, thì không cần mật khẩu (--remote_password).

Địa chỉ IP

Bạn chỉ được sử dụng một trong các cờ sau để quản lý địa chỉ IP của website trong quá trình chuyển. Cờ -m có độ ưu tiên cao hơn.

  • -i "IP_ADDRESS_ON_DESTINATION" - Gán địa chỉ IP đã chỉ định cho tất cả website được chuyển trên máy chủ đích. Để chỉ định nhiều IP (ví dụ: nếu có nhiều IP trên máy chủ nguồn), hãy lặp lại cờ cho từng IP nguồn cần được chuyển.

  • -m "SOURCE_IP,DESTINATION_IP" - Phương thức được khuyến nghị. Thiết lập ánh xạ trực tiếp: tất cả website sử dụng SOURCE_IP trên máy chủ nguồn sẽ sử dụng DESTINATION_IP trên máy chủ đích. Cờ này có thể được chỉ định nhiều lần cho các cặp IP khác nhau. Bắt buộc khi chuyển các website có chỉnh sửa cấu hình thủ công, vì nó cho phép thay thế chính xác các địa chỉ IP trong các chỉ thị listen.

Cài đặt bổ sung

  • --users="USER_LIST" - Chỉ chuyển những người dùng được chỉ định (phân tách bằng dấu phẩy). Nếu không được chỉ định, tất cả người dùng sẽ được chuyển.
  • --disable_disk_quota - Tắt việc chuyển hạn ngạch đĩa của người dùng.
  • --with_user_data - Bao gồm việc sao chép toàn bộ nội dung các thư mục home của người dùng (ngoại trừ thư mục con logs/). Hãy sử dụng cẩn thận, vì điều này có thể làm tăng đáng kể thời gian chuyển và lượng dữ liệu được chuyển.
  • --only_data - Chỉ chuyển dữ liệu (tệp website, tệp thư, dump cơ sở dữ liệu). Hữu ích nếu quá trình di chuyển cấu trúc ban đầu (người dùng, website, CSDL, v.v.) đã thành công, nhưng đã xảy ra lỗi trong giai đoạn sao chép tệp hoặc dump. Cho phép chỉ chạy lại phần sao chép dữ liệu.
  • --transfer_timeout - Đặt thời gian chờ thao tác (mặc định là 60 phút).

Lệnh ví dụ

Chuyển tất cả người dùng từ máy chủ 11.22.33.44 sang máy chủ hiện tại. Trên máy chủ cũ, các website sử dụng IP 11.22.33.4411.22.33.55; trên máy chủ mới, tương ứng chúng phải sử dụng 99.88.77.6699.88.77.67. Kết nối qua SSH bằng mật khẩu.

/usr/local/fastpanel2/fastpanel transfer run \
--remote_host=11.22.33.44 \
--remote_username=root \
--remote_password=YourSourceRootPassword \
-m 11.22.33.44,99.88.77.66 \
-m 11.22.33.55,99.88.77.67

Các vấn đề có thể xảy ra và các loại lỗi

Lỗi trong nhật ký di chuyển không phải lúc nào cũng cho thấy một vấn đề nghiêm trọng, nhưng có thể chỉ ra lý do vì sao một đối tượng cụ thể không được chuyển.

  • Xung đột: Xảy ra khi không thể chuyển một đối tượng do cấu hình hiện tại của máy chủ đích (ví dụ: người dùng hoặc website có cùng tên đã tồn tại) hoặc nếu cấu hình website trên máy chủ nguồn không được panel nhận biết (ví dụ: do chỉnh sửa thủ công quá nhiều).

  • Thiếu mật khẩu đã lưu: Như đã đề cập trước đó, người dùng cơ sở dữ liệu MySQL không có mật khẩu được lưu trong FASTPANEL trên máy chủ nguồn thì không thể được chuyển.

  • Cài đặt thủ công và địa chỉ IP: Nếu một website trên máy chủ nguồn có các chỉnh sửa cấu hình máy chủ web thủ công và cờ -m không được sử dụng trong quá trình di chuyển để ánh xạ địa chỉ IP của nó, website như vậy sẽ không được chuyển vì panel không biết cần chỉ định IP nào trong cấu hình trên máy chủ đích.