Saya memiliki cron yang pada dasarnya melakukan "tar zcf" sederhana di malam hari.
Server memiliki:
- 8 Cores - Intel (R) Xeon (R) CPU E5606 @ 2.13GHz
- RAM 25GB
- Ubuntu 12.04.2 LTS
- Hardware RAID 1 (LSI Logic / Symbios Logic MegaRAID SAS SMC2108) dengan dua hard drive 2.728TB
Seperti yang dapat Anda lihat di screenhost pemantauan:
Selama hampir semua waktu tar, disc I / O pergi ke> 90% dan membuat semua aplikasi lain (mysql, apache) untuk memperlambat banyak.
2 pertanyaan:
- Apakah normal memiliki I / O disk yang begitu tinggi selama pencadangan?
- Apakah ada cara untuk membatasi disk I / O sehingga aplikasi lain dapat terus bekerja dengan benar?
Terima kasih!
ubuntu
backup
performance
io
hard-drive
acemtp
sumber
sumber
find
tanpa (misalnya)-perm
tidak akan mengakses inode file. Tapi itu memungkinkan untuk optimasi menggunakan duafind
panggilan. Jika Anda melakukanfind
panggilan yang sama dua kali (dengan sedikit waktu di antaranya), yang kedua biasanya akan selesai dalam hitungan detik (atau kurang). Bergantung pada jumlah memori bebas dan jumlah data yang di-cache pada titik tertentu, data dibuang dari cache. Membaca terlalu banyak bisa memperlambat operasi. Jika Anda dapat memberi makan program cadangan dengan nama file melalui stdin maka Anda dapat mencegahnya dengan membaca blok misalnya 100 file.Ini diharapkan untuk melihat I / O tinggi selama cadangan karena mereka umumnya dibuat di pohon file besar dengan file besar. Anda dapat menggunakan
ionice
untuk memprioritaskan pekerjaan I / O di Linux dengan kelas dan level. IIRC, kelas 2, level 7 adalah level terendah, non-kelaparan yang secara praktis membuatnya tidak terlihat oleh beban dan pengguna I / O lainnya. Lihatman ionice
untuk penggunaan dan detailnya.sumber
Saya akan merekomendasikan menching tar dan pergi dengan rsync (seperti yang disebutkan oleh Dogsbody). Saya menggunakan BackupPC untuk membuat cadangan file di sistem Windows dan Linux saya dan mendukung penggunaan tar serta rsync dan secara otomatis menangani tautan keras untuk Anda serta menyediakan antarmuka web yang bagus.
http://backuppc.sourceforge.net/
sumber
Seperti yang orang lain jawab, ya ini normal, dan
ionice
merupakan cara umum yang baik untuk tidak membiarkannya memengaruhi sistem Anda.Beberapa kali saya telah melihat orang-orang
tar
beres ketika mereka tidak perlu sekalipun. Jika ada persentase data yang Anda salin tidak berubah sejak salinan terakhir maka saya sarankanrsync
mencoba.Ini akan mengurangi IO dengan hanya menyalin file yang telah berubah sejak salinan terakhir. Anda tidak akan dapat mengurangi IO lebih dari setengah karena semua data masih perlu dibaca tetapi Anda akan secara signifikan mengurangi jumlah data yang ditulis (yang tergantung pada perangkat keras Anda bisa menjadi operasi yang lebih lambat juga).
Jika Anda ingin memisahkan salinan / cadangan setiap kali dijalankan maka opsi yang paling kuat adalah –link-dest yang memungkinkan Anda untuk menautkan file yang tidak diubah ke cadangan sebelumnya. Ini menghemat sejumlah besar ruang pada server cadangan. mis. Saya membuat cadangan mesin (Fred), Fred memiliki HD 20GB dan saya mencadangkan / menyalin seluruh drive tidak termasuk / proc dan / dev. Saya sekarang memiliki direktori 20GB di server cadangan saya. Hari berikutnya saya backup Fred lagi dan –link-dest ke backup kemarin. Rsync membandingkan file jarak jauh dengan salinan lokal dan jika persis sama tidak akan mengganggu mentransfernya tetapi akan sulit menautkan file baru ke file kemarin. Setiap file yang telah diubah disalin ke bawah (jika mungkin sebagian disalin menggunakan cadangan kemarin). Jika hanya 100MB file yang diubah sejak kemarin saya sekarang memiliki dua direktori baik dengan 20GB file tetapi hanya mengambil 20.
Saya harap itu membantu dan masih menjawab pertanyaan Anda.
sumber