<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>RHEL 6 on Zwindler's Reflection</title><link>https://blog.zwindler.fr/tags/rhel-6/</link><description>Recent content in RHEL 6 on Zwindler's Reflection</description><generator>Hugo -- gohugo.io</generator><language>fr-fr</language><copyright>Licensed under CC BY-SA 4.0</copyright><lastBuildDate>Sat, 20 Feb 2016 19:00:58 +0000</lastBuildDate><atom:link href="https://blog.zwindler.fr/tags/rhel-6/index.xml" rel="self" type="application/rss+xml"/><item><title>Réinitialisation à eth0 l’indice de la carte Ethernet après clone CentOS / RHEL 6</title><link>https://blog.zwindler.fr/2016/02/20/nettoyage-carte-ethernet-apres-deploiement-dun-template-centos-rhel-6/</link><pubDate>Sat, 20 Feb 2016 19:00:58 +0000</pubDate><guid>https://blog.zwindler.fr/2016/02/20/nettoyage-carte-ethernet-apres-deploiement-dun-template-centos-rhel-6/</guid><description>&lt;img src="https://blog.zwindler.fr/2016/02/RedHatLogo.webp" alt="Featured image of post Réinitialisation à eth0 l’indice de la carte Ethernet après clone CentOS / RHEL 6" /&gt;&lt;h2 id="après-clone-la-carte-ethernet-sappelle-eth1-ou-plus-et-pas-eth0"&gt;Après clone, la carte Ethernet s’appelle eth1 (ou plus) et pas eth0
&lt;/h2&gt;&lt;p&gt;Si vous avez essayé de faire de clones de machines virtuelles ou des déploiement de templates sous CentOS/RHEL 6, vous avez probablement remarqué qu’après déploiement, la carte réseau nouvellement créée ne s’appelle pas eth0 mais eth1.&lt;/p&gt;
&lt;p&gt;Et le problème s’amplifie au fil des déploiements, car si vous clonez ou faites un modèle avec une machine dont la carte est devenue eth1, les suivantes auront pour indice eth2 et ainsi de suite.&lt;/p&gt;
&lt;p&gt;Essayer de renommer à la main l’interface dans Network Manager fonctionne mal. Tenter de feinter le système avec l’&lt;em&gt;UUID&lt;/em&gt; ou l’&lt;em&gt;HWADDR&lt;/em&gt; de la « vraie » carte réseau via les scripts dans &lt;strong&gt;/etc/system/network-scripts&lt;/strong&gt; ne donnera pas plus de résultats.&lt;/p&gt;
&lt;p&gt;En réalité, le système garde en mémoire des traces de l’interfaces eth0 d’avant clonage. Ce comportement n’existait pas dans RedHat 5 et est corrigé dans RedHat 7.&lt;/p&gt;
&lt;h2 id="solution-manuelle"&gt;Solution manuelle
&lt;/h2&gt;&lt;p&gt;On peut quand même renommer l’interface via l’interface graphique mais il est nécessaire de réaliser quelques opérations complémentaires pour que cela fonctionne.&lt;/p&gt;
&lt;p&gt;Dans le gestionnaire réseau, supprimer l’interface &lt;strong&gt;System eth0&lt;/strong&gt; (qui n’existe plus) et renommer l’autre interface &lt;strong&gt;Auto eth1&lt;/strong&gt; en &lt;strong&gt;eth0&lt;/strong&gt; (juste eth0).&lt;/p&gt;
&lt;p&gt;Enfin, exécuter les commandes suivantes&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cd /etc/udev/rules.d
rm 70-persistent-net.rules
sed -i &amp;#39;/HWADDR*/d&amp;#39; /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i &amp;#39;/UUID*/d&amp;#39; /etc/sysconfig/network-scripts/ifcfg-eth0
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Si vous souhaitez juste résoudre le problème et pas refaire un template, vous pouvez rebooter la machine qui retrouvera un eth0 fonctionnel.&lt;/p&gt;
&lt;p&gt;Pour éviter que le problème ne se reproduise, je conseille de toujours exécuter ces commandes puis d’éteindre la machine virtuelle avant transformation en template. Le problème n’apparaitra pas au déploiement des VMs provenant de ce template.&lt;/p&gt;
&lt;h2 id="autre-solution-sur-le-même-principe"&gt;Autre solution sur le même principe
&lt;/h2&gt;&lt;p&gt;Dans la VM qui va devenir un template, commenter les lignes dans /etc/udev/rules.d/70-persistent-net.rules et ajouter l’attribut immutable au fichier. Après extinction (ou reboot), le problème sera résolu.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;chattr +i /etc/udev/rules.d/70-persistent-net.rules
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="3ème-solution-basée-sur-un-script"&gt;3ème solution basée sur un script
&lt;/h2&gt;&lt;p&gt;La solution que je préfère car c’est celle qui est selon moi la plus « stable » dans le sens où on ne peut pas se tromper lors de l’exécution des opérations.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Annoying bug in vmware guest centos6
# eth0 doesn&amp;#39;t exist
ifconfig eth0 2&amp;gt;/dev/null &amp;gt;/dev/null
if [ $? -ne 0 ] ; then
# Rename eth1 with eth0
echo &amp;#34;UDEV Config...&amp;#34;
rm /etc/udev/rules.d/70-persistent-net.rules
# Change ifcfg-eth0 with hostname address (in /etc/hosts)
echo &amp;#34;Changing eth0 address...&amp;#34;
mac=`ifconfig eth1 | grep eth1 | awk &amp;#39;{ print $5}&amp;#39;`
hostname=`hostname`
ip=`grep $hostname /etc/hosts|cut -s -f 1`
rm -f /etc/sysconfig/network-scripts/ifcfg-eth1
cfg=`grep -v IPADDR /etc/sysconfig/network-scripts/ifcfg-eth0 |grep -v HWADDR`
echo &amp;#34;$cfg&amp;#34; &amp;gt; /etc/sysconfig/network-scripts/ifcfg-eth0
echo &amp;#34;HWADDR=\&amp;#34;$mac\&amp;#34;&amp;#34; &amp;gt;&amp;gt; /etc/sysconfig/network-scripts/ifcfg-eth0
echo &amp;#34;IPADDR=\&amp;#34;$ip\&amp;#34;&amp;#34; &amp;gt;&amp;gt; /etc/sysconfig/network-scripts/ifcfg-eth0
# Apply changes
echo &amp;#34;Applying changes...&amp;#34;
service network stop
service NetworkManager stop
ifconfig eth1 down
udevadm trigger
udevadm control --reload-rules
service network start
service NetworkManager start
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Procédure tirée du &lt;a class="link" href="https://www.cyberciti.biz/tips/vmware-linux-lost-eth0-after-cloning-image.html" target="_blank" rel="noopener"
&gt;Cyberciti.biz&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Tuning de l’IO Scheduler sous RHEL 4, 5, 6 ou 7 : CFQ, NOOP, Deadline</title><link>https://blog.zwindler.fr/2016/01/23/tuning-de-lio-scheduler-rhel-4-5-6-7-cfq-noop-deadline/</link><pubDate>Sat, 23 Jan 2016 11:30:02 +0000</pubDate><guid>https://blog.zwindler.fr/2016/01/23/tuning-de-lio-scheduler-rhel-4-5-6-7-cfq-noop-deadline/</guid><description>&lt;img src="https://blog.zwindler.fr/2016/02/RedHatLogo.webp" alt="Featured image of post Tuning de l’IO Scheduler sous RHEL 4, 5, 6 ou 7 : CFQ, NOOP, Deadline" /&gt;&lt;h2 id="options-dio-scheduler-introduites-depuis-rhel-4"&gt;Options d’IO Scheduler introduites depuis RHEL 4
&lt;/h2&gt;&lt;p&gt;Par hasard, en cherchant des informations sur des paramètres OS qu’on ne change pour ainsi dire jamais car ceux par défauts font très bien le job dans 99+% des cas, je suis tombé sur un article qui explique les différents modes offerts par RHEL sur le tuning de l’IO Scheduler et les différents impacts que cela peut avoir, notamment dans le cas de machines virtuelles.&lt;/p&gt;
&lt;p&gt;J’insiste sur le fait que je ne pense pas que ce soit un sujet qui mérite un changement urgent et radical de votre infrastructure car comme le dit la devise :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If it ain’t broke, don’t fix it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Pour autant, j’ai trouvé les différents articles que j’ai lus sur le sujet extrêmement intéressants et j’ai voulu partager cette réflexion en Français.&lt;/p&gt;
&lt;h2 id="le-problème"&gt;Le problème
&lt;/h2&gt;&lt;p&gt;D’abord, de quoi on parle ?&lt;/p&gt;
&lt;p&gt;Comme je le disais en introduction, en cherchant des informations sur des paramètres kernel exotiques (tcp_rmem/tcp_wmem, tcp_window_scaling) dans le cadre d’un tuning fin pour une instance Oracle, je suis tombé sur cet article dans le &lt;a class="link" href="https://www.redhat.com/magazine/008jun05/features/schedulers/" target="_blank" rel="noopener"
&gt;RedHat Magazine de juin 2008&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Il est question, à l’époque, d’une fonctionnalité amenée par le kernel linux 2.6, alors nouveau dans RHEL 4 : la possibilité de modifier l’algorithme de traitement des files d’entrée/sortie disques.&lt;/p&gt;
&lt;p&gt;On y apprend que dans certains workloads I/O bien spécifiques, l’algorithme de scheduling n’est pas forcément optimal et que pour donner plus de liberté à l’administrateur, des profils distincts ont été ajoutés :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Completely Fair Queuing—elevator=cfq (default)&lt;br&gt;
Deadline—elevator=deadline&lt;br&gt;
NOOP—elevator=noop&lt;br&gt;
Anticipatory—elevator=as&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;L’article explique dans les grandes lignes ce que font ces différents algorithmes, ainsi que les avantages et les inconvénients de chaque, notamment en terme de performance grâce à un bench.&lt;/p&gt;
&lt;h3 id="cfq"&gt;CFQ
&lt;/h3&gt;&lt;p&gt;Complete Fair Queuing : comportement par défaut jusqu’à RHEL 6.&lt;/p&gt;
&lt;p&gt;Le CPU gère les E/S par processus et les réparties équitablement. Ce mode a longtemps été considéré comme le meilleur compromis entre performances et latence des E/S.&lt;/p&gt;
&lt;h3 id="deadline"&gt;Deadline
&lt;/h3&gt;&lt;p&gt;Impose une limite maximale en temps de latence pour chaque E/S. Les E/S sont réordonnées parmi 5 files de traitement et celles dont la &lt;em&gt;deadline&lt;/em&gt; va bientôt expirer sont traitées en priorité, même s’il faut l’intercaler au milieu d’un grosse écriture séquentielle. On obtient ainsi un ressenti de quasi temps réel pour toutes les E/S.&lt;/p&gt;
&lt;p&gt;Ce mode est à privilégier dans le cas de bases de données où les écritures sont intensives. Deadline est aussi moins complexe que CFQ et donc moins consommateur en cycles CPU que CFQ (+ latence).&lt;/p&gt;
&lt;h3 id="noop"&gt;NOOP
&lt;/h3&gt;&lt;p&gt;Simplifie le traitement des E/S par le CPU en n’utilisant qu’une simple file de type « first in first out ». On améliore la charge CPU induite par les E/S tout en perdant le gain qu’apporte l’agencement intelligent de ces E/S (et on impacte donc les performances).&lt;/p&gt;
&lt;p&gt;A priori, ce mode est également intéressant dans le cadre d’utilisation de SSD, car les secteurs à lire/modifier peuvent être accédés quasi instantanément, contrairement aux disques durs classiques qui subissent eux des latences à cause de la rotation des plateaux (le temps que le bras arrive sur le secteur). Cette absence de latence supprime la nécessité d’optimiser l’ordonnancement des E/S vers le disque, permet d’économiser quelques cycles CPU et donc des latences inutiles.&lt;/p&gt;
&lt;h3 id="bonus--as---anticipatory"&gt;Bonus : AS - Anticipatory
&lt;/h3&gt;&lt;p&gt;Impose un petit délai d’attente pour toutes les E/S avec pour objectif de les agréger et/ou de réordonner les E/S en fonction de la « localité » des E/S sur les disques (en tenant compte de la rotation). A priori plus efficace sur les systèmes où les disques sont lents mais peut réduire le nombre E/S par secondes.&lt;/p&gt;
&lt;h2 id="affichermodifier-le-scheduler-actuel"&gt;Afficher/modifier le scheduler actuel
&lt;/h2&gt;&lt;p&gt;Le site officiel de RedHat donne les commandes pour modifier ce scheduler dans un chapitre d’une documentation dédiée au &lt;a class="link" href="https://docs.redhat.com/en/documentation/Red_Hat_Enterprise_Linux/5/html/Tuning_and_Optimizing_Red_Hat_Enterprise_Linux_for_Oracle_9i_and_10g_Databases/sect-Oracle_9i_and_10g_Tuning_Guide-Kernel_Boot_Parameters-The_IO_Scheduler.html" target="_blank" rel="noopener"
&gt;tuning des serveurs RHEL 4 et plus qui font fonctionner des instances Oracle 9 et 10&lt;/a&gt;. Ce qui est dommage dans cette page c’est qu’on n’en sait pas plus sur ces différents modes&amp;hellip; mais &lt;a class="link" href="https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/ch06s04.html" target="_blank" rel="noopener"
&gt;cette page traite du sujet&lt;/a&gt; (et &lt;a class="link" href="https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Performance_Tuning_Guide/chap-Red_Hat_Enterprise_Linux-Performance_Tuning_Guide-Storage_and_File_Systems.html#sect-Red_Hat_Enterprise_Linux-Performance_Tuning_Guide-Considerations-IO_Schedulers" target="_blank" rel="noopener"
&gt;ici pour RHEL 7 - Performance tuning Guide&lt;/a&gt;). Bref j’ai trouvé l’information à plusieurs endroits.&lt;/p&gt;
&lt;p&gt;Ce qu’il faut savoir, c’est qu’on peut afficher &lt;em&gt;par disque&lt;/em&gt; le scheduler actuel de la façon suivante (selon l’OS).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RedHat 4&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Sur RedHat 4, on ne peut pas changer ce mode dynamiquement (disponible uniquement à partir de RHEL 5). La consultation/modification se fait au niveau du fichier /etc/grub.conf.&lt;/p&gt;
&lt;p&gt;Exemple « par défaut » (CFQ implicitement)&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;title Red Hat Enterprise Linux AS (2.6.9-67.ELsmp)
root (hd0,0)
kernel /vmlinuz-2.6.9-67.ELsmp ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.9-67.ELsmp.img
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Exemple avec le scheduler « Deadline » (explicitement)&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;title Red Hat Enterprise Linux Server (2.6.18-8.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/sda2 elevator=deadline
initrd /initrd-2.6.18-8.el5.img
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;RedHat 5 et 6&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat /sys/block/sda/queue/scheduler #pour afficher sur /dev/sda
noop anticipatory deadline [cfq]
echo sched_name &amp;gt; /sys/block/sdx/queue/scheduler #pour modifier, remplacer sched_name par le nom du scheduler
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;RedHat 7 (machine virtuelle)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Petite surprise lorsque j’ai lancé la commande, sur mes VMs RHEL 7, le scheduler est « &lt;strong&gt;deadline&lt;/strong&gt; » par défaut et non plus CFQ.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat /sys/block/sda/queue/scheduler #pour afficher sur /dev/sda
noop [deadline] cfq
echo sched_name &amp;gt; /sys/block/sdx/queue/scheduler #pour modifier, remplacer sched_name par le nom du scheduler```
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;En fait, depuis RHEL 7, le scheduler par défaut est toujours &lt;strong&gt;CFQ&lt;/strong&gt; mais seulement lorsque l’OS détecte un disque SATA. Pour tous les autres types de disques, c’est &lt;strong&gt;deadline&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Les systèmes de stockage ont beaucoup évolués depuis RHEL 4 et il y a fort à parier que &lt;strong&gt;deadline&lt;/strong&gt; fournit de meilleures performances des infrastructures récentes à base de SAS/RAID/Cache/SSD. CFQ ne se justifie donc plus que dans les cas où les disques sont des disques SATA simples.&lt;/p&gt;
&lt;h2 id="et-pour-les-vms-"&gt;Et pour les VMs ?
&lt;/h2&gt;&lt;p&gt;En creusant un peu le sujet, je suis assez vite tombé sur cet article de &lt;strong&gt;lonesysadmin&lt;/strong&gt; qui traite un point intéressant : &lt;a class="link" href="https://lonesysadmin.net/2013/12/06/use-elevator-noop-for-linux-virtual-machines/" target="_blank" rel="noopener"
&gt;l’application de ce tuning au contexte des machines virtuelles&lt;/a&gt;. Cet article fais partie d’une séries d’articles dédiés au tuning pour les machines virtuelles linux qui sont plutôt bien faits.&lt;/p&gt;
&lt;p&gt;Le but de l’article de &lt;strong&gt;lonesysadmin&lt;/strong&gt; est de rappeler le fonctionnement des IO Scheduler puis de soulever le problème que pose le comportement par défaut dans le cadre d’un système virtualisé.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In the physical world, with operating systems on bare metal, we would choose an algorithm that is best suited to our workload. In the virtual world there is a hypervisor between the OS and the disks, and the hypervisor has its own disk queues. So what happens is:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The VM has disk I/O occur.&lt;/li&gt;
&lt;li&gt;The guest OS uses some CPU time to sort that I/O into an order it thinks is ideal, based on the disk algorithm that’s active.&lt;/li&gt;
&lt;li&gt;The guest OS makes the requests to the underlying virtual hardware in that new order.&lt;/li&gt;
&lt;li&gt;The hypervisor takes those requests and re-sorts them based on its own algorithms.&lt;/li&gt;
&lt;li&gt;The hypervisor makes the requests to the actual hardware based on its own order.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Since the hypervisor is going to do its own sorting, into its own disk queues, there’s very little point in a guest OS attempting the same work. At the very least, the guest OS is introducing some latency and wasting some CPU cycles. At the worst it’s making things more difficult for the hypervisor and the back-end storage (see “I/O blender (lien mort)“). If we switch to the NOOP scheduler the guest OS will do as little as possible to the I/O before it passes it along, which sounds perfect for a virtual environment.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;En Français :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la VM génère une E/S disque&lt;/li&gt;
&lt;li&gt;l’OS de la VM consomme quelques cycles CPU pour décider dans quel ordre réaliser les E/S pour que l’écriture sur disque soit la plus efficace possible&lt;/li&gt;
&lt;li&gt;l’OS de la VM traite les E/S dans l’ordre qui lui parait le plus efficace&lt;/li&gt;
&lt;li&gt;l’hyperviseur récupère les E/S de toutes les VMs et les réorganisent lui même en fonction de ses propres algorithmes&lt;/li&gt;
&lt;li&gt;l’hyperviseur traite les E/S&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dans ce schéma de figure, &lt;strong&gt;lonesysadmin&lt;/strong&gt; pose le problème suivant : à quoi bon perdre des cycles CPU pour réorganiser des E/S qui seront de toute façon réorganisées par l’hyperviseur juste après pour écriture sur disques ? Son point de vue consiste à dire qu’au mieux des cycles CPU seront gaspillés pour rien et qu’au pire, la réorganisation de chaque VM de ses propres E/S sera contreproductive et dégradera les performances du stockage.&lt;/p&gt;
&lt;p&gt;La solution qu’il propose consiste donc à dire qu’il vaut donc mieux supprimer ce travail inutile et positionner les machines virtuelles avec le scheduler IO NOOP (simple FIFO). Au delà de l’aspect intuitif du raisonnement, &lt;strong&gt;lonesysadmin&lt;/strong&gt; ne donne pas de tests de performance ou de source pour étayer ses arguments.&lt;/p&gt;
&lt;p&gt;Cependant, parmi les commentaires dans l’article et les différentes informations que je trouve sur Internet, l’information se confirme (même si on conseille généralement &lt;strong&gt;deadline&lt;/strong&gt;), notamment grâce au KB 2011861 de VMware (lien mort, comme tout chez VMware) qui conseille clairement &lt;strong&gt;noop&lt;/strong&gt; ou &lt;strong&gt;deadline&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="bonus"&gt;Bonus
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://access.redhat.com/solutions/54164" target="_blank" rel="noopener"
&gt;Recommandation de RedHat pour les bases de données&lt;/a&gt; : changez pour &lt;strong&gt;deadline&lt;/strong&gt; !&lt;/li&gt;
&lt;li&gt;Dans ses Best Practices pour machines virtuelles Linux sur KVM (lien mort), IBM conseille : &lt;strong&gt;deadline&lt;/strong&gt; encore !&lt;/li&gt;
&lt;li&gt;Un article du &lt;a class="link" href="http://www.linuxjournal.com/article/6931?page=0,0" target="_blank" rel="noopener"
&gt;Linux Journal sur les I/O Schedulers&lt;/a&gt; qui montre avec des exemples un peu théoriques des différences énormes entre elevators.&lt;/li&gt;
&lt;li&gt;Un article sur NUODB qui conseille NOOP (blog tué par dassault, suite à un rachat probablement) dans le cas de l’utilisation de SSDs. Retrouvé sur dzone &lt;a class="link" href="https://dzone.com/articles/tuning-linux-io-scheduler-ssds" target="_blank" rel="noopener"
&gt;dzone.com/articles/tuning-linux-io-scheduler-ssds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://en.wikipedia.org/wiki/Noop_scheduler" target="_blank" rel="noopener"
&gt;L’article wikipedia de NOOP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>RHEL &amp; CentOS 5 &amp; 6 : « mount: type inconnu de système de fichiers &amp;lsquo;ntfs' »</title><link>https://blog.zwindler.fr/2015/05/06/rhel-centos-6-mount-type-inconnu-de-systeme-de-fichiers-ntfs/</link><pubDate>Wed, 06 May 2015 17:57:28 +0000</pubDate><guid>https://blog.zwindler.fr/2015/05/06/rhel-centos-6-mount-type-inconnu-de-systeme-de-fichiers-ntfs/</guid><description>&lt;img src="https://blog.zwindler.fr/2015/05/multipathmap1.webp" alt="Featured image of post RHEL &amp; CentOS 5 &amp; 6 : « mount: type inconnu de système de fichiers &amp;lsquo;ntfs' »" /&gt;&lt;p&gt;[Edit]La procédure étant similaire pour CentOS 5, les spécificités ont été ajoutés en fin d’article[/Edit]&lt;/p&gt;
&lt;h2 id="rhel-6--centos-6"&gt;RHEL 6 / CentOS 6
&lt;/h2&gt;&lt;p&gt;Si vous avez déjà tenté de brancher un disque dur externe à un serveur fraîchement installé en RedHat 6 (ou CentOS 6), vous vous êtes peut être rendu compte que même en installation de type « Desktop » (je ne parle même pas de la « Minimal »), vous ne pouviez pas monter les partitions NTFS.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[root@monserveur appli]# mount /dev/sdb1 /mnt
mount: type inconnu de système de fichiers &amp;#39;ntfs&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Si votre serveur a accès au net, il vous suffit d’ajouter le repository « EPEL release » (configurable rapidement via le RPM associé (lien mort, pas trouvé sur Internet Archive)&lt;/p&gt;
&lt;p&gt;Mais dans le cas d’un réseau d’entreprise où vous en êtes coupés, pas de paniques. Voici les deux packages à récupérer et installer pour pouvoir monter votre partition NFTS.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ntfs-3g (lien mort)&lt;/li&gt;
&lt;li&gt;ntfsprogs (lien mort)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dans le cas où vous n’avez qu’un disque dur sur le serveur /dev/sda, le disque dur externe est souvent le suivant, et il n’y a en général qu’une seule partition, donc /dev/sdb1&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;yum install ntfs-3g-2014.2.15-8.el6.x86_64.rpm ntfsprogs-2014.2.15-8.el6.x86_64.rpm
mount /dev/sdb1 /mnt
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="rhel-5--centos-5"&gt;RHEL 5 / CentOS 5
&lt;/h2&gt;&lt;p&gt;Récupérer le package fuse-ntfs-3g-1.1004-1.el5.rf.x86_64.rpm sur repoforge (lien mort).&lt;/p&gt;
&lt;p&gt;Installer le package et utiliser la commande suivante pour monter le disque dur&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;yum install fuse-ntfs-3g-1.1004-1.el5.rf.x86_64.rpm #récupérer éventuellement fuse et fuse-libs qui sont disponible dans les dépôts classiques
mount.ntfs-3g /dev/sdb1 /mnt
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="versions-anciennes-52"&gt;Versions anciennes (&amp;lt;5.2)
&lt;/h3&gt;&lt;p&gt;Pour les versions RHEL/CentOS inférieures à 5.2, il faut également ajouter les packages dkms et dkms-fuse sinon le module kernel fuse ne s’activera pas (voir fin de &lt;a class="link" href="https://web.archive.org/web/20150326041937/https://wiki.centos.org/TipsAndTricks/NTFS" target="_blank" rel="noopener"
&gt;NTFS Tips and Tricks (lien mort, j&amp;rsquo;utilise Internet archive)&lt;/a&gt;)&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;yum install fuse-ntfs-3g-1.1004-1.el5.rf.x86_64.rpm fuse fuse-libs dkms dkms-fuse
modprobe fuse
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="erreur-de-signature"&gt;Erreur de signature
&lt;/h3&gt;&lt;p&gt;Ajoutez &lt;code&gt;--nogpgcheck&lt;/code&gt; si vous n’avez pas envie d’ajouter la signature de repoforge dans la liste de vos signatures autorisées&lt;/p&gt;
&lt;h3 id="limitation-de-la-version-5"&gt;Limitation de la version 5
&lt;/h3&gt;&lt;p&gt;Pour information, il est &lt;strong&gt;possible&lt;/strong&gt; que le disque ne soit pas &lt;em&gt;montable&lt;/em&gt; du tout s’il dépasse les 2 To. En fait, le kernel de la RHEL/CentOS 5 est trop ancien pour gérer correctement les disques de grande taille. C’était mon cas, avec l’erreur suivante&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;mount.ntfs-3g /dev/sdc1 /mnt
Failed to read last sector (732564991): Argument invalide
Perhaps the volume is a RAID/LDM but it wasn&amp;#39;t setup yet, or the
wrong device was used, or the partition table is incorrect.
Failed to mount &amp;#39;/dev/sdc1&amp;#39;: Argument invalide
The device &amp;#39;/dev/sdc1&amp;#39; doesn&amp;#39;t have a valid NTFS.
Maybe you selected the wrong device? Or the whole disk instead of a
partition (e.g. /dev/hda, not /dev/hda1)? Or the other way around?
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Un autre post qui traite du sujet sur &lt;a class="link" href="http://www.linuxquestions.org/questions/linux-general-1/mounting-usb-hard-drive-with-4kb-sectors-in-centos-5-8-a-4175477057/" target="_blank" rel="noopener"
&gt;www.linuxquestions.org/questions/linux-general-1/mounting-usb-hard-drive-with-4kb-sectors-in-centos-5-8-a-4175477057/&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>