C’est un outil de file system distribué qui se situe au dessus de la couche FS. A ne pas confondre avec les FS partagés tels que GFS2 ou ocfs2 par exemple. Ici un FS distribué serat en XFS, ext3, … Il permet de faire de la concaténation ou du réplica entre des FS de plusieurs serveurs. Et gére les accés clients concurents.
Mise en place
J’ai mis en place deux VM qui serviront de serveur de fichiers: node1 et node2
Installation du cluster
Packages à installer:
serveurs via yum il suffit d’installer
1 2
yum install glusterfs{-fuse,-server} service glusterd start
clients:
1
yum install glusterfs-fuse
Mise en place du cluster A cette étape glusterfsd tourne sur chaque serveur. Maintenant il les faut les associer en cluster:
1 2 3 4 5 6
# Attacher une machine au pool de stockage (a faire sur les 2) gluster peer probe node1 gluster peer probe node2
# Afficher les machines reconnus sur le cluster gluster peer status
ATTENTION: pour que cela marche il faut bien sur désactiver le firewall ou ouvrir les ports utilisés par gluster fs. Sinon “gluster peer probe” retournerat ue impossibilité de se connecter au noeux.
Création d’un volume partagé
Glusterfs permet trois types de volume (ou une association des 3)
Volumes distribués: Les fichiers sont répartis aléatoirement entre chaque brique de stockage du volume.
Volumes repliqués: Une ou plusieurs copies des fichiers sont disponibles sur plusieurs briques du volume
Volumes agrégés par bande (striped): Les données sont découpées et réparties entre plusieurs briques du volume.
Pour mes besoins, je ne m’interesserait qu’aux volumes repliqués.
Préparation des FS: Il faut créer les FS à partager sur l’ensemble des noeuds
Note: erreur lors de la création du volume lors de la création glusterfsd peut se bloquer en affirmant que le FS est déja un volume glusterfs ou est contenu dans un volume alors que ce n’est pas le cas:
Le volume créé c’est comporté exactement comme attendu lors de mes tests:
Agrandissement: Aprés un agrandissement classique des deux FS /export, le volume monté à eut sa taille également augmentée
Ecriture: Ras lors de l’écriture/suppression/modification dans /mnt/glusterfs ou dans /export. Il faut juste noter que la synchro n’est réalisée qu’a partir du momment ou le volume glusterfs est monté au moins une fois (sinon les modif faites dans /export ne sont pas repercutées sur l’autre noeud).
Tolérance aux pannes: RAS de ce coté aussi. Tout se passe bien tant que l’on fait attention lors du redémarrage (si les deux noeuds sont HS).
Conclusions
Plutôt simple à mettre en place et à administrer (malgrés les problèmes liés aux différences de versions entre serveurs et clients). Ce n’est pourtant pas ce que je cherche. En effet, lorsqu’un serveur est également client on se retrouve avec deux arborescence de montées.
Malheureusement je n’ai pas de serveur de sauvegarde. La sauvegarde se fera donc en locale. Puis serat transférée régulièrement vers un DD externe via rsync
RDIIF-BACKUP
rdiff-backup permet de faire des sauvegardes incrémentales via la librsync. Et peut être utilisé en mode client/serveur, à travers un réseau via ssh. J’ai déjà eut quelques soucis avec cet outil, notamment les différences de versions entre client et serveur. Mais dans le cas d’une sauvegarde locale, ça ne devrait pas poser de problème. Sur une appli fortement chargée, un snapshot LVM pourrait être utilisé le temps de la sauvegarde.
L’utilisation est assez simple. Il faut juste faire attention à l’ordre des inclusions/exclusions
Je ne veux pas faire les sauvegardes avec le compte root mysql. On va donc créer un utilisateur et lui donner les droits nécessaires:
1 2 3
$ mysql -u root -p mysql> CREATE USER 'dump'@'localhost' IDENTIFIED BY 'PASSWORD'; mysql> GRANT SELECT , RELOAD, SHOW DATABASES , LOCK TABLES , SHOW VIEW ON * . * TO 'dump'@'localhost' IDENTIFIED BY 'PASSWORD';
root@ks vhost.d$ ab -kc 10 -t 30 https://wiki.hedwy.fr/ This is ApacheBench, Version 2.3 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/
Server Software: Apache/2.2.15 Server Hostname: wiki.hedwy.fr Server Port: 443 SSL/TLS Protocol: TLSv1/SSLv3,DHE-RSA-AES256-SHA,1024,256
Document Path: / Document Length: 0 bytes
Concurrency Level: 10 Time taken for tests: 30.086 seconds Complete requests: 193 Failed requests: 0 Write errors: 0 Non-2xx responses: 193 Keep-Alive requests: 0 Total transferred: 105821 bytes HTML transferred: 0 bytes Requests per second: 6.41 [#/sec] (mean) Time per request: 1558.854 [ms] (mean) Time per request: 155.885 [ms] (mean, across all concurrent requests) Transfer rate: 3.43 [Kbytes/sec] received
Connection Times (ms) min mean[+/-sd] median max Connect: 47 118 113.4 91 1294 Processing: 925 1395 131.1 1396 1763 Waiting: 925 1391 132.2 1391 1763 Total: 1100 1513 160.7 1505 2441
Percentage of the requests served within a certain time (ms) 50% 1505 66% 1567 75% 1601 80% 1620 90% 1671 95% 1756 98% 1911 99% 2027 100% 2441 (longest request)
J’obtient quelque chose de similaire à ma VM de dev … On doit pouvoir faire mieux.
Tuning Apache
httpd.conf
La première chose à faire est de supprimer le “HostnameLookups” et de configurer le KeepAlive
1 2 3 4 5 6 7 8
# HostnameLookups: Log the names of clients or just their IP addresses HostnameLookups Off # KeepAlive: Whether or not to allow persistent connections KeepAlive On # MaxKeepAliveRequests: The maximum number of requests to allow MaxKeepAliveRequests 100 # KeepAliveTimeout: Number of seconds to wait for the next request from the KeepAliveTimeout 15
La seconde est de configurer le moteur utilisé. Dans mon cas c’est prefork
Ces modifs sont assez importantes dans le cas d’un serveur dédié à une appli et fortement utilisé. Il faut alors paramèterer ces valeurs en fonction de la quantité de mémoire du serveur, du nombre de requête, et de la mémoire prise par une requête.
Virtualhosts
C’est la partie “Directory” des virtualhost qui nous interesse. Ici nous allons supprimer les .htaccess (AllowOverrides None) et supprimer les vérifications sur les liens symboliques (Options FollowSymLinks)
L’ensemble des modifications apache seront prises en comptes après un restart. Dans le cas du wiki les gains seront faibles (le .htaccess était déjà désactivé et pas de liens symboliques). Mais sur d’autres le gain a été appréciable.
Tuning système
Au niveau du sysconfig j’ai suivi les précOS trouvées sur le site d’IBM
1 2 3 4 5 6 7 8 9 10 11 12 13
root@ks $ cat /etc/sysctl.conf # Use TCP syncookies when needed net.ipv4.tcp_syncookies = 1 # Enable TCP window scaling net.ipv4.tcp_window_scaling = 1 # Increase TCP max buffer size net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 # Increase Linux autotuning TCP buffer limits net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 # Increase number of ports available net.ipv4.ip_local_port_range = 1024 65000
cache opcode PHP
Jusqu’à présent les gains n’ont rien de spectaculaires. Et pour cause: le serveur est peu sollicitées, les appli ne sont pas bien lourdes et “ab” montre bien que c’est le traitement PHP qui ralenti les pages.
Je voulais utiliser php-eaccelerator au départ. Mais il y a un problème de dépendances dans le déport REMI. Je suis donc partis sur un des composants de pecl: APC.
root@ks $ ab -kc 10 -t 30 https://wiki.hedwy.fr/ This is ApacheBench, Version 2.3 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/
Server Software: Apache/2.2.15 Server Hostname: wiki.hedwy.fr Server Port: 443 SSL/TLS Protocol: TLSv1/SSLv3,DHE-RSA-AES256-SHA,1024,256
Document Path: / Document Length: 0 bytes
Concurrency Level: 10 Time taken for tests: 30.003 seconds Complete requests: 894 Failed requests: 0 Write errors: 0 Non-2xx responses: 894 Keep-Alive requests: 894 Total transferred: 523346 bytes HTML transferred: 0 bytes Requests per second: 29.80 [#/sec] (mean) Time per request: 335.605 [ms] (mean) Time per request: 33.561 [ms] (mean, across all concurrent requests) Transfer rate: 17.03 [Kbytes/sec] received
Connection Times (ms) min mean[+/-sd] median max Connect: 0 3 24.5 0 302 Processing: 228 332 44.5 329 542 Waiting: 227 331 44.6 329 542 Total: 228 334 49.8 331 650
Percentage of the requests served within a certain time (ms) 50% 331 66% 351 75% 364 80% 370 90% 387 95% 407 98% 469 99% 511 100% 650 (longest request)
Je ne veux pas que mes utilisateurs FTP soient des utilisateurs systèmes. Pour avoir utiliser proftpd je sais qu’il peut utiliser une base d’utilisateurs externe. Je pensais donc l’utiliser avec un serveur LDAP pour gérer les utilisateurs et les groupes. En pratique le module LDAP est plus compliqué que prévu. Surtout vu mes besoins. De plus la plupart des tuto partent sur l’utilisation d’un LDAP avec pam et des users également système …. Je vais donc utiliser VsFTPd avec des utilisateurs virtuels.
Pré-requis
Il faut installer vsftpd et db4-utils (pour la bd user)
Je ne veux pas utiliser des ports différents pour chaque applis. J’ai un nom de domaine. Autant utiliser des sous domaines
Déclaration des noms DNS
La première étape consiste à déclarer chaque sous domaine dans les DNS. OVH permettant depuis quelques temps les wildcard DNS autant en profiter et ne faire la déclaration qu’une seule fois
Modification de /etc/httpd/conf/httpd.conf
C’est le fichier de conf principal d’Apache. Sous CentOs tout se fait quasiment ici…
1 2 3 4 5 6 7
# on vérifie que l'UTF-8 est utilisé par défaut: AddDefaultCharset UTF-8 # On déclare les named virtual host NameVirtualHost *:80 NameVirtualHost *:443 # on utilisera un répertoire spécifique Include conf.d/vhost.d/*.conf
Déclaration des sites
C’est la directive “ServerName” qui est importante. Il faut juste faire attention à deux points:
Le premier VirtualHost déclaré serat celui utilisé par défaut. Je l’ai donc appelé “00-default.conf”
Le DocumentRoot doit exister et être accessible par apache ;) La déclaration d’un site ressemble donc à
Installation classique. Le dépôt remi donne accès à la version 5.5 au lieu de la 5.1 J’ai un peu modifier /etc/my.cnf. Notamment pour modifier le stockage des bases Une fois l’install terminée deux étapes sont nécessaires:
lancer /usr/bin/mysql_secure_installation qui va entre autre changer le mot de passe admin et supprimer les users anonymes (sinon on peut avoir des problèmes de connections)
Lancer MySQL automatiquement au reboot
1
chkconfig --levels 235 mysqld on
PHP
De base CentOs fournit une version de PHP qui est non maintenue et pourvue de failles de sécurités….; Il est nécessaire d’utiliser une source externe pour avoir des packages plus récents. J’ai donc utilisé le dépôt REMI
Vu l’augmentation de 1&1 et les nouvelles offres kimsufi d’ovh je me suis décidé à passer le pas et à avoir mon propre dédié
Avantages:
J’ai les version de php, ruby, tomcat… que je veux
Je peux avoir autre chose que des services web (openvpn)
…
Inconvénients:
Je dois tout paramétrer et sécuriser
Quelle offre choisir?
Au départ deux KS 2G me semblaient être une bonne idée. Ça fait une puissance correcte pour ce que je veux faire. Et avec deux fois 500G de DD je peux faire du backup (pourquoi pas avec DRBD, vu l’utilisation du dédié ce ne sera pas la bande passante le facteur limittant) Bon … au momment de passer commande ils passent “sold out”. Et vu le forum de toute façons il m’aurait fallut 2 mois pour être livré. Ce n’était pas prévu, mais un KS 4G fera l’affaire (pour le même tarif que mon mutualisé actuel)
Réception du serveur
Matériel
Les spécif du serveur ayant changé depuis ma commande (j’avais 2 cores de garanti, ce qui n’est plus le cas). J’avais un peu peur:
Nb de cores:
1 2 3 4 5
[root@ks ~]$ cat /proc/cpuinfo|grep "core id" core id : 0 core id : 0 core id : 1 core id : 1
2 coeurs et 4 threads :)
1 2
[root@ks ~]$ cat /proc/cpuinfo|grep "model name" model name : Intel(R) Atom(TM) CPU N2800 @ 1.86GHz
perf dd
1 2 3
root@ks3287966 ~$ hdparm -t /dev/sda1 /dev/sda1: Timing buffered disk reads: 524 MB in 3.00 seconds = 174.60 MB/sec
L’OS
J’ai commandé une centos6. Voyons voir a quoi ressemble cette souche ovh
le kernel
1 2
root@ks ~$ ls /boot/|grep bzImage bzImage-3.8.13-xxxx-grs-ipv6-64
J’en avais vaguement entendu parler: ovh utilise son propre noyau. Plus récent que celui de centos. Ce qui explique certains messages d’erreurs, comme lors de la relance d’IPtables.
De plus grub semble être aussi personnalisé. Un “update-grub2” après un “yum update” du kernel me laisse le kernel d’ovh (car plus récent) -> cf ftp d’ovh
Je verrais pour l’instance bind chrootée plus tard. On vois un partitionnement à l’ancienne. Avec 950Go dans /home!!! C’est vraiment étrange. Tant qu’à avoir ses propres souches avec un kickstart, autant faire quelque chose de plus “pro” avec du LVM. La première étape consistera donc à supprimer /dev/sda2 pour un faire un pv!
Le compte root
Avant le premier reboot une clés ssh est présents dans .ssh/authorized_keys. Elle a disparue après un reboot. Le compte root est accessible directement depuis ssh. J’ai donc ajoute le “PermitRootLogin no” dans sshd_config. J’ai créé un utilisateur et je lui ai donné les droits sudo qui vont bien.
J’aurais aussi pu déplacer ssh vers un autre port pour sécuriser le tout. Mais ce n’est pas efficace. Je verrais peut être plus tard pour du port knocking
La crontab
Une petite particularité: ovh insère une ligne “*/1 * * * * root /usr/local/rtm/bin/rtm” dans /etc/crontab. C’est assez inhabituel de trouver ca à cet endroit. Je trouve cet outil pratique, et je n’ai pas envie de le déplacer en crontab root, je l’ai donc laissé la ou il est.
Hostname
Le dédié vient avec un hostname définit par ovh. Le changer ne pose pas de difficulté.
YUM
RAS c’est ce qu’il y a de plus classique. J’ai désactivé tous les dépôts en dehors des correctifs de sécurité. Et j’ai ajouté les dépôts EPEL et REMI (pour les maj php et mysql). Au besoin je les activerais avec un “yum –enablerepos=”
Iptables, SELinux et fail2ban
Iptables et SELinux sont présents et actifs. Surtout ne pas les désactiver …
Vu les attaques sur le port 22 quelques heures après la mise en service du serveur, j’ai installé fail2ban. La configuration est assez simple. Tout se fait depuis /etc/fail2ban/jail.conf. Certains services sont pré configurés, il suffit de les activer. De base au bout de 3 échec, l’Ip est ban 10h. Je n’ai pas modifié ces valeurs. E tant mieux, avec une confusion de DNS entre le mutualisé et le dédié, je me suis ban quelques heures aprés l’activation de fail2ban.
Migration DNS
Avant de commencer à réellement utiliser le dédié il faut transférer les DNS vers OVH (ce n’est pas obligatoire, mais vu que je veux supprimer tout ce qui est chez mon ancien hébergeur). Utiliser une IP n’est pas ce qu’il y a de plus pratique. Et j’ai besoin de “named virtual host”. L’opération est assez simple. Il suffit de trouver comment désactiver la protection et trouver le code de transfert chez l’ancien hébergeur. Ça a été assez simple et rapide pour le .fr. Par contre pour le .net il m’a fallu 2 mails de confirmation et attendre 5jours!
C’est un outil permettant de gérer en tant que simple user les différentes versions de ruby, ainsi que les gems. Il est ainsi facile d’utiliser à la fois ruby1,8/rails2.3 et ruby1,9/rails3.0. Il s’occupe entre autre de mettre à jour les différents path et variables d’environnement de ruby (basculer l’emplacement des gems de /usr/lib/ruby/gems/1.8/gems vers ~/.rvm/gems/ruby-1.9.2-p0 par exemple). Autant dire que sur fedora et en simple user, cet outil facilite la vie
Installation
voir https://rvm.io/rvm/install ne pas oublier de modifier le bashrc après install (suivre les indications du script d’install)
Pour mettre à jour:
1 2
rvm update --head rvm reload
Installer une nouvelle version de ruby
rvm procède à une compilation, les librairies (paquets -devel) et outils de compilation doivent donc être présent
Installer ruby 1.9.2
1
rvm install 1.9.2
Sélectionner la version de ruby par defaut (il est également possible de créer des profil spécifiques):
1 2 3 4 5 6 7
$rvm list
rvm rubies ruby-1.8.7 ruby-1.9.2-p0 [ x86_64 ]
$rvm --default use 1.9.2
Supprimer une version de ruby Il peut être necessaire de supprimer une version de ruby (nottament pour pouvoir la recompiler après ajout d’une nouvelle librairie (notamment openssl-devel)))
1 2
rvm remove 1.9.2 rvm cleanup all
Gérer les gems: RVM modifie également l’emplacement ou ruby cherche les gems. Normalement, ca ne change rien à leur utilisation, les path étant correctement modifiés, mais rvm peut également s’en occuper: Pour installer rails 3.0:
root@Hades:rootfs$ cat /appli/lxc/containers/intranet/intranet.lxccfg lxc.tty = 4 lxc.pts = 1024 lxc.network.type = veth lxc.network.flags = up #lxc.network.link = virbr0 lxc.network.link = br0 lxc.network.name = veth0 lxc.network.mtu = 1500 lxc.rootfs = /appli/lxc/containers/intranet/rootfs lxc.cgroup.devices.deny = a # /dev/null and zero lxc.cgroup.devices.allow = c 1:3 rwm lxc.cgroup.devices.allow = c 1:5 rwm # consoles lxc.cgroup.devices.allow = c 5:1 rwm lxc.cgroup.devices.allow = c 5:0 rwm lxc.cgroup.devices.allow = c 4:0 rwm lxc.cgroup.devices.allow = c 4:1 rwm # /dev/{,u}random lxc.cgroup.devices.allow = c 1:9 rwm lxc.cgroup.devices.allow = c 1:8 rwm lxc.cgroup.devices.allow = c 136:* rwm lxc.cgroup.devices.allow = c 5:2 rwm # rtc lxc.cgroup.devices.allow = c 254:0 rwm
Attention:
Un container n’est pas qu’un bootstrap
La création de container d’un OS utilisant #F00:upstart (ubuntu) ne fonctionne pas vraiment (possible avec quelques manip)
KVM
Convertir une image vmware vers qcow2
Malheureusement il ne semble pas possible de convertir une image vmware splittée (image.vmdk, image-s001.vmdk, image-s002.vmdk). La solution est de concaténer l’image en un seul fichier:
installer les outils vmware (disponible avec vmware-server, workstation,…)
Le gros désavantage, c’est qu’il nécessaire d’avoir de disponible au moins deux fois la taille de l’image d’origine, afin de contenir les images converties
Monter une image qcow2:
Une image qcow2 se rapproche d’un disque dur (table de partitions et multiples partitions). Ce n’est pas donc pas directement montable. La solution consiste à passer par (nbd):
Charger le module nbd
1
modprobe nbd
Rendre l’image joignable joignable via /dev/nbd0:
1
qemu-nbd --connect=/dev/nbd0 mon_image.qcow2
Un fdisk sue /dev/nbd0 devrait alors montrer les différentes partitions, celles ci étant accessibles via /dev/nbd0p1, /dev/nbd0p2, ….
Si les entrées /dev/nbd0p* n’apparaissent pas:
1 2 3 4 5
[root@Lufy:~]# kpartx -a -v /dev/nbd0 add map nbd0p1 (253:5): 0 11550672 linear /dev/nbd0 63 add map nbd0p2 (253:6): 0 2 linear /dev/nbd0 11550735 add map nbd0p5 (253:7): 0 2249037 linear /dev/nbd0 11550798 add map nbd0p6 (253:8): 0 7164927 linear /dev/nbd0 13799898
Ce qui permet de récupérer les majeurs et mineurs pour créer les entrées via mknod:
1 2 3 4
mknod /dev/nbd0p1 b 253 5 mknod /dev/nbd0p2 b 253 6 mknod /dev/nbd0p2 b 253 7 mknod /dev/nbd0p2 b 253 8
Attention: éviter tout accès concurrentiel sur l’image ainsi montée!
RPM
Installer les outils
1
yum install rpmdevtools yum-utils
Initialiser l’environnement
1 2
su - rpmmake rpmdev-setuptree
Générer un fichier spec vide
1 2
$ cd rpmbuild/SPECS/ $ rpmdev-newspec
Compiler le RPM
1
rpmbuild -ba fichier.spec
#SElinux
Restaurer le contexte d’un répertoire:
restorecon -RvF
Désactiver
1
# setenforce 0
Pour le désactiver définitivement, il faut éditer le fichier /etc/selinux/config, et remplacer la ligne commençant par « SELINUX=…… » par « SELINUX=disabled » puis rebooter.
Les tput set les couleurs Les [ et ] délimitent des zones de “zero-width” ce qui empêche le bug en cas de ligne trop longues. Le $ met le bon de caractère de fin en fonction de root ou non root
Attention: certains FS (comme XFS) ne supportent pas d’être réduit Principe: on réduit dabord le FS, puis le LV. Enfin on augmente le FS pour prendre toute la place du LV
[root@Nami:/home/titi/Téléchargements]$ lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert lvvmware VgData -wi-a- 90,00g [root@Nami:/home/partage/vm/base/nu]$ df -k . Sys. de fichiers 1K-blocs Utilisé Dispo. Uti% Monté sur /dev/mapper/VgData-lvvmware 92891128 44056884 44116036 50% /home/partage [root@Nami:/home] umount /home/partage [root@Nami:/home]$ fsck /dev/mapper/VgData-lvvmware fsck de util-linux-ng 2.17.2 e2fsck 1.41.10 (10-Feb-2009) /dev/mapper/VgData-lvvmware a été monté 119 fois sans avoir été vérifié, vérification forcée. Passe 1 : vérification des i-noeuds, des blocs et des tailles Passe 2 : vérification de la structure des répertoires Passe 3 : vérification de la connectivité des répertoires Passe 4 : vérification des compteurs de référence Passe 5 : vérification de l'information du sommaire de groupe /dev/mapper/VgData-lvvmware : 297/5898240 fichiers (27.3% non contigus), 11384399/23592960 blocs [root@Nami:/home]# resize2fs /dev/mapper/VgData-lvvmware 48G resize2fs 1.41.10 (10-Feb-2009) En train de retailler le système de fichiers sur /dev/mapper/VgData-lvvmware à 12582912 (4k) blocs. [root@Nami:/home]# lvresize -L 50G /dev/mapper/VgData-lvvmware WARNING: Reducing active and open logical volume to 50,00 GiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce lvvmware? [y/n]: y Reducing logical volume lvvmware to 50,00 GiB Logical volume lvvmware successfully resized [root@Nami:/home]# resize2fs /dev/mapper/VgData-lvvmware resize2fs 1.41.10 (10-Feb-2009) En train de retailler le système de fichiers sur /dev/mapper/VgData-lvvmware à 13107200 (4k) blocs. Le système de fichiers /dev/mapper/VgData-lvvmware a maintenant une taille de 13107200 blocs. [root@Nami:/home]# mount /dev/mapper/VgData-lvvmware /home/partage/ [root@Nami:/home]# df -k /home/partage/ Sys. de fichiers 1K-blocs Utilisé Dispo. Uti% Monté sur /dev/mapper/VgData-lvvmware 51606140 44052916 4932000 90% /home/partage [root@Nami:/home]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert lvvmware VgData -wi-ao 50,00g
partitionnement “thin”
Créer un pool
1
lvcreate -L 100M -T vg001/mythinpool
Créer une partition logique dans le pool
1
lvcreate -V1G -T vg001/mythinpool -n thinvolume
Astuces
Faire un controlM, , …
Pour taper ce genre de caractère il faut faire : CTRL-V, puis CTRL-M