RHEL6/InstallLinux
[1] Installation d'un serveur physique ou virtuel sous CentOs 6.x
Cette note ne traite pas de la partie création physique (gestion du raid) ou virtuelle (banques de données) des disques durs.
Vous devez pouvoir booter sur un support d'installation d'une CentOs (iso depuis une banque de données ou DVD/USB)
L'installation présentée s'appuie sur une Centos 6.6. Les versions suivantes de la Centos 6 sont compatibles
Elle ne s'applique pas dans le cas d'une version 7.x où tous les périphériques ont été renommés.
[1.1] Installation
Démarrer l'installation normalement.
Avec la nouvelle version, il n'est plus nécessaire de créer de LVM avant.
Cela sera fait dans le cours normal du déroulement des étapes
Choisir installation en Francais avec le clavier French(latin 9).
Sélectionner Specialized Storage Devices
Cocher les disques sur lesquels l'installation doit s'effectuer.
Si une erreur s'affiche, choisir l'option Re-initialize all
Entrer le hostname avec le fqdn
Ne pas configurer le réseau à ce stade
Choisir le fuseau horaire de Paris
Entrer le mot de passe root
[1.2] Partitionnement du système
Sélectionner Create Custom Layout
Laisser /boot hors de LVM
Sélectionner par exemple sda
sda1 /boot 500Mo
Créer sur la partie libre de sda un LVM Physical Volume, cocher Fill to maximunallowable size
Sélectionner la partition LVM sda2 et faire creer LVM Volume Group
Entrer le nom du volume:VG
En fonction de la taille des disques :
dans VGxxxxx
Montage
|
Fs
|
LV Name
|
Taille
|
/
|
ext4
|
LVRoot
|
4Go
|
/tmp
|
ext4
|
LVTemp
|
4Go
|
/var
|
ext4
|
LVVar
|
4Go
|
swap
|
LVSwap
|
4Go
|
|
/usr
|
ext4
|
LVUsr
|
4Go
|
/logiciels
|
ext4
|
LVLogiciels
|
Si le même disque doit contenir les data d'une base Oracle, prévoir de la place
Pour un serveur Oracle prévoir un disque pour les datas.
[1.3] Choix des paquets
Minimal server + custom
Servers (ne rien toucher)
WebServices (ne rien toucher)
Databases (ne rien toucher)
System Management (ne rien toucher)
Virtualization (ne rien toucher)
Desktops (ne rien toucher)
Applications (ne rien toucher)
Developpement (cocher AdditionalDevelopment + Development Tools)
Languages (cocher language french support)
Dans le cas d'un serveur virtuel, il faut installer les VmTools
Après le reboot, vous pouvez aussi configurer un autre volumegroup dans le cadre par exemple d'un serveur avec une base oracle
ex: Ajout d'un volume logique de 300Go pour la base données oracle.
lvcreate VG -n LVOraData -L 300Go
Création du fs
mkfs.ext4 /dev/vgxxx/LVOraData
Création du point de montage
mkdir -R /logiciels/oracle/data
Modification de la fstab pour rendre le montage permanent
vi/etc/fstab
...
/dev/mapper/vg_xxxx-LVOraData /logiciels/oracle/dataext4 defaults 1 2
Vérification
mount -a
[1.4] Activer accès root en ssh
vi /etc/ssh/sshd_config
FichierAddressFamilyinet
PermitRootLogin yes
...
servicesshd restart
[1.5] Configuration réseau
[1.5.1] Configuration de l'interface réseau (Machine standard ou VM)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO=none
HWADDR="@MAC DE LA CARTE"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
IPADDR=
NETMASK=
GATEWAY=
MTU=1330
service network restart
[1.5.2] Configuration des VLAN et/ou bounding
[1.5.2.1] Modification des interfaces réseau pour être dans les bons vlan
Pour mettre un interface dans un vlan ou la tagger, il suffit de suffixer le fichier de configuration de la carte avec l'ID du vlan et de rajouter dans le fichier le mot clé VLAN=yes
cd /etc/sysconfig/network-script
cpifcfg-ethifcfg-eth.
On laisse le strict minimum dans le fichier de conf de base (non taggé) de l'interface
viifcfg-eth
DEVICE="eth0"
HWADDR="xx:xx:xx:xx:xx:xx"
NM_CONTROLLED="yes"
ONBOOT="yes"
et on modifie la configuration de la carte dans le vlan
viifcfg-.
DEVICE="eth."
HWADDR="@MAC"
NM_CONTROLLED="yes"
ONBOOT="yes"
IPADDR=@IP
NETMASK=
GATEWAY=@IP Passerelle
MTU=1330
VLAN=yes
[1.5.2.2] Que faire si la carte réseau n'a pas été détectée
Il arrive fréquemment que les fichiers de conf des cartes 10gb ne soient pas générés.
Il faut donc le créer de toute pièce.
Cette procédure peut aussi s'appliquer dans le cas d'un changement d'affectation de n° à une carte
On recherche les @MAC des cartes dans le fichiers /etc/udev/rules.d/70-persistent-net.rules
vi /etc/udev/rules.d/70-persistent-net.rules
...
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{type}=="1", KERNEL=="eth*", NAME="eth4"
...
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{type}=="1", KERNEL=="eth*", NAME="eth5"
...
Pour prendre en compte toute modification dans udev il faut relancer le module du noyau
udevadm control --reload-rules
Une fois la carte trouvée ou son nom changé, on peut créer le fichier de configuration avec le bon nom
[1.5.2.3] Création du bonding ou "Regroupement de cartes réseau"
L'équipement sur lequel sont reliées les cartes doit supporter ce mode de fonctionnement .
Le principe est de regrouper plusieurs cartes réseaux eth0,eth1,eth(x) en une carte virtuelle bond0 afin de permettre la tolérance de panne et augmenter le débit.
Il faut signaler au noyau linux que l'on va utiliser du bonding en créant un fichier spécifique
vi /etc/modprobe.d/bond.conf
alias bond0 bonding
On crée le fichier de configuration de notre interface virtuelle et on modifie les fichiers de configuration des interfaces que l'on veut regrouper.
cd /etc/sysconfig/network-scripts/
vi ifcfg-eth0
DEVICE="eth0"
HWADDR="xx:x:xx:xx:xx:xx"
ONBOOT="yes"
MASTER=bond0
SLAVE=yes
USERCTL=no
vi ifcfg-eth1
DEVICE="eth1"
HWADDR="xx:xx:xx:xx:xx:xx"
ONBOOT="yes"
MASTER=bond0
SLAVE=yes
USERCTL=no
vi ifcfg-bond0
DEVICE="bond0"
ONBOOT="yes"
MTU=1330
VLAN=yes
vi ifcfg-bond0.1
DEVICE="bond0.1"
IPADDR=xxx.xxx.xxx.xxx
NETMASK=255.255.255.0
GATEWAY=xxx.xxx.xxx.xxx
ONBOOT="yes"
MTU=1330
VLAN=yes'
vi ifcfg-bond0.1:1
DEVICE="bond0.1:1"
IPADDR=xxx.xxx.xxx.xxx
NETMASK=255.255.255.0
ONBOOT="yes"
MTU=1330
VLAN=yes
Dans notre exemple, on a regroupe eth0 et eth1 en bond0. Il suffit de dire que ces interfaces sont en mode esclave. On a aussi mis notre interface virtuelle dans le VLAN 1.
Et enfin on a créé une 2 interfaces virtuelles sur la 1ere pour créer une @IP en créant un fichier de configuration avec :1
Il suffit de redémarrer le service réseau pour que cela soit pris en compte
service network restart
Pour vérifier:
ifconfig
bond0 Link encap:EthernetHWaddrxx:xx:xx:xx:xx:xx
UP BROADCAST RUNNING MASTER MULTICAST MTU:1330 Metric:1
RX packets:185560 errors:20515 dropped:0 overruns:0 frame:20515
TX packets:45735 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:19297177 (18.4 MiB) TX bytes:4782557 (4.5 MiB)
bond0.1 Link encap:EthernetHWaddrxx:xx:xx:xx:xx:xx
inetadr:xxx.xxx.xxx.xxx Bcast:xxx.xxx.xxx.255 Masque:255.255.255.0
UP BROADCAST RUNNING MASTER MULTICAST MTU:1330 Metric:1
RX packets:35479 errors:0 dropped:0 overruns:0 frame:0
TX packets:164 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:2047387 (1.9 MiB) TX bytes:39957 (39.0 KiB)
eth0 Link encap:EthernetHWaddrxx:xx:xx:xx:xx:xx
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1330 Metric:1
RX packets:115676 errors:10254 dropped:0 overruns:0 frame:10254
TX packets:45654 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:11718793 (11.1 MiB) TX bytes:4762167 (4.5 MiB)
eth1 Link encap:EthernetHWaddrxx:xx:xx:xx:xx:xx
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1330 Metric:1
RX packets:69884 errors:10261 dropped:0 overruns:0 frame:10261
TX packets:81 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:7578384 (7.2 MiB) TX bytes:20390 (19.9 KiB)
[1.5.3] Configuration hostname + passerelle + dns
vi /etc/sysconfig/network
HOSTNAME=
vi /etc/resolv.conf
domain(nom du domaine complet)
[1.5.4] Désactivation de IPV6
Contrôle du status de ipv6
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
=> 0=activé 1=désactivé
Si activé
echo 1>/proc/sys/net/ipv6/conf/all/disable_ipv6
echo 1>/proc/sys/net/ipv6/conf/default/disable_ipv6
vi /etc/sysctl.conf
...
#desactivation de l'ipv6
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
Redémarrer le service
sysctl -p
[1.6] Mise à jour du système
[1.6.1] Mise à jour et paquets
yumclean all
yum upgrade -y
yum install vim-common.x86_64 vim-enhanced.x86_64
yum install ntp
yum install man
yum install man-pages-fr.noarch
yuminstallbind-utils
D'autres packets peuvent être nécessaire en fonction du rôle du serveur
Si un nouveau noyau a été installé, il faut rebooter le serveur pour sa prise en compte
init 6
[1.7] Lancement du service + mise en démarrage automatique
chkconfig ntpd on
service ntpd start
[2] Serveur abritant une base Oracle
[2.1] Vérification et modification des paramètres noyau
ATTENTION : Les valeurs données sont les valeurs minimum pour Oracle.
Si les valeurs par défaut du système sont supérieures, ne pas les modifier.
[2.1.1] Vérification des valeurs
cat /proc/sys/kernel/shmmax
=>shmmax = 2147483648
cat /proc/sys/kernel/shmmni
=>shmmni = 4096
cat /proc/sys/kernel/shmall
=>shmall = 2097152
ipcs -lm | grep "min seg size"
=>shmmin = 1
ipcs -lm | grep "max number of segments"
=>shmseg = 10
cat /proc/sys/kernel/sem | awk '{print $1}'
=>semmsl = 250
cat /proc/sys/kernel/sem | awk '{print $2}'
=>semmns = 32000
cat /proc/sys/kernel/sem | awk '{print $3}'
=>semopm = 100
cat /proc/sys/kernel/sem | awk '{print $4}'
=>semmni = 128
cat /proc/sys/fs/file-max
=>file-max = 65536
cat /proc/sys/net/ipv4/ip_local_port_range
=>ip_local_port_range = 1024 65000
[2.1.2] Modifications des valeurs limites du noyau
vi /etc/sysctl.conf
...
Debut - Modification des paramètres pour Oracle 11g
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.wmem_default = 1048576
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
Fin - Modification des paramètres pour Oracle 11g
/sbin/sysctl -p /etc/sysctl.conf
echo "6815744" >/proc/sys/fs/file-max
echo "1048576" >/proc/sys/fs/aio-max-nr
[2.1.3] Installation des packets nécessaire au programme d'installation Oracle
yum clean all
yum check-update
yuminstall -y libaio-devel
yuminstall -y unixODBCunixODBC-devel
yuminstall -y compat-libstdc++-33
yum install libXp
yum install libXtst-devel
yum install gccgcc-c++ libstdc++-develcppglibc-develglibc-headers
[2.1.4] Création et Modification des limites de l'utilisateur Oracle
[2.1.4.1] Création du compte oracle
groupadddba
groupaddoinstall
useradd -c "Utilisateur Oracle" -g oinstall -G dba -d /logiciels/oracle oracle
passwd oracle
chown -R oracle.oinstall /logiciels/oracle
chmod -R 775 /logiciels/oracle
[2.1.4.2] Modification des limites de l'utilisateur oracle
vi /etc/security/limits.conf
...
oracle soft nofile 4096
oracle hard nofile 63536
oracle soft nproc 2047
oracle hard nproc 16384
...
[2.2] Ajout du disque de données pour Oracle
pvcreate /dev/xxx
vgcreate VGORADATA /dev/xxxx --size
mkdir /logiciels/oracle/data
Création du fs
mkfs.ext4 /dev/vgxxx/LVOraData
vi /etc/fstab
...
dev/mapper/VGORADATA-LVORADATA /u01/app/oracle/oradata ext4 defaults 1 2
Montage de toute la table fstab :
mount -a
[3] Modification Iptables
Modifier le fichier en fonction des besoins
vi /etc/sysconfig/iptables
...
relance du service :
serviceiptables restart
[4] Gestion de l'ISCSI et du multipath
[4.1] Gestion de l'iscsi
[4.1.1] Définition
iSCSI est l'abréviation de Internet Small Computer System Interface.
C'est un protocole de stockage en réseau basé sur le protocole IP destiné à relier les installations de stockage de données.
En transportant les commandes SCSI sur les réseaux IP, iSCSI est utilisé pour faciliter les transferts de données sur les intranets et gérer le stockage sur de longues distances.
iSCSI peut être utilisé pour transmettre des données sur des réseaux locaux (LAN), réseaux étendus (WAN) ou Internet et peut permettre d'être indépendant sur l'emplacement physique du stockage ou de la récupération de données.
Le protocole permet aux clients (appelés initiateurs) d'envoyer des commandes SCSI (CDB) à des périphériques de stockage SCSI (targets) sur des serveurs distants. Il s'agit d'un protocole de SAN (Storage Area Network), qui permet de rassembler les ressources de stockage dans un centre de données tout en donnant l'illusion que le stockage est local.
[4.1.2] Installation
Ajout des packets pour la gestion du iscsi
yuminstalliscsi-initiator-utils
chkconfig add iscsi
chkconfig iscsi on
service iscsi start
Récupérer l'initiator iscsi (ou iqn) et le communiquer à l'infra pour l'est autorisation sur les baies de disques
cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1994-05.com.redhat:blablabla
Un fois les autorisations accordées, on recherche sur la baie les LUN
iscsiadm --mode discoverydb --type sendtargets --portal <@IP de la baie>--discover
Les disques trouvés, on redémarre le service pour prise en compte
service iscsi restart
On se connecter sur les targets (disques) que l'on a découvert
iscsiadm --mode node --targetname --portal <@IP de la baie> --login
On vérifie que le disque est bien monté et qu'il est vu localement
fdisk -l
...
Disque /dev/sdb: 107.4 Go, 107374182400 octets
255 têtes, 63 secteurs/piste, 13054 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 65536 bytes
Identifiant de disque : 0x00000000
Disque /dev/sdc: 107.4 Go, 107374182400 octets
255 têtes, 63 secteurs/piste, 13054 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 65536 bytes
Identifiant de disque : 0x00000000
...
Il y a 2 disques car il y a 2 chemins d'accès au même disque pour redondance.
Afin de gérer ces deux chemins, il faut mettre en place le multipath
[4.2] Gestion du multipath
Installation des paquets nécessaire
yum install device-mapper-multipath
chkconfig multipathd on
service multipathd start
Configuration de certaines options par défaut
/sbin/mpathconf
=>
multipath is enabled
find_multipaths is disabled
user_friendly_names is enabled
dm_multipath module is loaded
multipathdischkconfiged off
si ces options ne sont pas positionnées
mpathconf --enable --with_multipathd y
mpathconf --enable --user_friendly_names y --find_multipaths y
Relance du service
service multipathd restart
Recherche des doubles chemins d'accès aux disques
multipath -ll



