rsync hanya menggantung, membuat daftar file


20
[root@centos /]# rsync -av --exclude thumbs /storage root@xx.27.1.xx:/storage
root@xx.27.1.xx's password: 
building file list ... 

Saya sudah duduk selama sekitar satu jam ... ini 135GB gambar dan folder

/storage adalah drive SC3 ext3 yang terpasang.

Apakah normal bagi rsync untuk duduk selama ini menghitung file / direktori?


Berapa banyak file? Dengan jumlah file yang sangat besar, akan butuh waktu.
Helvick

mungkin ribuan ... direktori gambar unggahan pengguna ...
Andrew Fashion

Saya telah melihat bagian rsync ini memakan waktu lebih dari satu jam ketika ada ribuan dan ribuan file. Jika Anda menjalankan 'top', apakah Anda melihat I / O menunggu?
troyengel

Hanya karena saya ingin tahu, dapatkah Anda menjalankan df -idan memberi tahu kami apa yang Anda miliki IUseddi / penyimpanan? Ini akan memberi kami gambaran kasar tentang berapa banyak file + folder yang Anda miliki.
Zoredache

1383641, apakah itu jumlah file?
Andrew Fashion

Jawaban:


24

rsync 2.x tidak membangun daftar file lengkap di depan.

Tambahkan -Popsi dan Anda akan melihat indikator kemajuan.

Jika Anda pikir itu benar-benar menggantung, di terminal lain cari pid dari rsync lalu

  1. Jalankan strace -p PIDdan lihat apa yang dilakukannya. (Tekan ^ C untuk berhenti.)

  2. Jalankan ps -o wchan PIDuntuk melihat di mana ia berada di kernel.


Wow straceitu keren! Anda mungkin akan menemukan sesuatu yang melingkar sedang terjadi: Seperti tautan yang merujuk ke salah satu direktori leluhurnya. Dalam kasus saya, saya menggunakan sistem file virtual yang tidak memiliki batasan pada kedalamannya, yaitu ia memiliki "tak terbatas" banyak subdirektoritagfs/books/+/books/+/books/+/ ...
Zaz

@ Zaz, saya juga memiliki banyak subdirektori, secara mendalam. Tapi ini dalam desain sistem saya. Apakah ada cara untuk menyelesaikan ini?
user1641443

@ user1641443: Maaf, itu di luar jangkauan saya.
Zaz

@ user1641443: 1: Coba rsync> 3.0 seperti kata Martin . 2: Jalankan beberapa proses rsync masing-masing pada sub-pohon yang lebih kecil. 3: Buka pertanyaan Anda sendiri yang terpisah.
poolie

15

Anda harus meningkatkan ke rsync 3.0.x di mana Anda akan mendapatkan manfaat dari daftar file tambahan, dijelaskan di sini . Saya rsyncing jutaan gambar (~ total 200GB) dan melihat percepatan luar biasa ketika beralih dari rsync 2.x ke 3.x.

Meski begitu, mungkin akan membutuhkan waktu lama untuk memeriksa semua data itu. Dalam kasus saya, masih dibutuhkan lebih dari satu jam antara dua server DL380 G5 yang cukup kuat.


Perhatikan juga bahwa bendera tertentu akan memaksa perilaku lama; bagi saya, itu --delay-updates.
Xiong Chiamiov

1
@XiongChiamiov Satu-satunya opsi yang saya gunakan adalah "-a" dan "--progress" dan versi 3.1.x masih membangun daftar file tambahan. Mengapa?
Michael

3

Anda mencatat sebelumnya bahwa duitu tergantung juga. Ada sesuatu dengan sistem file ini, dan rsyncmengenai apa pun yang duterjadi.

Satu hal cepat yang dapat Anda periksa adalah untuk pesan kesalahan kernel yang mengindikasikan masalah disk. Ketik dmesgdan lihat apa yang ada di bawah.


1

Gantung setelah pesan "daftar file bangunan ..." dapat disebabkan oleh ketidakcocokan MTU, mis. Jika Anda telah mengatur antarmuka jaringan dengan MTU 9000 tetapi tidak beralih di antaranya, paket kecil (seperti menghubungkan ke server rsync) akan melewati tetapi tidak yang lebih besar (seperti mengirim daftar file).


setelah banyak pencarian saya menemukan ini dan itu mendorong saya untuk pergi dan memeriksa - menjalankan rsync di atas vpn dengan standar 1450 mtu tapi saya tidak mengendalikan peralatan di antara situs - mengubah mp vpn ke 1430 dan biola rsync bekerja 100% (dan tiba-tiba keanehan jaringan lainnya juga hilang!) terima kasih!
l0ft13

0

Berdasarkan hal ini dan pertanyaan du /storagegantung Anda yang lain membuat saya berpikir bahwa masalahnya bukan duatau rsyncmasalahnya melainkan ada beberapa masalah /storage.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.