Catégorie : Mémo

6 avril 2017 /

Création d’un volume raid de niveau 5 nommé /dev/md0 , avec 4 disques de 4To, /dev/sdc /dev/sdd /dev/sde et /dev/sdf .

Une fois les disque installé physiquement sur le système, nous pouvons directement lancer la création du volume raid:

mdadm --create --verbose /dev/md0 --level=5 --raid-devices=4 /dev/sdc /dev/sdd /dev/sde /dev/sdf

On peut voir l’état d’avancement de la création du volume via cette commande:

mdadm --detail /dev/md0

/dev/md0:
Version : 1.2
Creation Time : Tue Apr 4 18:09:15 2017
Raid Level : raid5
Array Size : 11720661504 (11177.69 GiB 12001.96 GB)
Used Dev Size : 3906887168 (3725.90 GiB 4000.65 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent

Intent Bitmap : Internal

Update Time : Tue Apr 4 19:43:38 2017
State : clean, degraded, recovering
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1

Layout : left-symmetric
Chunk Size : 512K

Rebuild Status : 26% complete

Name : starmind:0 (local to host starmind)
UUID : ea7dacbd:06f0d43b:4c5e76b1:c3db7531
Events : 1058

Number Major Minor RaidDevice State
0 8 32 0 active sync /dev/sdc
1 8 48 1 active sync /dev/sdd
2 8 64 2 active sync /dev/sde
4 8 80 3 spare rebuilding /dev/sdf

On voit bien que le volume raid est en RAID5, avec 4 disques de 4000GB formant un volume de 12000GB.

Le temps de la construction du volume raid, mdadm va automatiquement mettre le volume en mode degraded en mettant un disque en spare rebuilding, cela est normal. C’est plus rapide pour construire la parité du volume Raid5 (cependant, on peut s’en passer avec l’option –force).

On peut voir également les informations des disques:

mdadm -E /dev/sd[c-f]

/dev/sdc:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : ea7dacbd:06f0d43b:4c5e76b1:c3db7531
Name : starmind:0 (local to host starmind)
Creation Time : Tue Apr 4 18:09:15 2017
Raid Level : raid5
Raid Devices : 4

Avail Dev Size : 7813775024 (3725.90 GiB 4000.65 GB)
Array Size : 11720661504 (11177.69 GiB 12001.96 GB)
Used Dev Size : 7813774336 (3725.90 GiB 4000.65 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262056 sectors, after=688 sectors
State : clean
Device UUID : a07baebb:348c86b8:534bddee:3532843a

Internal Bitmap : 8 sectors from superblock
Update Time : Tue Apr 4 19:45:26 2017
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : 4f0caef1 - correct
Events : 1078

Layout : left-symmetric
Chunk Size : 512K

Device Role : Active device 0
Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)

/dev/sdd:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : ea7dacbd:06f0d43b:4c5e76b1:c3db7531
Name : starmind:0 (local to host starmind)
Creation Time : Tue Apr 4 18:09:15 2017
Raid Level : raid5
Raid Devices : 4

Avail Dev Size : 7813775024 (3725.90 GiB 4000.65 GB)
Array Size : 11720661504 (11177.69 GiB 12001.96 GB)
Used Dev Size : 7813774336 (3725.90 GiB 4000.65 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262056 sectors, after=688 sectors
State : clean
Device UUID : 420546c7:1341a8f9:9aee0da6:db06d898

Internal Bitmap : 8 sectors from superblock
Update Time : Tue Apr 4 19:45:26 2017
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : b14a6560 - correct
Events : 1078

Layout : left-symmetric
Chunk Size : 512K

Device Role : Active device 1
Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)

/dev/sde:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : ea7dacbd:06f0d43b:4c5e76b1:c3db7531
Name : starmind:0 (local to host starmind)
Creation Time : Tue Apr 4 18:09:15 2017
Raid Level : raid5
Raid Devices : 4

Avail Dev Size : 7813775024 (3725.90 GiB 4000.65 GB)
Array Size : 11720661504 (11177.69 GiB 12001.96 GB)
Used Dev Size : 7813774336 (3725.90 GiB 4000.65 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262056 sectors, after=688 sectors
State : clean
Device UUID : d85f5ebe:f6438e74:d7791ba2:264f4f27

Internal Bitmap : 8 sectors from superblock
Update Time : Tue Apr 4 19:45:26 2017
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : adcd9661 - correct
Events : 1078

Layout : left-symmetric
Chunk Size : 512K

Device Role : Active device 2
Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)

/dev/sdf:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x3
Array UUID : ea7dacbd:06f0d43b:4c5e76b1:c3db7531
Name : starmind:0 (local to host starmind)
Creation Time : Tue Apr 4 18:09:15 2017
Raid Level : raid5
Raid Devices : 4

Avail Dev Size : 7813775024 (3725.90 GiB 4000.65 GB)
Array Size : 11720661504 (11177.69 GiB 12001.96 GB)
Used Dev Size : 7813774336 (3725.90 GiB 4000.65 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Recovery Offset : 2122394472 sectors
Unused Space : before=262056 sectors, after=688 sectors
State : clean
Device UUID : ffe28207:d0c18a67:34dca207:0c8354e6

Internal Bitmap : 8 sectors from superblock
Update Time : Tue Apr 4 19:45:31 2017
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : 8cfc5917 - correct
Events : 1079

Layout : left-symmetric
Chunk Size : 512K

Device Role : Active device 3
Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)

Il ne nous reste plus qu’a surveiller la construction du volume raid via le fichier /proc/mdstat :

watch -n1 cat /proc/mdstat

Toutes les 1,0s: cat /proc/mdstat Tue Apr 4 19:50:05 2017

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdf[4] sde[2] sdd[1] sdc[0]
11720661504 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [UUU_]
[=====>...............] recovery = 28.3% (1108992916/3906887168) finish=267.2min speed=174480K/sec
bitmap: 0/30 pages [0KB], 65536KB chunk

unused devices: <none>

Une fois arrivé à 100%,on vérifie l’etat du volume raid:

mdadm --detail /dev/md0

/dev/md0:
Version : 1.2
Creation Time : Wed Apr 5 07:29:45 2017
Raid Level : raid5
Array Size : 11720661504 (11177.69 GiB 12001.96 GB)
Used Dev Size : 3906887168 (3725.90 GiB 4000.65 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent

Intent Bitmap : Internal

Update Time : Wed Apr 5 15:32:03 2017
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 512K

Name : starmind:0 (local to host starmind)
UUID : 7d6b1302:99b9e5f2:798c0e9d:6dde9fc0
Events : 4853

Number Major Minor RaidDevice State
0 8 32 0 active sync /dev/sdc
1 8 48 1 active sync /dev/sdd
2 8 64 2 active sync /dev/sde
4 8 80 3 active sync /dev/sdf

Si tout est bon, on régénère le fichier de configuration :

/usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf

Une fois la configuration regenerée, on va éditer le fichier de configuration pour monitorer le volume raid etre ainsi être avertie en cas de disque défaillant:

vi /etc/mdadm/mdadm.conf

Puis on renseigne la variable MAILADDR avec l’adresse courriel voulu.

MAILADDR utilisateur@courriel.fr

Pour que cela fonctionne, il faudra bien sur avoir configuré le système pour qu’il puisse envoyer des courriels.

 

Si un disque devient défectueux, il suffit de le retirer physiquement et de le remplacer puis de faire cette commande (ici pour le remplacement de /dev/sdc):

mdadm --manage /dev/md0 --add /dev/sdc

On peut maintenant voir le volume raid se reconstruire:

mdadm --detail /dev/md0

9 mars 2017 /

Pour définir un proxy dans git:

git config --global http.proxy http://utilisateur:motdepasse@adresse.ip.proxy:3128

  • changer utilisateur par le login de connexion au proxy
  • changer motdepasse par le passwd du login connexion au proxy
  • changer adresse.proxy par l’adresse ip du proxy
  • changer 3128 par le port utilisé par le proxy

Si il n’y a pas besoin de s’authentifier sur le proxy, la commande prendra cette forme:

git config --global http.proxy http://adresse.ip.proxy:3128

SI vous avez besoin de le retirer:

git config --global --unset http.proxy

Pour voir la configuration courante:

git config --global --get http.proxy

7 mars 2017 /

Pour indenter plusieurs ligne en meme temps avec VI/VIM, on commence par ouvrir le fichier:

vi fichier

Puis pour indenter 30 lignes depuis la position du curseur, on tape depuis le mode commande:

30>>

Et voila!

5 mars 2017 /

Un petit mémo pour mettre en place une connexion Openvpn, avec reconnexion auto.

On commence par stocker ses identifiants de connexion ici:

vi /etc/openvpn/starmate.pass

login
passwd

On sécurise le fichier:

chmod 700 /etc/openvpn/starmate.pass

On télécharge les fichiers de configuration de HMA:

mkdir /etc/openvpn/hma
wget -t 3 -T 20 -r -A.ovpn -nd --no-parent -e robots=off https://vpn.hidemyass.com/vpn-config/UDP/ -P /etc/openvpn/hma

On declare où se trouve le couple login/passwd dans les fichiers de configuration openvpn :

sed -i 's/auth-user-pass/auth-user-pass \/etc\/openvpn\/starmate.pass/g' /etc/openvpn/hma/*ovpn

On relance le service

service openvpn stop
service openvpn start

On peut tester la connexion avec cette commande

openvpn /etc/openvpn/hma/Netherlands.Amsterdam.UDP.ovpn

Pour automatiser cela, nous allons faire un petit script pour cron:

vi /etc/openvpn/vpn.sh

#!/bin/bash
VPN=`ifconfig | grep tun0 > /dev/null 2>&1 ; echo $?`
if [ "$VPN" -eq "1" ];
then
openvpn /etc/openvpn/hma/Netherlands.Amsterdam_LOC2S5.UDP.ovpn
fi

chmod +x /etc/openvpn/vpn.sh

Et la ligne crontab pour une exécution toutes les minutes:

vi /etc/crontab

* * * * * root /etc/openvpn/vpn.sh > /dev/null 2>&1

Ou alors, encore mieux, créer un service:

On commence par copier le fichier de connexion désiré dans /etc/openvpn :

cd /etc/openvpn/hma
cp -p /etc/openvpn/hma/Netherlands.Amsterdam.UDP.ovpn /etc/openvpn/Netherlands.conf

Puis on créer le service.

systemctl enable openvpn@Netherlands.service
systemctl start openvpn@Netherlands.service

La partie suivant directement le @, « Netherlands« , est le nom du fichier de connexion que l’on à copié précédemment.

On peut vérifier son adresse publique:

dig +short myip.opendns.com @resolver1.opendns.com

3 mars 2017 /

Pour voir les adresses qui ne répondent pas au ping sur 192.168.0.0/24

Un petit script à faire:

#!/bin/sh
HOST=1
while [ $HOST -lt 255 ];do
ping -q -c 1 -w 1 192.168.0.$HOST > /dev/null
RESULT=$(echo $?)
if [ $RESULT -eq 1 ]; then
printf 192.168.0.$HOST"\n"
fi
HOST=$(expr $HOST + 1)
done

Pour voir les adresses qui répondent au ping sur 192.168.0.0/24

Un petit script à faire:

#!/bin/sh
HOST=1
while [ $HOST -lt 255 ];do
ping -q -c 1 -w 1 192.168.0.$HOST > /dev/null
RESULT=$(echo $?)
if [ $RESULT -eq 0 ]; then
printf 192.168.0.$HOST"\n"
fi
HOST=$(expr $HOST + 1)
done

Sinon via nmap:

nmap -sP 192.168.0.0/24

Et je mets ça ici, c’a peut être utile pour voir les adresses qui ne répondent pas au ping depuis un poste Windaube via powershell:

1..254 | % { if (!(Test-Connection "192.168.0.$_" -Count 1 -Quiet)) {Write-Host "192.168.0.$_"}}