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 à quoi je m'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 de paramètres et d'optimisations recommandé qui me conduirait 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 rsync
options suivantes avec des résultats à peu près 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 cp
vers une exportation NFS, sur la même liaison câblée 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é.
la source
iperf
.Réponses:
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
, instantané ZFS envoi / réception , etc.tar
netcat (nc
), mbuffer ou une combinaison.tuned-adm
paramètres CentOS .rsync
commande. Est-W
-ce que l'option fichiers entiers aurait du sens ici? La compression est-elle activée?la source
iperf
pour être sûr.rsync
et non parcp
. J'ai vursync
prendre beaucoup plus de temps pour mettre à jour une arborescence de répertoires distants créée à l'origine parcp
: 88 Go mis à jour avec une somme de contrôle en 1h26m au lieu de 3h! La façon dont vous créez la disposition de disque initiale est essentielle pour obtenir de bonnes performances de mise à jour. Le temps CPU est le même; le temps réel peut doubler. (La même mise à jour sans vérification s'exécute en 13 minutes d'un SSD à un Seagate de 200 Go).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 l'envoyer à votre hôte secondaire.
Si vous avez besoin d'une sauvegarde incrémentielle, vous voudrez peut-être essayer les
-g
options de tar. Si vous avez encore besoin de maximiser le throuput, essayez d'utiliser netcat au lieu de ssh.la source
dd
passer parnc
là. mais en ce moment, je suis coincé avec deux énormes sauvegardes, puis je dois être déplacé de l'hôte principal, donc je peux y créer un système LVMEssayez 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
la source