J'ai deux serveurs Dell R515 exécutant CentOS 6.5, avec l'un des NIC Broadcom dans chacun directement connecté à l'autre. J'utilise le lien direct pour pousser les sauvegardes du serveur principal de la paire vers le secondaire tous les soirs en utilisant rsync sur ssh. En surveillant le trafic, je vois un débit de ~ 2 Mo/s, ce qui est beaucoup moins que ce que j'attendais d'un port gigabit. J'ai réglé le MTU sur 9000 des deux côtés, mais cela ne semble rien changer.
Existe-t-il un ensemble recommandé de paramètres et d'optimisations qui m'amèneraient au débit maximal disponible? De plus, puisque j'utilise rsync sur ssh (ou potentiellement juste NFS) pour copier des millions de fichiers (~ 6 To de petits fichiers - une énorme librairie Zimbra), les optimisations que je recherche devront peut-être être plus spécifiques pour mon cas d'utilisation particulier .
J'utilise ext4 des deux côtés, si cela est important
Merci
EDIT: J'ai utilisé les options rsync
suivantes avec des résultats assez similaires:
rsync -rtvu --delete source_folder/ destination_folder/
rsync -avHK --delete --backup --backup-dir=$BACKUPDIR source_folder/ destination_folder/
Actuellement, je regarde le même niveau de mauvaises performances lors de l'utilisation de cp
pour une exportation NFS, sur la même liaison par câble directe.
EDIT2: après avoir terminé la synchronisation, j'ai pu exécuter iperf
et j'ai trouvé que les performances étaient d'environ 990 Mbits/s, la lenteur était due à l'ensemble de données réellement utilisé.
Le nombre de fichiers et la surcharge de chiffrement SSH sont probablement les plus grands obstacles. Vous n'allez pas voir la vitesse du fil sur un transfert comme celui-ci.
Les options à améliorer comprennent:
-e "ssh -c arcfour"
)dd
, envoi/réception d'instantanés ZFS , etc.tar
, netcat (nc
), mbuffer ou une combinaison.tuned-adm
paramètres .rsync
. Aurait -W
, l'option fichiers entiers est-elle logique ici? La compression est-elle activée?Comme vous le savez probablement, la copie d'un grand nombre de petits fichiers (par exemple, des boîtes aux lettres utilisant le format MailDir ou similaire) n'est certainement pas la meilleure option pour tirer parti des interfaces à bande passante élevée. SSH n'est probablement pas le meilleur protocole de transport pour cela non plus. J'essaierais d'utiliser tar pour créer une archive tar sur l'hôte source avant de vous l'envoyer à l'hôte secondaire.
tar c /var/mail | ssh root@secondary-Host 'tar x -C /var/backups'
Si vous avez besoin d'une sauvegarde incrémentielle, vous pouvez essayer le -g
options de tar. Si vous avez encore besoin de maximiser le throuput, essayez d'utiliser netcat au lieu de ssh.
Essayez de démêler les facteurs contributifs:
et les tester indépendamment.
J'ai eu de mauvaises expériences avec les pilotes Broadcom, donc ma première suggestion est de tester la bande passante réseau utilisable avec: dd if=/dev/zero bs=1m count=10k | rsh backup_Host cat \> /dev/null