forked from Deuxfleurs/site
Lint text, remove trailing space, order headers and lists
This commit is contained in:
parent
99d50325f5
commit
d27f2f837f
11 changed files with 129 additions and 144 deletions
|
@ -1,3 +1,5 @@
|
||||||
|
# Assemblée Générale Constitutive
|
||||||
|
|
||||||
Le 13 janvier 2020 à 19 heures, les fondateurs de l'association
|
Le 13 janvier 2020 à 19 heures, les fondateurs de l'association
|
||||||
Deuxfleurs se sont réunis en assemblée générale constitutive au 24 rue
|
Deuxfleurs se sont réunis en assemblée générale constitutive au 24 rue
|
||||||
des Tanneurs à Rennes. Sont présents Adrien, Alex, Anaïs, Axelle,
|
des Tanneurs à Rennes. Sont présents Adrien, Alex, Anaïs, Axelle,
|
||||||
|
@ -25,12 +27,12 @@ Un débat s'instaure entre les membres de l'assemblée.
|
||||||
Après quoi, personne ne demandant plus la parole, le président met
|
Après quoi, personne ne demandant plus la parole, le président met
|
||||||
successivement aux voix les délibérations suivantes.
|
successivement aux voix les délibérations suivantes.
|
||||||
|
|
||||||
### 1e délibération
|
## 1e délibération
|
||||||
|
|
||||||
L'assemblée générale adopte les statuts dont le projet lui a été soumis.
|
L'assemblée générale adopte les statuts dont le projet lui a été soumis.
|
||||||
Cette délibération est adoptée à l'unanimité.
|
Cette délibération est adoptée à l'unanimité.
|
||||||
|
|
||||||
### 2e délibération
|
## 2e délibération
|
||||||
|
|
||||||
L'assemblée générale constitutive désigne en qualité de premiers membres
|
L'assemblée générale constitutive désigne en qualité de premiers membres
|
||||||
du conseil d'administration :
|
du conseil d'administration :
|
||||||
|
|
|
@ -18,7 +18,6 @@ Pour en savoir plus, rendez-vous sur
|
||||||
<a href="https://www.laquadrature.net/">La Quadrature du Net</a>
|
<a href="https://www.laquadrature.net/">La Quadrature du Net</a>
|
||||||
et allez lire le manifeste <a href="https://chatons.org/fr/manifeste">des CHATONS</a>.
|
et allez lire le manifeste <a href="https://chatons.org/fr/manifeste">des CHATONS</a>.
|
||||||
|
|
||||||
|
|
||||||
### Nos objectifs
|
### Nos objectifs
|
||||||
|
|
||||||
#### Des utilisateurs impliqués
|
#### Des utilisateurs impliqués
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
Store pile of bytes in your garage.
|
Store pile of bytes in your garage.
|
||||||
|
|
||||||
|
|
||||||
## Context
|
## Context
|
||||||
|
|
||||||
Data storage is critical: it can lead to data loss if done badly and/or on hardware failure.
|
Data storage is critical: it can lead to data loss if done badly and/or on hardware failure.
|
||||||
|
@ -43,7 +42,6 @@ There was many attempts in research too. I am only thinking to [LBFS](https://pd
|
||||||
- Cassandra (ScyllaDB) for metadata
|
- Cassandra (ScyllaDB) for metadata
|
||||||
- Own system using consistent hashing for data chunks
|
- Own system using consistent hashing for data chunks
|
||||||
|
|
||||||
|
|
||||||
**Quentin:**
|
**Quentin:**
|
||||||
|
|
||||||
- pas d'erasure coding mais des checksums à côté des fichiers (ou dans les meta données)
|
- pas d'erasure coding mais des checksums à côté des fichiers (ou dans les meta données)
|
||||||
|
@ -67,15 +65,10 @@ _Remark 2_ Seafile idea has been stolen from this article: https://pdos.csail.mi
|
||||||
|
|
||||||
### Questions à résoudre
|
### Questions à résoudre
|
||||||
|
|
||||||
|
|
||||||
1. est-ce que cassandra support de mettre certaines tables sur un SSD et d'autres sur un disque rotatif ?
|
1. est-ce que cassandra support de mettre certaines tables sur un SSD et d'autres sur un disque rotatif ?
|
||||||
2. est-ce que cassandra/scylladb a un format de table on disk qui ne s'écroule pas complètement losque tu as des gros blobs ? (les devs de sqlite ont écrit tout un article pour dire que même avec leur lib qui est quand même sacrément optimisés, ils considèrent qu'à partir de je crois 4ko c'est plus efficace de mettre les blobs dans des fichiers séparés) - https://www.sqlite.org/intern-v-extern-blob.html
|
2. est-ce que cassandra/scylladb a un format de table on disk qui ne s'écroule pas complètement losque tu as des gros blobs ? (les devs de sqlite ont écrit tout un article pour dire que même avec leur lib qui est quand même sacrément optimisés, ils considèrent qu'à partir de je crois 4ko c'est plus efficace de mettre les blobs dans des fichiers séparés) - https://www.sqlite.org/intern-v-extern-blob.html
|
||||||
3. Quelle taille de blocs ? L'idée c'est qu'on a quand même des liens en WAN avec des débits pas forcéments incroyables. Et ça serait bien que le temps de répliquer un bloc soit de l'ordre de la seconde maxi. En cas de retry, pour pouvoir mieux monitorer la progression, etc. Exoscale utilise 16Mo. LX propose 1Mo.
|
3. Quelle taille de blocs ? L'idée c'est qu'on a quand même des liens en WAN avec des débits pas forcéments incroyables. Et ça serait bien que le temps de répliquer un bloc soit de l'ordre de la seconde maxi. En cas de retry, pour pouvoir mieux monitorer la progression, etc. Exoscale utilise 16Mo. LX propose 1Mo.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### Modules
|
#### Modules
|
||||||
|
|
||||||
- `membership/`: configuration, membership management (gossip of node's presence and status), ring generation --> what about Serf (used by Consul/Nomad) : https://www.serf.io/? Seems a huge library with many features so maybe overkill/hard to integrate
|
- `membership/`: configuration, membership management (gossip of node's presence and status), ring generation --> what about Serf (used by Consul/Nomad) : https://www.serf.io/? Seems a huge library with many features so maybe overkill/hard to integrate
|
||||||
|
@ -85,7 +78,6 @@ _Remark 2_ Seafile idea has been stolen from this article: https://pdos.csail.mi
|
||||||
- `api/`: S3 API
|
- `api/`: S3 API
|
||||||
- `web/`: web management interface
|
- `web/`: web management interface
|
||||||
|
|
||||||
|
|
||||||
#### Metadata tables
|
#### Metadata tables
|
||||||
|
|
||||||
**Objects:**
|
**Objects:**
|
||||||
|
@ -133,7 +125,6 @@ Workflow for PUT:
|
||||||
6. Return success to the user
|
6. Return success to the user
|
||||||
7. Launch a background job to check and delete older versions
|
7. Launch a background job to check and delete older versions
|
||||||
|
|
||||||
|
|
||||||
Workflow for DELETE:
|
Workflow for DELETE:
|
||||||
|
|
||||||
1. Check write permission (LDAP)
|
1. Check write permission (LDAP)
|
||||||
|
@ -148,12 +139,10 @@ To delete a version:
|
||||||
3. Delete all of the blocks from the blocks table
|
3. Delete all of the blocks from the blocks table
|
||||||
4. Finally, delete the version from the objects table
|
4. Finally, delete the version from the objects table
|
||||||
|
|
||||||
|
|
||||||
Known issue: if someone is reading from a version that we want to delete and the object is big, the read might be interrupted. I think it is ok to leave it like this, we just cut the connection if data disappears during a read.
|
Known issue: if someone is reading from a version that we want to delete and the object is big, the read might be interrupted. I think it is ok to leave it like this, we just cut the connection if data disappears during a read.
|
||||||
|
|
||||||
("Soit P un problème, on s'en fout est une solution à ce problème")
|
("Soit P un problème, on s'en fout est une solution à ce problème")
|
||||||
|
|
||||||
|
|
||||||
#### Block storage on disk
|
#### Block storage on disk
|
||||||
|
|
||||||
**Blocks themselves:**
|
**Blocks themselves:**
|
||||||
|
@ -194,7 +183,6 @@ Rebalancing: takes as argument the list of newly added nodes.
|
||||||
|
|
||||||
Only one balancing can be running at a same time. It can be restarted at the beginning with new parameters.
|
Only one balancing can be running at a same time. It can be restarted at the beginning with new parameters.
|
||||||
|
|
||||||
|
|
||||||
#### Membership management
|
#### Membership management
|
||||||
|
|
||||||
Two sets of nodes:
|
Two sets of nodes:
|
||||||
|
@ -231,11 +219,9 @@ Number K of tokens per node: decided by the operator & stored in the operator's
|
||||||
- Ping interval: 10 seconds
|
- Ping interval: 10 seconds
|
||||||
- ??
|
- ??
|
||||||
|
|
||||||
|
|
||||||
#### Links
|
#### Links
|
||||||
|
|
||||||
- CDC: <https://www.usenix.org/system/files/conference/atc16/atc16-paper-xia.pdf>
|
- CDC: <https://www.usenix.org/system/files/conference/atc16/atc16-paper-xia.pdf>
|
||||||
- Erasure coding: <http://web.eecs.utk.edu/~jplank/plank/papers/CS-08-627.html>
|
- Erasure coding: <http://web.eecs.utk.edu/~jplank/plank/papers/CS-08-627.html>
|
||||||
- [Openstack Storage Concepts](https://docs.openstack.org/arch-design/design-storage/design-storage-concepts.html)
|
- [Openstack Storage Concepts](https://docs.openstack.org/arch-design/design-storage/design-storage-concepts.html)
|
||||||
- [RADOS](https://ceph.com/wp-content/uploads/2016/08/weil-rados-pdsw07.pdf)
|
- [RADOS](https://ceph.com/wp-content/uploads/2016/08/weil-rados-pdsw07.pdf)
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ FAI connus pour ne pas proposer d'IPv6 :
|
||||||
|
|
||||||
#### IPv6 de mauvaisee qualité
|
#### IPv6 de mauvaisee qualité
|
||||||
|
|
||||||
*Ajouté explications à propos du tunneling*
|
*Ajouter des explications à propos du tunneling*
|
||||||
|
|
||||||
#### Adresse IP publique dynamique
|
#### Adresse IP publique dynamique
|
||||||
|
|
||||||
|
@ -86,4 +86,3 @@ Routeurs connus pour avoir des problèmes de NAT hairpinning :
|
||||||
#### Problèmes de qualité du routeur
|
#### Problèmes de qualité du routeur
|
||||||
|
|
||||||
*À compléter*
|
*À compléter*
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,6 @@ On pourrait imaginer upgrader ce modèle en rajoutant une règle IPv6 dans le fi
|
||||||
|
|
||||||
Solution étudiée par TeDomum/ACID. Ils partent sur Wesher. Voici leur avis :
|
Solution étudiée par TeDomum/ACID. Ils partent sur Wesher. Voici leur avis :
|
||||||
|
|
||||||
|
|
||||||
> On s'est posé la question d'utiliser un service mesh plutôt qu'un mesh d'infrastructure. Et il se trouve que ça collait peu à notre besoin. Il y a trop de choses au-dessus pas conçues pour être à poil sur internet et qui rentreraient pas dans le service mesh.
|
> On s'est posé la question d'utiliser un service mesh plutôt qu'un mesh d'infrastructure. Et il se trouve que ça collait peu à notre besoin. Il y a trop de choses au-dessus pas conçues pour être à poil sur internet et qui rentreraient pas dans le service mesh.
|
||||||
>
|
>
|
||||||
> Consul est top si tu veux interconnecter des clusters k8s dans des régions différentes. Mais si tu fais un cluster étendu y'a trop de choses exposées par défaut sans tls ou sans authent sur le réseau d'infra k8s. Et trop de choses dans plein de techno où il attend une forme de l2 partagé ou une proximité réseau, même virtuelle, comme les acl par préfixe IP dans les solutions de stockage, l'allocation de préfixe d'adressage dans les ipam de la plupart des cni, etc.
|
> Consul est top si tu veux interconnecter des clusters k8s dans des régions différentes. Mais si tu fais un cluster étendu y'a trop de choses exposées par défaut sans tls ou sans authent sur le réseau d'infra k8s. Et trop de choses dans plein de techno où il attend une forme de l2 partagé ou une proximité réseau, même virtuelle, comme les acl par préfixe IP dans les solutions de stockage, l'allocation de préfixe d'adressage dans les ipam de la plupart des cni, etc.
|
||||||
|
|
Loading…
Reference in a new issue