y'a de l'idee

Publié le 9 Juin 2008

En plus de ma multitude de server linux j'ai 1 serveur windows 2008 server.

Et bien... je l'aime bien ! Je dirai, enfin un OS Microsoft pour les sysadmin !
Les precedentes moutures de windows server ressemblaient plus a des assemblages de "features blingbling" destinées a motiver le "decideur pressé" a acheter du windows plutot qu'a se soucier vraiment des problèmes de tous les jours d'un administrateur.

Maintenant on a tout un tas de modules, avec des vrais fonctionalités, et on peut se debarasser des modules qu'on utilise pas, simplement, sans avoir 5000 de dependances avec des trucs qui encombrent l'administration alors qu'elles ne servent pas.

Ils ont meme poussé jusqu'a sortir l'edition "core". (pour ne pas dire "hardcore").
Windows 2008 Server Core c'est, un shell. C'est tout, rien d'autre.
Pas d'explorateur machinbidule, pas de menu demarrer, et tout ce genre de trucs qui n'ont qu'un tres vague interet de le fonctionnement quotidien d'un serveur.

Je n'utilise pas la version core, ca demande une connaissance de windows que je n'ai pas, et le shell est vraiment pourrave. De coté la Microsoft a encore pas mal de boulot, mais je dirai que, enfin, ils prennent la bonne direction.

Je pense aussi que cela est du au fait que beaucoup de monde apprend maintenant l'administration systeme sur du linux, et non pas du windows. Que dans la tete des gens, maintenant, un systeme optimisé est un systeme minimaliste, qui ne fait que ce qu'on lui demande de faire, et rien d'autre.

Ca semble etre une question de bon-sens et microsoft a fini par le remarquer ;)
Perso j'ai toujours été pour les logiciels libres, pas pour des raisons "philosophiques", mais pour des raisons "techniques". Si un logiciel ou un OS proprio fait mieux qu'un logiciel ou un OS libre, ca ne me derange pas de l'utiliser. A condition que le prix en vaille le coup bien sur.
Pour l'instant l'avantage est nettement du coté des logiciels libres dans la majorité des cas. Et je reste avec ma tripotée de serveurs linux. Mais contrairement a windows 2003 que j'ai jeté au bout d'une semaine, je garde mon Win2008, simplement parce qu'il fontcionne et qu'il fait ce que je lui demande de faire, au meme titre que mes serveurs linux.

Voir les commentaires

Rédigé par kerunix Flan

Publié dans #y'a de l'idée

Repost0

Publié le 8 Juin 2008

J'ai trouvé un editeur hexa sympa : "010 Editor".

Il permet en particulier de creer des templates et des scripts dans un langage assez similaire au C pour la lecture et l'edition de fichiers binaires. Il n'est ni libre ni gratuit et fonctionne sous windows, mais rien n'est parfait dans ce bas monde ;)

A titre d'exemple j'ai fait 2 templates pour lire le fichier texture.entries.
La structure du fichier est la suivante :
- l'entete du fichier qui fait 8 octets : la version du fichier + le nombre d'entrée dans le fichier. (pas de "magic number")
- le corps du fichier composé d'un tableau de 24 octets : UUID de la texture + taille de l'image + date

L'UUID fait 128bits, comme il n'existe pas de type de base de 128 bits, je decide de creer un type perso de 16x8bits. J'aurai pu faire 4x32, mais il y a une bonne raison pour ne pas le faire (plus tard) ;)

typedef ubyte LLUUID[16];

Les premiers 32 bits du fichier donnent la version de la structure du fichier. Un nombre a virgule flottante (float).
Les 32 bits suivants representent le nombre d'entrées dans le corps du fichier ou, d'une facon plus pratique, combien de fois on va trouver dans le corps du fichier le tableau : UUID+taille+date. Ce nombre est un nombre entier non-signé de 32 bits (uint32).


Pour faire ca propre je definis la structure de l'entete du fichier dans une... structure ;)

struct FileHeader
{
    float mVersion;
    uint32 mEntries;
} monEntete;


Le corps du fichier est un poil plus complexe, mais très peu.
De la meme maniere on va definir une structure pour donner un sens aux 24 octets suivant.
A la difference près que cette structure sera repetée un certains nombre de fois, ce certain nombre etant tres exactement celui indiqué par "mEntries".
Ce qui donne un tableau de structure de "mEntries" elements.

La structure est la suivante :
- 128 bits representant l'UUID de la texture (de type LLUUID qu'on a defini au debut)
- la taille de l'image, un nombre entier sur 32 bits (int32)
- la date a laquelle la texture a été inserée dans le fichier. Cette date est representée par un entier de 32 bits representant le nobmre de secondes ecoulée depuis le 1er Janvier 1970. Ca parrait bizzare mais cette methode  de representation de date est tres pratique, prend peu de place et est tres utilisée. Tellement utilisée qu'elle a son propre type predefini : time_t. En indiquant time_t le logiciel saura que cet entier de 32 bits represente une date et nous affichera la date dans un format "lisible" plutot que d'afficher betement le nombre de secondes ecoulée entre 1/1/1970 et la date de creation de la texture en question.

C'est parti :

struct FileBody
{
    LLUUID mID;
    int32 mSize;
    time_t mTime;
} mesElements[monEntete.mEntries];

la derniere ligne indique que "mesElements" est un tableau composé de "mEntries" elements. Et qu'on peut trouver ce nombre "mEntries" dans "monEntete".
Par exemple, si mEntries = 100. On aura un tableau de 100 Elements. Soit 100 fois les 24 octets de "FileBody".

Ensuite... bein c'est fini. On lance tout ca dans 010 Editor et il nous affiche une jolie fenetre dans un format humainement lisible, plutot qu'un ensemble insipide de 0 et de 1.

Voir les commentaires

Rédigé par kerunix Flan

Publié dans #y'a de l'idée

Repost0

Publié le 28 Mai 2008

Oui, je me suis lancé dans opensim... surtout pour l'interet technique.
C'est en Alpha version, mais utilisable.

Opensim, ce n'est pas un seul serveur, mais plusieurs serveurs.
UserServer, GridServer, AssetServer, SimServer, InventoryServer, ScriptServer, MessagingServer.

Chacun ayant sa fonction, et sa base de donnée.
On peut tout faire tourner sur un seul serveur ("standalone"), c'est bien pour des mini-grillé privée ou bien faire tourner ca en mode "grille" pour gerer... des centaine... milliers... centaines de milliers de sim !!

J'aime bien commencer petit ... mais toujours voir grand ;)
Pour le coté grille, je me suis installé sur la francogrid et je collabore avec eux pour penser a une architecture de grille capable de gerer des milliers de sim.

Pour resumer de facon simple, il y a 2 type d'approches :
- Un serveur "gros cul" super bourrin genre octocore 16GB de RAM, etc ...
- L'approche "google", une quantité astronomiqe de miniserveurs pas cher.


Pour le serveur "gros cul", le matos coute horriblement cher.
Au debut il sera largement sous-utilisé, perte d'argent.
Apres... il risque de ne pas etre assez puissant... il faut le changer vers quelque chose de plus puissant... en considerant que ca existe !!

L'approche "google", c'est plein de serveur pas cher, et on rajoute des serveurs en fonction de la charge.
Ca demande la realisation d'outils speciaux, on ne manage pas aussi facilement un gros serveur que des milliers de petits. Mais ca... c'est mon metier ;)

Et donc j'ai adopté l'approche "google". Qui a de multiple autres avantages amis je ne vais pas me lancer dans des explications barbares : trop long, trop compliqué et ... Secret Industriel ;)

Je me concentre d'abord sur la partie "serveur de sim". La grille etant fonctionnelle, supportant largement la charge pour l'instant, et va de toute facon radicalement changé d'architecture dans le futur, pas la peine de se prendre la tete sur un truc qui sera obsolete dans 6 mois. Cela dit il faut y penser des maintenant, car on sait a quoi ca va ressembler dans le futur.


Grosso-modo, un serveur de sim a besoin de quoi :
- Beaucoup de RAM, en quantité assez fixe par sim.
- Un serveur sql
- Tres peu d'espace disque (tout est sur le serveur sql)
- Du cpu... de facon variable.

Une sim peut utiliser 5% du cpu comme elle peut en utiliser 100%, beaucoup de facteurs entre en jeu.
L'idée est d'avoir x sim par serveur, et de faire evoluer dynamiquement le nombre de sim par serveur selon la charge. Un serveur peut tres bien supporter 10 sims qui foutent rien (a condition d'avoir assez de ram), comme ne pas arriver a supporter une seul sim. Et... ca peut changer au fil des jours, on meme de la journée !

Voir : http://88.191.75.142/SLstat/

Il faut voir gros, et eliminer l'inutile pour reduire les couts au maximum.
A commencer par l'espace disque par sim...

Tous les serveur de sim vont utiliser une baie iSCSI pour le stockage... 1Go de disque par sim c'est largement suffisant, alors pourquoi depenser dans des disques qui font au minimum dans les 80Go.  Economie d'energie, economie de matos, ... d'argent. L'idée c'est bien sur de proposer des sims les moins chere possible ;)

Peu de ram par serveur en general, car le cpu sera a fond bien avant qu'il y ai assez de sim pour bouffer toute la ram dispo.
Cas particulier : Quelques serveurs avec beaucoup de RAM pour gerer des sims qui n'ont pas besoin de CPU. (water sim, etc)


pour les bases SQL de chaques sim (et non pas de la grille, ou de l'inventaire, juste celles des sims).
Une quantité de serveur sql "moyens" avec un systeme de replication et de proxy-cache.

Autrement dit : chaque sim va interroger 2 front-end (redondance), qui vont se charger de faire les requetes et de fournir le resultat au serveur de sim. Qu'il y ai 1, 2, 5000 serveurs sql derriere n'est pas le probleme des sims.
Ca permet un load-balancing dynamique et de faire evoluer l'architecture en fonction de la charge... pas besoin d'un serveur enorme et couteux, ni de se perdre dans des optimisations fastidieuses... Et si un serveur sql plante, ca ne pose strictement aucun probleme grace a la replication. Qu'on tourne avec 50 ou 49 petits serveurs sql ne changera pas grand chose... 2% ... Qu'on tourne avec 2 ou 1 gros serveur ... pose un gros probleme (50% !! )
(autrement dit : plus un serveur est gros, plus dure est la chute)

Configuration dynamique... il faut des outils simple pour migrer une sim d'un serveur a l'autre.
Une grande partie est resolue en externalisant la base de donnée.
Si un serveur plante... on relance les sims sur un autre serveur... aucun probleme de donnée perdue... puisque les données ne sont pas sur le serveur qui a planté.

Actuellement, j'ai 9 sims sur 2 serveurs. Et je peux en rajouter d'autres ... normal, y'a personne :))
Au fur et a mesure que la charge augmentera, il suffira de rajouter des serveurs pour avoir moins de serveurs par sim.

Grosso modo : pour le meme prix, il est possible de faire tourner 10 sims peu chargée.... ou une seule sim chargée ;)

Pourquoi je raconte tout ca ?
Les grandes lignes de l'architecture mise en place n'est pas vraiment secrete...
Les outils et les details le sont, et sur ce point je n'ai rien dit ;)
Les competances pour mettre tout ca en place... m'appartiennent ;)


Donc... d'ici peu, je pourrai proposer l'hebergement de sims sur opensim (francogrid ou grille privée).
A (beaucoup?) moins de 30.000L$ par sim .
Comparés aux 100.000L$ chez LL ;)

Et meme mieux, avec ce systeme dynamique... Un forfait ou vous payez "a la charge".
Par exemple, pour le meme prix : "10 sim peu chargée" ou "1 sim chargée".
Et louer des "unité de charge" supplementaire au fur et a mesure que la charge de chaque sim augmente.

C'est pas beau ca ?

Voir les commentaires

Rédigé par kerunix Flan

Publié dans #y'a de l'idée

Repost0

Publié le 29 Mars 2008

Après avoir medité tranquillement sur des elements par ci par la, je parie sur une ouverture proche de la possibilité d'hebergement de serveurs Secondlife(c)(r)(tm) externes.

Qui tiens les paris ?

Voir les commentaires

Rédigé par kerunix Flan

Publié dans #y'a de l'idée

Repost0

Publié le 24 Mars 2008

... y'a aussi des cloches.

xxx : salut Kleru
xxx : puis je te im voice stp ?
kerunix Flan: non tu peux pas. C'est a quel propos ?
xxx : rien bonne journée
kerunix Flan: hebe
kerunix Flan: bonne journée a toi aussi :)

Voir les commentaires

Rédigé par kerunix Flan

Publié dans #y'a de l'idée

Repost0

Publié le 23 Mars 2008

Je sais pas trop comment le dire, alors je vais etre franc.
Des fois j'en ai un petit peu plein le cul d'être Keru.

Alors il m'arrive de reflechir un peu plus que d'habitude.
Et puis en fait j'en viens a la conclusion que, si je n'etais plus Keru, bein ca me ferai un peu chier.
C'est vrai que des fois ca me pese un peu lourd de repondre pour la 50eme fois de la journée que "oui, merci, je vais bien, et toi ?" ... Mais même si je pense qu'on ne s'y habitue jamais vraiment, au final, quand même, je crois que ca me vexerai un poil. Pas d'être un inconnu anonyme de passage que tout le monde ignore, ca ca arrive a tout le monde un jour ou l'autre, ca m'est deja arrivé et ca m'arrivera encore. Je ne suis pas franchement ce qu'on pourrai appeler une grande star internationale (dieu merci, j'ai deja assez a faire comme ca) ... Non en fait ce qui m'emmerderai vraiment, ca serai d'être oublié. Et ca, c'est pire que d'être inconnu.

Alors rien que pour ca, par amour propre (ma gueule a moi quoi) plus que pour mon desir de changer un monde dont y'en a même pas la moitié qui sont capable de penser a autre chose que leurs miserables gueules ... Par amour propre disai-je, je vais pas lacher l'affaire... Enfin, j'dis ca dans le cas ou il y aurai d'autres personnes que moi a en douter. Et j'espere bien ne pas etre le seul au monde a se demander si on ne serai pas en train de se la jouer "un poil"  don-quichotte vu l'empleur de la tache (enfin... DES taches, parce que y'en a on pourrai les compters pour plusieurs hein ...)


Tiens, et puisqe j'ai tout de même reussi a caser le mot "dieu" dans mon texte, que je suis de toute facon deja de plutot mauvais humeur, et que c'est un poil d'actualité dans le monde RL (bien que cela ne soit pas franchement le sujet du post), j'ai une question pour lui : Quand est ce que dieu remboursera le sang versé en son nom ?

Parce que la quand même... soit c'est un sacré branleur, soit il nous prend vraiment pour des cons !! (ou les 2, mais je ne suis pas a ca pret). Mais surtout, on a déjà assez a faire sans qu'on ai besoin qu'il vienne EN PLUS foutre sa merde. Il pense pas que c'est deja assez le boxon non ?

Allez zou, bonne nuit, ca fait trop longtemps que j'reflechi et ca m'fatigue.

Voir les commentaires

Rédigé par kerunix Flan

Publié dans #y'a de l'idée

Repost0

Publié le 7 Mars 2008

Y'a encore du boulot :p

areamap_001.jpg

Voir les commentaires

Rédigé par kerunix Flan

Publié dans #y'a de l'idée

Repost0

Publié le 20 Février 2008

Le plus important n'est pas ce que sait une personne, mais ce qu'elle fait pour rendre la vie interessante ;)

Voir les commentaires

Rédigé par kerunix Flan

Publié dans #y'a de l'idée

Repost0

Publié le 2 Février 2008

Je viens de decouvrir l'existence d'une 3eme sim "gaia".
Il y a "Gaia TG", qui n'est pas accessible, probablement une sim d'aide sur la Teen Grid. (TG).

Et "Gaia Rising" qui est une sim anglophone... dedié a l'apprentissage, mais qui n'a rien a voir avec l'apprentissage de secondlife par contre.

C'est marrant comment "gaia" est devenu synonyme d'education dans SecondLife, et ca fait extremement plaisir bien sur :p

Voir les commentaires

Rédigé par kerunix Flan

Publié dans #y'a de l'idée

Repost0

Publié le 2 Février 2008

Ca aurait pu s'appeler comme ca, mais finalement ce groupe a décidé de s'appeler "squat". C'est un peu plus moralement correct. En voici la charte :


SL est un panier de crabes où les avatars ne sont que la reproduction, à l'identique des vices de RL.
Nous décidons de ne rien acheter, de s'approprier les biens de ceux qui spéculent et enculent les plus démunis d'entre nous. Squatter est l'unique manière pour vivre librement. Investissons donc des lieux, forçons les serrures, volons les coffres, rackettons ces guettos de bourges! SL doit être libertaire ou ne peut et ne pourra être autre chose qu'une benne d'ordures...
Mort aux propriétés!


Ca met bien dans l'ambience. Aucune revendication, aucune negociation, aucune solution.
Alors comment dire ...

SL n'est pas que la reproduction a l'identique des vices de la RL.
Un avatar est la representation numerique d'un humain, les vices humains sont fort logiquement reproduis dans SL. D'ailleurs ce groupe est une fort belle representation d'un vice humain qui n'est pas cité dans la bible : le parasitisme. Mais pas seulement... Ils n'hesitent pas a dire qu'ils sont des voleurs. La ca tourne au comique ... voleur dans secondlife, j'aimerai bien voir ca.

"nous decidons de ne rien acheter" : grand bien vous en fasse ! Avec un peu de  travail et de volonté vous pourriez faire un bon groupe de buildeur.

Quand au reste... il se passe de commentaire. Ca se resume a "on fait ce qu'on veut, on vous emmerde, et on se cache derriere un vague ideal moral/politique pour justifier notre parasitisme".

Je n'ai pas encore trop pris l'habitude du politiquement correct, et voici ma reponse : "La benne a ordure, c'est votre groupe".

Voir les commentaires

Rédigé par kerunix Flan

Publié dans #y'a de l'idée

Repost0