Configurer le raid sur un HG 2011 hybrid by OVH
Après des très long mois sans post, me voici de retour, avec un nouveau joujou, un HG 2011 Hybrid de chez OVH. Un véritable monstre:
- Intel Bi Xeon E5630 2x4x2(HT)x2.53+ GHz
- 48 Go DDR3 ECC
- 64 bits
- 2x 120 Go -Intel SSD 320 + 2x 1000 Go – SAS
- Mega RAID 6 Gb/s avec batterie de secours - RAID HARD 0/1/5/6/10/50/60
- 10 Gbps Lossless
Bref, de quoi faire un très joli serveur de virtualisation, entre autre. Il faut maintenant le configurer, et le préparer pour qu’il soit pleinement fonctionnel. En effet, une fois livré, l’installation ne se fait que sur les disques SSD. Il faut donc configurer les disques SAS.
De plus, comme j’utilise proxmox pour ma virtualisation, je vais préparer mon infrastructure, afin d’avoir:
- 90 Go pour mon / sur sda1 (SSD)
- 30Go pour le SWAP sur sda2 (SSD)
- 1To pour les VM (/var/lib/vz) sur sdb1 (SAS)
Cette configuration permets d’avoir un SWAP très rapide, et donc pouvoir virtualiser la RAM très facilement, en limitant les pertes. pareil pour le serveur principal, qui sera sur le SSD, donc très rapide et fiable. Sachant que tant sda que sdb seront en raid 1 (pour le moment, je passerais sdb en raid 5 ou 6 le jour ou j’aurais besoin de plus d’espace, ce que permets les HG d’OVH).
Nous allons donc configurer notre sdb afin qu’il soit utilisable sur notre système.
On commence par faire une mise à jour du système
aptitude update && aptitude safe-upgrade
On utilise ensuite parted pour formater le disque
aptitude install parted # parted /dev/sdb GNU Parted 1.8.8 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) #mklabel New disk label type? [gpt]? #gpt (parted) #mkpart Partition name? []? #vz File system type? [ext2]? #ext3 Start? #0 End? #-1 (parted) #set 1 lvm on (parted) #p Model: LSI MR9260-4i (scsi) Disk /dev/sdb: 1000GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 17,4kB 1000GB 1000GB vz lvm (parted) #quit
Maintenant que nous avons notre partition qui est prête, nous devons la monter, et la préparer pour LVM (je me suis aidé du blog de Toorop pour cette partie: http://blog.toorop.fr/howto-openvz-ovh-hybrid-ssd/, avec cependant quelques différences, liée au système utilisé).
On commence par créer le volume logique (sda étant le raid SSD, nous utilisons sdb pour nos disques SAS):
pvcreate /dev/sdb1
Puis le groupe de volume:
vgcreate vzvg /dev/sdb1
On vérifie que ce soit bien fait, et on valide l’espace que l’on a disponible:
vgdisplay
Affiche chez moi:
vgdisplay
— Volume group —
VG Name vzvg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size 931,00 GB
PE Size 4,00 MB
Total PE 238335
Alloc PE / Size 230400 / 900,00 GB
Free PE / Size 7935 / 31,00 GB
VG UUID 8MCCFR-xccN-WFdz-rTyc-Bg57-73y7-ue0TSY
Pas mal la bête… On va donc utiliser 900Go pour notre partition:
lvcreate -L 600G -n vz vzvg
On formate en ext3 (choix personnel. Vous pouvez faire du reiserfs, ou autre. J’aurais préféré ext4, mais dans Lenny, c’est galère…):
mkfs.ext3 /dev/vzvg/vz -l vz
Il nous reste plus qu’a monter notre partition au bon endroit (ce qui signifie cependant récupérer nos fichier précédent):
mkdir /mnt/tmp mount /dev/sysvg/vz /mnt/tmp cp -pr /var/lib/vz/* /mnt/tmp/ unlink /vz rm -rf /var/lib/vz/*
On ajoute les données dans fstab:
/dev/vzvg/vz /var/lib/vz ext3 defaults 1 2
On monte le tout:
mount -a
Et on supprime ce qui n’est plus nécessaire:
umount /mnt/tmp rm -Rf /mnt/tmp
On recrée le lien symbolic pour Opnevz:
ln -s /var/lib/vz /vz
Il nous reste plus qu’a tester le tout:
vzctl create 101 --ostemplate debian-5.0-minimal_5.0_i386 Creating container private area (debian-5.0-minimal_5.0_i386) Performing postcreate actions Container private area was created vzctl start 101 Starting container ... Container is mounted
Et voila… Un petite bête de course entre les mains… Il ne reste plus qu’a tout configurer et transférer
Connexion 3g – changement d’ip a chaque connexion…
Si comme moi vous devez vous connecter avec votre téléphone portable (je le fais, en attendant de recevoir mojn ADSL au bureau…), vous avez peut être le même souci… Bouygue (via l’offre B and You) me propose un 3g en moden illimité… mais dont l’ip change quasi à chaque pas… Et comme certains sites ont des sessions basées sur l’ip, c’est vraiment la galère…
La solution? Elle est simple… Il vous suffit d’avoir un serveur dédié (en l’occurence, je passe par un geovks mis gratuitement à disposition par OVH), et de lancer cette commande en ligne de commande (et oui, désolé, cette astuce ne fonctionne que sous Linux et Mac… Mais je vous donnerais un lien en fin d’article pour les personnes sous Windows, promis!):
ssh -D XXXXX user@ip-du-serveur-distant
Avec:
XXXX le port que vous souhaitez en local
user: le nom du user pour vous connecter
ip-du-serveur-distant: l’ip de votre serveur
Et dans votre navigateur, vous configurer le proxy en mode “socks”, avec le port choisi (XXXX). A partir de la, votre navigateur va passer par le tunnel SSH pour accéder à internet. Ce qui permets en même temps de sécuriser les données sur une certaine distance.
Et si vous ne voulez pas entre votre mot de passe à chaque fois que vous lancez la commande, pensez à un ssh-copy-id (après avoir générer les clés, évidemment).
Bon surf
P.S pour les windowsien: http://adioss.fr/2010/01/16/tunnel-ssh-et-proxy-socks/
Récupérer fichiers récursif via ftp en ligne de commande
Oula, ca fait un titre long… Je ne savais pas comment l’expliciter mieux… J’avais un besoin particulier, récupérer un site d’environ 20Go sur un serveur distant, depuis un de mes serveurs… C’est à dire pas d’interface disponible, et uniquement un accès ftp (certains hébergeurs ne connaissent pas le SSH chroot…). Ok, soit. Je test mget… Pas de bol, je dois faire chaque répertoire à la main…
Et la, la commande magique…
wget -r -N -l 100 ftp://user:pass@url...
Et ca fonctionne, et plutôt pas mal J’ai eu un pic a 60Mbps au début, et la, je suis redescendu à 30Mbps. Surement une limitation de l’hébergeur distant (ayant une carte 10Gbps et 1Gbps de bande passante sur mon dédié, je doute que ce soit moi…). Reste plus qu’a patienter…
Edit Maj. J’ai modifié un peu ma commande, en rajoutant -N -l 100 dans les paramètres. -N me permets de ne transférer que les fichiers mis à jour, et -l lui dit de naviguer sur 100 niveau. Cela me permets de mettre a jour un site de 5Go en moins de 10min (ayant peu de modification, évidemment)
Mysql-server distant – problème de timeout
Petite astuce rapide…
Si comme moi, vous avez des problèmes de latences importante dans le cas d’un accès a un serveur mysql distant (c’est a dire hébergeur sur un autre serveur dédié), c’est peut être lié à un problème de résolution DNS. Pour cela, rien de plus simple, il faut ajouter:
skip-name-resolve
dans votre /etc/mysql/my.cnf. Un petit redémarrage, et ça devrait résoudre le problème!
Mise en place d’un cache DNS local sous Debian Squeeze
Suite à une discussion sur sd-pro, j’ai décidé de mettre en place un cache dns sur mes serveurs. L’idée étant de pouvoir rester indépendant des serveurs sur lequel je suis (je fais de la virtualisation, et j’ai des serveurs chez plusieurs hébergeur), sans devoir tout reconfigurer. Sur conseil de Toorop (décidément :p), je me suis lancé dans la configuration de dbndns, qui est sensé être dans les paquets Debian…
Sensé, c’est bien le mot… Il était sous Lenny, mais plus sous Squeeze. Un bug a priori, selon les rapports? Pas grave, on va l’installer a la main
. mais toujours en paquet deb. je préfère.
Une petite recherche me permets de le trouver: http://packages-holter.debian.org/fr/sid/i386/dbndns/download. On va donc le télécharger:
wget http://ftp.fr.debian.org/debian/pool/main/d/djbdns/dbndns_1.05-8_i386.deb
L’installer:
dpkg -i dbndns_1.05-8_i386.deb
Le configurer:
groupadd dnscache
useradd -g dnscache dnscache
useradd -g dnscache dnscachelog;
dnscache-conf dnscache dnscachelog /etc/dnscache 127.0.0.1
L’activer via les daemontools (si pas installé, aptitude install daemontools puis mkdir /etc/service):
ln -s /etc/dnscache /etc/service/
exec /usr/bin/svscanboot &
On souhaite maintenant qu’il soit pris en compte à chaque fois que notre machine démarre. Ce qui peut arriver en cas de problème ou autre. Le souci, c’est que le resolv.conf est réecrit par le dhcp. On va donc le gérer nous même. On installe pour cela resolvconf:
aptitude install resolvconf
Et on modifie la configuration de notre carte réseau pour qu’elle gère le resolv.conf (on édite le fichier /etc/network/interfaces). On ajoute pour cela les 2 lignes suivantes à notre carte réseau:
dns-nameservers 127.0.0.1
dns-search localhost
On enregistre, puis on redémarre notre interface (/etc/init.d/networking restart). Et on doit voir dans le fichier /etc/resolv.conf:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND — YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
search localhost
Parfait. Il ne reste plus qu’a tester:
root@onet:~# dig google.com
; <<>> DiG 9.7.3 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45334
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION:
;google.com. IN A;; ANSWER SECTION:
google.com. 300 IN A 173.194.67.105
google.com. 300 IN A 173.194.67.99
google.com. 300 IN A 173.194.67.103
google.com. 300 IN A 173.194.67.106
google.com. 300 IN A 173.194.67.104
google.com. 300 IN A 173.194.67.147;; Query time: 17 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Feb 8 14:50:43 2012
;; MSG SIZE rcvd: 124
17ms pour la résolution avec Google (ce qui n’est pas énorme). On tente une seconde fois la même commande:
root@onet:~# dig google.com
; <<>> DiG 9.7.3 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20409
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION:
;google.com. IN A;; ANSWER SECTION:
google.com. 298 IN A 173.194.67.105
google.com. 298 IN A 173.194.67.99
google.com. 298 IN A 173.194.67.103
google.com. 298 IN A 173.194.67.106
google.com. 298 IN A 173.194.67.104
google.com. 298 IN A 173.194.67.147;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Feb 8 14:50:45 2012
;; MSG SIZE rcvd: 124
Ca me semble dur de faire mieux
. Et voila, un cache DNS de mis en place. Vous pouvez évidemment le faire sur une machine dédiée à cela, et faire pointer votre resolv.conf dessus!
In: Debian Squeeze, Informatique, Linux
