Topik ini menjelaskan cara menggunakan tool rsync untuk melakukan migrasi data antara sistem file Apsara File Storage NAS (NAS) yang menggunakan protokol Network File System (NFS).
Prasyarat
Anda memiliki sistem file NFS dengan titik pemasangan di virtual private cloud (VPC).
Penagihan
Migrasi data antara sistem file NAS mengakibatkan biaya berikut:
Jika Anda menggunakan instans Elastic Compute Service (ECS) sebagai node perantara untuk transfer data, Anda dikenai biaya instans ECS berdasarkan konfigurasinya. Untuk informasi selengkapnya tentang penagihan ECS, lihat Ikhtisar penagihan.
Anda dikenai biaya penyimpanan yang digunakan oleh kedua sistem file NAS. Kami menyarankan Anda membeli paket sumber daya untuk mengimbangi biaya penggunaan penyimpanan. Untuk informasi selengkapnya tentang penagihan NAS, lihat Ikhtisar penagihan.
Jika Anda menggunakan Cloud Enterprise Network (CEN) untuk menghubungkan VPC, Anda dikenai biaya untuk router transit dan koneksi antar-wilayah yang Anda gunakan. Untuk informasi selengkapnya tentang penagihan CEN, lihat Penagihan.
Persiapan
Untuk melakukan migrasi data antara sistem file NAS, instans Elastic Compute Service (ECS) harus dapat mengakses sistem file sumber dan tujuan. Oleh karena itu, Anda harus memastikan bahwa kedua sistem file NAS tersebut dapat diakses dari virtual private cloud (VPC) Alibaba Cloud yang sama.
Lihat informasi titik pemasangan sistem file sumber.
Sebelum melakukan migrasi data, catat informasi titik pemasangan sistem file sumber dan VPC tempat titik pemasangan tersebut berada. Untuk informasi selengkapnya, lihat Kelola titik pemasangan.
CatatanJika sistem file Anda hanya memiliki titik pemasangan jaringan klasik, Anda harus membuat titik pemasangan di VPC. Untuk informasi selengkapnya, lihat Tambahkan titik pemasangan.
Konfigurasikan titik pemasangan sistem file tujuan.
Sistem file di wilayah yang sama
Jika titik pemasangan sumber dan tujuan berada di VPC yang sama, peroleh informasi titik pemasangan tujuan lalu lakukan migrasi data. Untuk informasi selengkapnya, lihat Migrasi data.
Jika titik pemasangan sumber dan tujuan tidak berada di VPC yang sama, siapkan titik pemasangan dengan salah satu cara berikut:
Buat sistem file baru di wilayah dan zona tujuan. Titik pemasangan baru akan dibuat secara otomatis. Untuk informasi selengkapnya, lihat Buat sistem file NAS tujuan umum di konsol.
CatatanSaat membeli sistem file NAS tujuan umum bayar sesuai penggunaan (Capacity, Performance, atau Premium) yang menggunakan protokol NFS, pilih VPC dan vSwitch yang sama dengan titik pemasangan sumber. Titik pemasangan tujuan akan dibuat secara otomatis. Setelah sistem file dibuat, Anda dapat membeli paket sumber daya untuk mengurangi biaya.
Buat titik pemasangan baru untuk sistem file yang sudah ada. Untuk informasi selengkapnya, lihat Tambahkan titik pemasangan.
Gunakan Cloud Enterprise Network (CEN) untuk menghubungkan VPC dari titik pemasangan sumber dan tujuan. Untuk informasi selengkapnya, lihat Pasang sistem file NAS lintas VPC di wilayah yang sama menggunakan CEN.
Jika sistem file berada di akun atau wilayah berbeda
Jika titik pemasangan sumber dan tujuan berada di akun atau wilayah berbeda, Anda harus menggunakan CEN untuk menghubungkan VPC-nya. Untuk informasi selengkapnya, lihat Pasang sistem file NAS lintas akun dan wilayah menggunakan CEN.
Migrasi data
Setelah menyiapkan titik pemasangan sumber dan tujuan, buat instans ECS baru, pasang kedua sistem file NFS pada instans tersebut, lalu gunakan tool rsync untuk menyalin data. Untuk melakukan migrasi data, ikuti langkah-langkah berikut.
Pasang sistem file sumber dan tujuan.
PentingKami menyarankan Anda membeli instans ECS temporary baru untuk melakukan migrasi. Jika Anda menggunakan instans ECS yang sudah ada, tugas migrasi dapat bersaing dalam penggunaan sumber daya CPU dan lebar pita jaringan dengan layanan yang sedang berjalan.
Login ke Konsol ECS dan klik Create Instance. Pada halaman Create Instance, konfigurasikan parameter berikut:
Region: Pilih wilayah tempat sistem file sumber berada.
Network and Zone: Pilih VPC, zona, dan vSwitch tempat sistem file sumber berada.
Instance Type: Pilih tipe instans dengan spesifikasi minimum.
Image: Pilih CentOS 7.6.
Storage: Klik Elastic Ephemeral Disk | Apsara File Storage NAS | Dedicated Block Storage Cluster (Optional) lalu klik Add File Storage untuk mengonfigurasi penyimpanan. Untuk informasi selengkapnya, lihat gambar berikut.
CatatanJika titik pemasangan sumber dan tujuan berada di VPC yang sama, Anda dapat mengonfigurasi informasi pemasangan NAS pada halaman pembelian ECS. Setelah instans ECS dijalankan, sistem file NAS sumber dan tujuan akan dipasang secara otomatis.
Jika titik pemasangan sumber dan tujuan tidak berada di VPC, wilayah, atau akun yang sama, konfigurasikan hanya sistem file sumber pada halaman pembelian ECS. Setelah instans ECS dibuat, Anda harus memasang sistem file tujuan secara manual. Untuk informasi selengkapnya tentang cara memasang sistem file tujuan secara manual, lihat Pasang sistem file NFS.

Setelah instans ECS dibuat dan sistem file NAS sumber serta tujuan dipasang, jalankan perintah berikut untuk memastikan status pemasangan.
mount | grep nas.aliyuncs.comJika sistem file telah dipasang, output yang mirip dengan berikut akan ditampilkan. Sistem file sumber dipasang ke direktori
/mnt/volumeA, dan sistem file tujuan dipasang ke direktori/mnt/volumeB.
Instal tool migrasi.
Jalankan perintah berikut untuk menginstal tool migrasi.
sudo yum install -y rsync tmuxCatatanrsync adalah tool yang digunakan untuk menyalin data.
tmux adalah tool yang dapat Anda gunakan untuk melihat progres.
Migrasi data historis.
Jalankan perintah berikut untuk menyinkronkan data historis dari sistem file sumber ke sistem file tujuan.
tmux sudo rsync -avP /mnt/volumeA/ /mnt/volumeB/Anda juga dapat menggunakan rsync untuk menyalin dan mengunggah data secara konkuren. Perintahnya sebagai berikut:
threads=<Number of threads>; src=<Source path/>; dest=<Destination path/>; rsync -av -f"+ */" -f"- *" $src $dest && (cd $src && find . -type f | xargs -n1 -P$threads -I% rsync -av % $dest/% )Contohnya, jika jumlah thread adalah 10, jalur sumber adalah /abc, dan jalur tujuan adalah
/mnt1:threads=10; src=/abc/; dest=/mnt1/; rsync -av -f"+ */" -f"- *" $src $dest && (cd $src && find . -type f | xargs -n1 -P$threads -I% rsync -av % $dest/% )CatatanJalur sumber dalam perintah rsync harus diakhiri dengan garis miring (/). Jika tidak, jalur data tidak akan sesuai setelah sinkronisasi.
Perintah tmux membuat sesi tmux baru. Menjalankan
rsyncdalam sesi tmux memungkinkan Anda melihat progres. Jika koneksi ke instans ECS terputus selama migrasi, Anda dapat login kembali ke instans ECS dan menjalankantmux attachuntuk melanjutkan sesi tmux dan terus memantau progres migrasi.Dalam pengujian pada sistem file sumber, diperlukan waktu 320 menit untuk memigrasikan satu juta file berukuran 100 KiB dengan total ukuran 100 GiB menggunakan rsync.
Migrasi data inkremental.
Jika aplikasi bisnis yang berjalan di instans ECS lain menulis data ke sistem file sumber selama migrasi data historis, Anda harus menyinkronkan data inkremental baru setelah migrasi data historis selesai.
Hentikan aplikasi bisnis.
Untuk mencegah penulisan data baru, hentikan aplikasi bisnis yang menggunakan sistem file sumber di semua instans ECS dan kontainer sebelum menyinkronkan data inkremental.
PentingSetelah menghentikan aplikasi bisnis, jangan menghapus data apa pun dari sistem file sumber secara manual. Jika tidak, dapat terjadi kehilangan data.
Lakukan operasi ini selama jam sepi. Anda dapat menjalankan perintah
fuser -mv <dir>untuk menemukan ID proses (PID) dari proses yang membaca dan menulis ke sistem file NAS.
Sinkronkan data inkremental.
Jalankan perintah rsync untuk menyinkronkan data inkremental yang dihasilkan setelah migrasi data historis dimulai ke sistem file tujuan.
sudo rsync -avP --delete /mnt/volumeA/ /mnt/volumeB/Perintah rsync pertama kali memindai jalur sumber, sehingga proses ini dapat memakan waktu lama meskipun volume data inkrementalnya kecil.
PeringatanOpsi --delete akan menghapus data dari sistem file tujuan yang telah dihapus dari sistem file sumber. Gunakan opsi ini dengan hati-hati untuk mencegah penghapusan data yang tidak disengaja.
Periksa hasil migrasi.
Setelah migrasi selesai, jalankan perintah rsync berikut untuk memeriksa apakah data pada sistem file tujuan konsisten dengan data pada sistem file sumber.
sudo rsync -rvn /mnt/volumeA/ /mnt/volumeB/Jika data konsisten, informasi berikut akan ditampilkan, dan tidak ada jalur file yang tercantum.

Beralih ke sistem file baru
Setelah migrasi data selesai, alihkan bisnis Anda dari sistem file lama ke yang baru. Untuk melakukannya, lepas pemasangan sistem file lama dan pasang sistem file baru di semua instans ECS dan kontainer yang relevan.
Anda dapat memasang sistem file NAS langsung pada instans ECS.
Jalankan perintah
mount | grep nas.aliyuncs.comuntuk mencatat informasi pemasangan NAS yang ada. Catat jalur lokal <dir> tempat sistem file NAS dipasang.Jalankan perintah
fuser -mv <dir>untuk menemukan PID proses yang membaca dan menulis ke sistem file NAS, lalu jalankan perintahkill -9untuk menghentikan semuanya.Jalankan perintah
umount <dir>untuk melepas pemasangan sistem file lama.Pasang sistem file baru ke jalur <dir> asli. Untuk informasi selengkapnya tentang parameter pemasangan, lihat Pasang sistem file NFS.
Jalankan kembali proses yang mengakses sistem file NAS dan pastikan operasi baca-tulis berjalan normal.
Ubah informasi pemasangan otomatis di /etc/fstab untuk mengganti titik pemasangan lama dengan yang baru.
Anda dapat memasang sistem file NAS ke kontainer dalam kluster Kubernetes.
Ubah file konfigurasi YAML yang ada untuk volume penyimpanan statis atau dinamis agar mengganti titik pemasangan lama dengan yang baru.
Gunakan file konfigurasi yang telah diubah untuk menghasilkan Pod baru. Pastikan sistem file baru dipasang pada Pod tersebut dan operasi baca-tulis berjalan normal.
Lakukan daur ulang terhadap semua Pod yang menggunakan sistem file lama.
Setelah beralih ke sistem file baru, simpan data pada sistem file lama setidaknya selama satu minggu. Jangan langsung menghapus data dari sistem file lama untuk mencegah kehilangan data akibat penghapusan tidak disengaja atau sinkronisasi yang belum lengkap.