Le nœud privé continue de se déconnecter du nœud public
2 réponses
- votes
-
- 2019-03-07
Mise àjour 3/21/19 Les développeurs debase avaientpoussé une solution àpartir de
366f64f3df266f02a06412d676f02a064112d6760f73626d0a2bf
COMMIS sur leMainnet
DIRECTION qui répond à ceproblème quej'ai décrit ci-dessous.dans le réglage où vous avez unnœud dans
-modeprivé
(pour cuire) qui se connecte auxnœuds avant (public),vous devezexplicitement définir Vosnœuds avant defaire confiance à votrenœudprivé (en utilisant-peer
argument deTezos-noeud
ou lefichier de configuration deTezos-noeud
ou RPCS)! Autre, il y a une chance que,à unmoment donné,vosnœuds avant décident de se déconnecter de votrenœudprivéen faveur d'unnouveaunouveau pair. Lebug était qu'il y avait des cas de déconnexion de approuvé-privé-pairs (pas vraiment visibleparce que lesnœuds étaient utiliséspourfavoriser anciennes connexions sur denouveauxmaistoujours). Nous avonsmaintenantbloqué ces Connexions.Essentiellement,ilexiste unenouvellefonctionnalité qui vouspermet de définir votrenœudprivé comme unpair sur vosnœudspublics. Celafavorisera votrenœudprivé sur denouveauxpairs sur votrenœudpublic.
réponse originale
Ceproblèmeexiste depuis le début. Leproblème découle de ce que lenœudprivéesttraité de lamêmemanière quetous les autres homologues de votrenœudpublic (mêmeen fixant untel que de confiance). Fondamentalement,celane donnepas lapriorité à votrenœudprivéplus hautet que votrenœudpublicpeutparfois décider que votrenœudprivéestmoins "utile" que d'autres. Je veux dire que si vous y réfléchissez,lesnœudsprivésne sont que des léechers,quine contribuentpas vraiment à votrenoeudpublic afin que votrenœudpublicpuisse déconnecter votrenœudprivépour un autrenœud du réseau. Deplus,si votrenœudprivé «malbharges»,commene fonctionnepas correctement ou deprendretrop de ressources,votrenœudpublicpourraitmême lagriset nepas autoriser les connexions de votrenœudprivé. Bien que vous vous attendiez à ce que la définition soitfiablepuisse atténuer cela!
Laplupart d'entrenouspremiersboulangers résolvent ceproblèmeen augmentant lenombre de redondances (nœudspublics) afin que l'on déconnecte que cen'estpas unegrosse affaireet qu'il doit renouertôt outard. Jepenseen général,c'est unebonneidée car vous aurezprobablementbesoin demettre àniveau vosnœudset dene pas avoir de redondance rendra leprocessusbeaucoupplus délicat. Cesjours-ci,je trouveen fait quemonnoeudprivéne déconnectepresquejamais les débuts despremiersjours. Mon soupçonest que lenœudprivépourrait avoir une "crédibilité",une sorte d'opposé d'êtregris.
jusqu'à ce qu'unenouvellefonctionnalité soit ajoutée,vouspouvez assurer une connexionprioriséenoninsulsible,vosmeilleures options sont vraiment limitées àprésenter davantage denœudspublics ou à ajouter lesnœuds defondation (probablement digne de confiance) comme vosnœuds de confiance. Une chose que vouspourriezessayerest Quicksync ou copier les données de la chaîne à votrenoeudprivé afin que vousne puissiezpas avoir àbootstrap votrenœudprivé. Ilestpossible que lors duprocessus de synchronisation,ilest déconnectéen raison des ressourcesnécessaires. Leproblèmepourrait être destravailleurs de votrenœudprivé,pas votrenœudpublic qui le déconnecte.
Update 3/21/19 Core developers had pushed out a fix as of
366f64f3df266cf02a06412d6760f73626d0a2bf
commit on themainnet
branch that addresses this issue that I described below.In the setting where you have a node in
--private-mode
(to bake) that connects itself to front (public) nodes, you must explicitly set your front nodes to trust your private node (using--peer
argument oftezos-node
or the config file oftezos-node
or RPCs)! Else, there is a chance that at some point your front nodes decide to disconnect themselves from your private node in favour of a fresh new peer. The bug was that there were cases of disconnection of trusted-private-peers (not really visible because nodes used to favour old connections over new ones but still). we've now shielded those connections.Essentially, there is a new feature that allows you to set your private node as a peer on your public nodes. That will favor your private node over new peers on your public node.
Original Answer
This problem has been around since the beginning. The problem stems from that the private node is treated the same as every other peer in your public node(even setting one as trusted). Basically it's not prioritizing your private node higher and sometimes your public node may decide that your private node is less "useful" than others. I mean if you think about it, private nodes are just leechers, not really contributing to your public node(s) so your public node might disconnect your private node for another node in the network. Also if your private node somehow "misbehaves" such as not functioning correctly or taking up too much resources, your public node might even graylist it and not allow connections from your private node. Though you would expect setting as trusted should alleviate that!
Most of us early bakers solve this problem by increasing the number of redundancies(public nodes) so when one disconnects it's not a big deal and it should reconnect sooner or later. I think in general, this is a good idea as you'll likely need to upgrade your nodes and having no redundancy will make the process much trickier. These days, I actually find that my private node almost never disconnects unlike the early days. My suspicion is that the private node might have gain "credibility", kind of opposite of being graylisted.
Until a new feature is added that can ensure an undisrupted prioritized connection, your best options are really limited to bringing up more public nodes or adding the foundation nodes(likely trustworthy) as your trusted nodes. One thing you could try is quicksync or copy the chain data to your private node so you don't have to bootstrap your private node. It's possible that during the syncing process, it's getting disconnected due to the resources it's requiring. The problem could be your private node's workers, not your public node disconnecting it.
-
Pouvez-vous spécifier la liste desnœuds defondation de confiance?Can you specify list of trusted foundation nodes?
- 0
- 2019-03-08
- Sachin Tomar
-
https://tezos.stackexchange.com/questions/723/CAN-Someone-Provide-list-of-Trusted-foundation-nodeshttps://tezos.stackexchange.com/questions/723/can-someone-provide-list-of-trusted-foundation-nodes
- 0
- 2019-03-08
- Frank
-
Que diriez-vous d'exécuter un script surnotrenœudpublic qui continuez à vérifier l'état de la connexion avec unnœudprivéet s'ilne trouve aucune connexion,ilexécute une commandepour vous connecter automatiquement aunœudprivé.Cela semble-t-il être la solutionen dehors deplusieursnœudspublics?how about running a script on our public node that keep checking the connection status with private node and if it finds no connection it runs a command to connect to private node automatically. Does this seems to be the solution apart from having multiple public nodes?
- 0
- 2019-03-14
- Sachin Tomar
-
@Sachintomar quine fonctionnerapas car lesnœudsprivés rejettent des connexionsexternes.Peut-être que celapeutfonctionner si vous le détectez sur le côté dunœudprivé?@SachinTomar that won't work because private nodes will reject external connections. Maybe it can work if you detect it on the private node side?
- 0
- 2019-03-14
- Frank
-
Enfait,je suisface àface de ce que vous avez dit.Lorsqueje courais ./MainNet.Sh Admin-Client Connect Adresse Adresseprivée-nœud-IP: 9732 dunœudpublic,il crée une connexion aunœudprivé.Mais lamême commande sur lenœudprivé avec la commande IP denœudpublic-nœud échoue avec lemessage "Impossible de se connecter. Nodeesten cours d'exécution dans lenœudprivé" Remarque:j'ai ajouté l'adresse IP dunœudpublic dans la liste despairs dans lenœudprivé.Actually i am facing opposite of what you said. When i run ./mainnet.sh admin-client connect address private-node-ip:9732 from public node, it creates a connection to private node. But same command on private node with public-node ip in command fails with message "Cannot connect. Node is running in private node" NOTE: i have added the public-node ip in peer list in private node.
- 0
- 2019-03-15
- Sachin Tomar
-
Comment définissez-vous l'homologue de confianceen «lefichier de configuration de Tezos-node»?How do you set the peer as trusted in "the config file of tezos-node"?
- 0
- 2019-04-17
- Svante
-
@Svante,il vautprobablement une question différente de demander comment spécifier lespairs dans lefichier de configuration dunœud.@Svante it's probably worth a different question to ask how to specify peers in the node config file.
- 0
- 2019-04-17
- Frank
-
@Frank Bonneidée,fait: https://tezos.stackexchange.com/questions/1102/how-can-ifset-trusted-peers-by-identitity-in-the-tezos-node-config-file-config-file@Frank Good idea, done: https://tezos.stackexchange.com/questions/1102/how-can-i-set-trusted-peers-by-identity-in-the-tezos-node-config-file
- 0
- 2019-04-17
- Svante
-
- 2019-03-07
Bien que celane répondepas directement à votre question,lefour dispose d'unefonctionnalité quipeut vousinformer lorsque votrenoeudprivéperd des connexions.
Lorsque vous configurez lefourpour surveiller lenœudprivé,incluez un «nombreminimum depairs» dans l'interface utilisateur.Si lespairs de votrenœudprivétombenten dessous de cenuméro,vous recevrez unenotification.
While this does not directly answer your question, Kiln has a feature that can notify you when your Private Node loses connections.
When you configure Kiln to monitor the Private Node, include a 'minimum number of peers' in the UI. If your Private Node's peers drop below that number, you'll receive a notification.
-
Merci.La définition de la surveillanceet de l'alerte aide vraiment à s'assurer quenotrenœudfonctionneen état sain.Jen'aipasbesoin de vérifiermonnœudencoreet encoremaintenant.Thanks. Setting monitoring and alerting really helps to ensure our node is running in healthy state. I don't need to check my node again and again now.
- 0
- 2019-03-14
- Sachin Tomar
J'ai unnœudprivéet unnœudpublic.Je vous ai ajouté chaque autre adresse dans la liste d'adresses de confiance respective à l'aide de la commande ci-dessous:
Initialement,lenœudprivéne se connectepas aunœudpublic,je dois donc utiliser Connect Command denoeudpublic commementionné ci-dessous:
Maintenant,monnœudprivéest connecté àmonnœudpublicet commencez à synchroniser leblockchain.Mais la connexion se casse après automatiquementet synchronisation des arrêts.Cela s'estpassétroisfoistroisjours.
Jene suispas assez confiantpour commencer à cuire aunœudprivé si la seule connexion unique se casse automatiquement.
Quelque chose d'autre queje devraisfairepour assurer la disponibilité de la connexion 24x7?