Di chuyển tệp sang Amazon FSx for Windows File Server bằng Robocopy

Tác giả: Dante Ventura 

Ngày đăng: ngày 16 APR 2025 

Danh mục: Amazon EC2, Amazon FSx, Amazon FSx for Windows File Server, Intermediate (200), Storage, Technical How-to, Windows on AWS 

Khi di chuyển các file share lên AWS, người dùng cần một giải pháp trực tiếp và hiệu quả để chuyển dữ liệu của họ. Amazon FSx for Windows File Server cung cấp lưu trữ chia sẻ được quản lý toàn diện, xây dựng trên Windows Server, đồng thời mang đến một loạt các khả năng truy cập dữ liệu, quản lý dữ liệu và quản trị.

Có một số lựa chọn khác nhau để di chuyển dữ liệu. AWS DataSync là công cụ phổ biến nhất cho công việc này, tuy nhiên việc thiết lập nó có thể tăng thêm độ phức tạp, đặc biệt đối với các đợt di chuyển nhỏ hơn. Trong những trường hợp như vậy, Robocopy (viết tắt của “Robust File Copy”) có thể là một giải pháp thay thế mạnh mẽ. Robocopy là một tiện ích dòng lệnh được tích hợp sẵn trong Windows, được thiết kế để sao chép và đồng bộ hóa các tệp và thư mục, đồng thời cung cấp khả năng kiểm soát, mở rộng và xác thực tệp.

Trong bài viết này, chúng tôi hướng dẫn bạn quy trình di chuyển dữ liệu từ một Windows File Server hiện có sang Amazon FSx for Windows File Server bằng cách sử dụng Robocopy. Chúng tôi vẫn khuyến nghị sử dụng DataSync để di chuyển dữ liệu đến hoặc từ các dịch vụ lưu trữ AWS (như Amazon S3, Amazon Elastic File System (Amazon EFS), FSx for Windows File Server) trong hầu hết các trường hợp. Lý do là DataSync là một dịch vụ đa nền tảng, có thể xử lý các giao thức NFS và SMB, trong khi Robocopy chỉ là công cụ dành riêng cho Windows và hoạt động chuyên biệt với NTFS. Robocopy cũng không có tính năng mã hóa hoặc nén tích hợp sẵn, do đó có thể gây bất lợi cho các đợt di chuyển dữ liệu lớn và không được khuyến nghị khi di chuyển dữ liệu qua các kênh không an toàn như Internet.

Tổng quan về giải pháp

Mục tiêu của chúng tôi là di chuyển các tệp hiện có lên đám mây một cách nhanh chóng và đáng tin cậy. Để làm điều này, chúng tôi sử dụng ba thành phần chính: 1/ máy chủ tệp nguồn (source file server), 2/ hệ thống tệp FSx for Windows (FSx for Windows file system), và 3/ instance EC2 trung gian (EC2 intermediary instance) đóng vai trò cầu nối giữa máy chủ tệp nguồn và hệ thống tệp FSx for Windows. Giải pháp được minh họa trong hình 1.

Chúng tôi bắt đầu bằng việc tạo hệ thống tệp Amazon FSx for Windows File Server. Đây sẽ là điểm đến cuối cùng cho các tệp của chúng tôi. Sau đó, chúng tôi tạo một instance EC2 và gắn kết (mount) cả file share nguồn (tại chỗ hoặc các nguồn khác) và các file share mục tiêu trên hệ thống tệp Amazon FSx for Windows File Server vào instance này. Khi instance EC2 có quyền truy cập cả máy chủ tệp nguồn và FSx for Windows File Server, chúng tôi có thể sử dụng Robocopy để di chuyển dữ liệu từ file share này sang file share khác một cách hiệu quả.

Hình 1: Tổng quan về giải pháp

Mặc dù một instance t2.medium có thể đủ cho việc thử nghiệm, chúng tôi khuyến nghị chọn một instance lớn hơn, đặc biệt khi sử dụng các ổ SSD có thông lượng (throughput) cao như gp2 hoặc gp3 cho các lần di chuyển dữ liệu quy mô lớn hoặc nhạy cảm về thời gian. Các instance cấp thấp hơn có thể trở thành nút thắt về hiệu suất trong quá trình truyền dữ liệu lớn.

Điều kiện tiên quyết

Amazon FSx for Windows File Server yêu cầu tích hợp với domain để xác thực và kiểm soát truy cập. Bạn có thể tham gia FSx for Windows File Server vào một domain controller bên ngoài hoặc sử dụng AWS Managed Microsoft AD. AWS Managed Microsoft AD là một dịch vụ Active Directory được quản lý đơn giản, có thể được thiết lập chỉ với vài cú nhấp trong AWS console. Bạn có thể tham khảo bài viết này để biết cách thiết lập. Bạn cũng cần có một máy chủ tệp hiện có và kết nối đã được thiết lập từ máy chủ đó tới AWS thông qua kênh riêng, Direct Connect hoặc Internet.

Hướng dẫn

Chúng tôi sẽ hướng dẫn các bước sau để triển khai giải pháp này.

1. Thiết lập một hệ thống tệp Amazon FSx for Windows File Server.

Hệ thống tệp FSx for Windows File Server là một thư mục cụ thể (và các thư mục con của nó) trong FSx for Windows File Server, được cho phép truy cập từ các instance tính toán qua mạng sử dụng giao thức SMB. Bắt đầu bằng việc tạo một hệ thống tệp FSx for Windows File Server mới mà bạn có thể truy cập.

1.1. Từ AWS Management Console, điều hướng tới FSx và chọn Create file system.

1.2. Chọn Amazon FSx for Windows File Server với triển khai Multi-AZ để có độ khả dụng cao.

1.3. Sử dụng lưu trữ SSD để có băng thông cao hơn và khả năng mở rộng tốt hơn. Kích thước hệ thống tệp có thể tăng lên nhưng không thể giảm sau khi đã tạo.

1.4. Cấu hình các thiết lập VPC và xác thực Windows thông qua AWS Managed Microsoft AD hoặc Self-managed AD. Để tạo một AWS Managed Microsoft AD từ đầu, bạn có thể tham khảo tài liệu này. Đảm bảo VPC được chọn là VPC mà bạn muốn hệ thống tệp này tồn tại trong tương lai. Tùy theo kịch bản của bạn, điền các thông tin liên quan đến domain.

1.5. Hoàn tất thiết lập và lưu lại DNS name và các chi tiết cấu hình mạng khi có sẵn. Trên trang Review and create, bạn có thể xem tóm tắt các lựa chọn cho hệ thống tệp FSx for Windows File Server. Lưu ý các cài đặt có thể và không thể thay đổi sau khi hệ thống tệp được tạo, sau đó chọn nút Create file system.

1.6. Khi hệ thống tệp đã được tạo và hiển thị là Available trên trang tổng quan File systems overview, chọn File system ID và lưu lại DNS name của hệ thống tệp trong phần Network and security.

Hình 2: Tạo hệ thống tệp

2. Thiết lập một instance Windows EC2

Bây giờ khi bạn đã có FSx for Windows File Server đang chạy, bạn có thể tạo một client trên Amazon EC2 để xem và truy cập các share. Trong ví dụ này, chúng tôi sử dụng một instance t2.medium EC2 chạy Microsoft Windows Server 2022 Base.

2.1. Từ thanh tìm kiếm trên đầu console, gõ “EC2” và chọn EC2 từ menu Services.

2.2. Trên trang EC2 Dashboard, chọn nút Launch instance.

2.3.Trên trang Launch an instance, tìm trường Name và nhập tên cho instance EC2 mới.

  • 2.3.1. Trong Quick Start, chọn Windows, sau đó trong Amazon Machine Image (AMI) chọn Microsoft Server 2022 Base.
  • 2.3.2. Trong Instance type, chọn t2.medium.
  • 2.3.3. Trong Key pair (login) có một phần con gọi là Key pair name. Chọn Create new key pair bên phải. Nhập tên key pair dễ nhớ, đảm bảo phần Private key file format chọn .pem, sau đó chọn Create key pair. Bạn sẽ được nhắc tải về Private Key. Lưu Private Key trên máy tính cục bộ. File Private Key này không được sử dụng trong hướng dẫn này, nhưng là cách duy nhất để lấy mật khẩu quản trị viên cục bộ cho instance EC2 này.
  • 2.3.4. Trong Network Settings, cuộn xuống Firewall (security groups) và chọn một security group cho phép kết nối RDP. Đảm bảo Network VPC và Subnet giống với Share của FSx for Windows File Server.
  • 2.3.5. Trong Configure storage, để mặc định là 30 GiB lưu trữ gp2.
  • 2.3.6. Mở rộng phần Advanced details và tìm mục Domain join directory. Mở menu drop-down và chọn domain bạn muốn.
  • 2.3.7. Tìm hộp drop-down IAM instance profile và chọn vai trò AWS Identity and Access Management (IAM) có quyền tham gia domain.
  • 2.3.8. Chọn nút Launch Instance ở bên phải trang. Việc tạo và khởi chạy instance EC2 sẽ mất vài phút. Mở rộng biểu tượng Hamburger Menu (biểu tượng 3 gạch ngang) bên trái và chọn Instances. Bạn có thể cần nhấn nút refresh để thấy instance mới được tạo.

2.4. Trên trang Instances, chọn Instance ID mới tạo ở bước 2.3.8. Trên trang Instance summary, lưu lại địa chỉ Public IPv4 DNS.

3. Kết nối RDP vào instance EC2

Việc tạo các tài nguyên cần thiết đã hoàn tất. Bây giờ bạn đã sẵn sàng kết nối vào instance EC2 và gắn kết hệ thống tệp FSx for Windows File Server như minh họa trong hình 3.

3.1. Nhập địa chỉ Public IPv4 DNS từ Bước 2.4 vào ứng dụng Microsoft Remote Desktop và chọn Connect.

3.2. Bạn sẽ được yêu cầu đăng nhập vào instance EC2. Nhập Domain Name, một dấu gạch chéo ngược (\), và sau đó là tên người dùng hợp lệ. Đối với mục đích thử nghiệm, có thể sử dụng Domain Admin username. Tham khảo bước 1.4, nơi bạn đã nhập các thiết lập Active Directory khi tạo FSx for Windows File Server. Tên đăng nhập đầy đủ sẽ có dạng: corp.example.com\admin.

3.3. Nhập mật khẩu và chọn OK.

3.4. Nếu được nhắc về hộp thoại bảo mật liên quan đến chứng chỉ không đáng tin cậy, bạn có thể bỏ qua. Chọn Yes để tiếp tục.

3.5. Trong lần đăng nhập đầu tiên, quá trình đăng nhập ban đầu có thể mất vài phút. Sau khi desktop xuất hiện, bạn có thể gắn kết (mount) hệ thống tệp đã tạo ở Bước 1.

Hình 3: Kết nối với instance EC2

4. Gắn kết hệ thống tệp FSx for Windows File Server

Tiếp theo, bạn sẽ gắn kết các file share trên instance EC2. Instance này sẽ đóng vai trò trung gian giữa máy chủ tệp nguồn và AWS.

4.1. Sau khi kết nối, mở File Explorer như trong hình 4.

4.2. Trong bảng điều hướng, mở menu ngữ cảnh (nhấp chuột phải) cho Network, và chọn Map Network Drive.

4.3. Trong Drive, chọn một ký tự ổ đĩa.

4.4. Trong Folder, nhập tên DNS của hệ thống tệp hoặc DNS alias liên kết với hệ thống tệp, kèm theo tên share.

Sử dụng địa chỉ IP thay vì tên DNS có thể gây ra tình trạng không khả dụng trong quá trình failover của hệ thống tệp Multi-Availability Zone (AZ). Hơn nữa, tên DNS hoặc DNS alias liên kết là cần thiết cho xác thực dựa trên Kerberos trong các hệ thống tệp Multi-AZ và Single-AZ. Bạn có thể tìm tên DNS của hệ thống tệp và bất kỳ DNS alias liên quan nào trên Amazon FSx console bằng cách chọn Windows File Server, Network & security.

4.5. Để sử dụng một DNS alias liên kết với hệ thống tệp, nhập thông tin sau vào Folder.

\\<fqdn-dns-alias>\share

Hình 4: Ánh xạ ổ đĩa mạng (Map network drive)

5.  Gắn kết file share nguồn

5.1. Sau khi kết nối, mở File Explorer.

5.2. Trong bảng điều hướng, mở menu ngữ cảnh (nhấp chuột phải) cho Network, và chọn Map Network Drive.

5.3. Trong Drive, chọn một ký tự ổ đĩa.

5.4.Trong Folder, nhập tên DNS hoặc địa chỉ IP liên kết với hệ thống tệp nguồn, kèm theo tên share.

6. Sử dụng Robocopy

Ở bước này, bạn sẽ sử dụng Robocopy để di chuyển các tệp từ nguồn lên AWS, sử dụng instance EC2 đã tạo làm cầu nối giữa hai môi trường.

6.1. Mở Command Prompt hoặc Windows PowerShell với quyền Administrator, và chạy lệnh Robocopy sau để sao chép các tệp từ file share nguồn sang file share đích, như minh họa trong hình 5.

robocopy

Y:\source-folder\ Z:\target-FSx-folder\ /copy:DATSOU /secfix /e /b /MT:8

/LOG:C:\migration.log /v /tee

Bash

Lệnh này sử dụng các thành phần và tùy chọn sau:

  • Y:\source-folder\ – Chỉ đến thư mục nguồn.
  • Z:\target-FSx-folder\ – Chỉ đến hệ thống tệp đích trên FSx for Windows File Server. Ví dụ: \\amznfsxabcdef1.mydata.com\share.
  • /copy – Chỉ định các thuộc tính tệp sau sẽ được sao chép:
    • D – dữ liệu
    • A – thuộc tính
    • T – dấu thời gian
    • S – NTFS ACLs
    • O – thông tin chủ sở hữu
    • U – thông tin kiểm toán (auditing)
  • /secfix – Đảm bảo bảo mật tệp được cập nhật cho tất cả các tệp, ngay cả khi bản thân tệp không được sao chép trong quá trình thực hiện.
  • /e – Sao chép các thư mục con, bao gồm cả các thư mục trống.
  • /b – Sử dụng đặc quyền sao lưu và khôi phục trong Windows để sao chép tệp ngay cả khi ACL NTFS của chúng từ chối quyền đối với người dùng hiện tại.
  • /MT:8 – Chỉ định số luồng được sử dụng để thực hiện sao chép đa luồng.
  • /LOG:C:\migration.log – Ghi đầu ra trạng thái vào tệp nhật ký “di chuyển” trong ổ đĩa C.
  • /v – Tạo đầu ra chi tiết và hiển thị tất cả các tệp bị bỏ qua.
  • /tee – Ghi đầu ra trạng thái vào cửa sổ bảng điều khiển và vào tệp nhật ký.

Hình 5: Dấu nhắc lệnh của Windows

Nếu bạn đang sao chép các tệp lớn qua kết nối chậm hoặc không ổn định, bạn có thể bật restartable mode bằng cách sử dụng tùy chọn /zb thay cho /b. Với restartable mode, nếu quá trình truyền một tệp lớn bị gián đoạn, lần chạy Robocopy tiếp theo có thể tiếp tục từ giữa quá trình truyền thay vì phải sao chép lại toàn bộ tệp từ đầu. Việc bật restartable mode có thể làm giảm tốc độ truyền dữ liệu.

Sau khi hoàn tất lần sao chép ban đầu, bạn có thể duy trì đồng bộ giữa các thư mục bằng cách sử dụng Robocopy với tùy chọn /MIR. Lệnh này sẽ phản chiếu (mirror) thư mục nguồn sang thư mục đích, đảm bảo rằng mọi cập nhật, bổ sung hoặc xóa được phản ánh đồng bộ. Cách tiếp cận này đặc biệt hữu ích cho các thư mục cần cập nhật liên tục cho đến thời điểm chuyển đổi cuối cùng (final cutoff time).

Dọn dẹp

Nếu bạn đang chạy hướng dẫn này như một lab, bạn có thể cần xóa các tài nguyên đã tạo theo bài viết này. Để thực hiện, truy cập Amazon FSx console và chọn hệ thống tệp FSx for Windows File Server đã tạo, sau đó chọn Delete file system từ menu Actions ở góc trên bên phải.

Để dọn dẹp instance EC2, truy cập Amazon EC2 console, chọn Instances ở bên trái, chọn instance đã tạo ở bên phải, sau đó chọn Terminate (delete) instance từ menu Instance state ở góc trên bên phải.

Kết luận

Trong bài viết này, chúng tôi hướng dẫn bạn quy trình di chuyển dữ liệu từ một Windows File Server hiện có sang Amazon FSx for Windows File Server bằng cách sử dụng Robocopy. Việc di chuyển tệp lên Amazon FSx for Windows File Server bằng Robocopy cung cấp một phương pháp thực tiễn và hiệu quả cho các lần di chuyển quy mô nhỏ, nơi AWS DataSync có thể quá phức tạp. Phương pháp này sử dụng một instance EC2 trung gian để kết nối giữa máy chủ tệp nguồn và hệ thống tệp FSx for Windows File Server, mang lại sự linh hoạt và kiểm soát trong quá trình di chuyển, đồng thời đảm bảo các thuộc tính tệp, quyền truy cập và các siêu dữ liệu khác được giữ nguyên.

Tài nguyên bổ sung

Robocopy

Migrating files to Amazon Fsx with Datasync

Amazon EC2

Amazon FSx for Windows File Server

Getting started with AWS Managed Microsoft AD

TAGS: Amazon EC2, Amazon FSx, Amazon FSx for Windows File Server, AWS Cloud Storage, Windows on AWS

Tác giả

Dante Ventura

Dante Ventura là Specialist Migration Solutions Architect tại Amazon Web Services, chuyên về các giải pháp di chuyển từ các trung tâm dữ liệu tại chỗ (on-premises) và các nhà cung cấp đám mây khác sang AWS. Với sự tập trung sâu sắc vào hiệu quả, ông liên tục cải tiến các thông lệ tốt nhất (best practices), đồng thời áp dụng các kiến thức rút ra từ các dự án trước vào các lần di chuyển trong tương lai.