Partager Disque dur USB NTFS sur VMware vSphere/ESX 4

SHARE WITH YOUR NETWORK!

Table of Contents

Partager Disque dur USB NTFS sur VMware vSphere/ESX 4

L’autre jour, je parlais de la virtualisation dans la sécurité des courriels (par exemple, l’appliance virtuelle anti-pourriel). L’un des inconvénients d’ESX (et d’ESXi) est le manque de prise en charge du stockage de données externe (non Data Store). Bien sûr, vous pouvez ajouter une multitude de magasins de données, locaux et distants, et c’est LA voie à suivre.

Mais j’avais besoin de pouvoir sauvegarder mes appareils virtuels sur un disque dur externe en utilisant NTFS (afin qu’il puisse être lu sur mes machines Windows). Mon serveur physique VMware est basé sur un simple (et bon marché) quad core AMD et non sur un Xeon, donc je n’ai pas la technologie USB Passthrough pour virtualiser le concentrateur USB. Mais j’avais besoin d’un moyen d’accéder à mon disque dur USB NTFS externe à partir de l’hôte ou de l’un des invités. Et j’avais besoin de cela localement parce que nous parlons de centaines de gigaoctets de données que je n’étais pas prêt à faire passer par mon réseau Gigabit. Les adaptateurs USB-IP (également appelés concentrateurs USB réseau) ne sont pas une option car ils utilisent toujours le réseau et offrent généralement de mauvaises performances.

C’est possible. Je ne dis pas que c’est la meilleure solution, ou la solution la plus stable. Mais je l’exécute sur mon hôte ESX (avec 6 VM) depuis 2 mois maintenant, sans un seul problème, alors j’ai pensé partager ce mode d’emploi (matériel source en référence ci-dessous).

ÉTAPE 1 : INSTALLEZ LE PILOTE NTFS SUR ESX 4

Tout d’abord, nous allons télécharger le RPM pour le pilote NTFS-3G et l’installer :

[root@localhost ~]# mkdir ntfstemp
[root@localhost ~]# cd ntfstemp
[root@localhost ~]# lwp-download http://marush.com/wp-content/uploads/2009/04/ntfs-3g-200944-el5i686.rpm
[root@localhost ~]# rpm -i ntfs-3g-200944-el5i686.rpm

Ensuite, nous monterons le disque dur USB. En supposant qu’il est déjà branché sur le port USB et allumé, il devrait être mappé à un nom de périphérique.

[root@localhost ~]# fdisk -l
This will give you a list of drives and partitions. In this example, I will assume the drive is mapped to /dev/sdj with a single partition (/dev/sdj1) as illustrated in the partial fdisk output below:
Disk /dev/sdj: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks ID System
/dev/sdj1 1 60801 488384001 7 HPFS/NTFS

Pour monter le disque dur USB, vous devez créer un point de montage (où le contenu du lecteur sera mappé). Disons que nous voulons le monter sur /mnt/seagate500gb

[root@localhost ~]# ntfs-3g /dev/sdj1 /mnt/seagate500gb

Le conducteur retournera l’avertissement suivant. Lisez-le attentivement.

WARNING: Deficient Linux kernel detected. Some driver features are
not available (swap file on NTFS, boot from NTFS by LILO), and
unmount is not safe unless it's made sure the ntfs-3g process
naturally terminates after calling “umount". If you wish this
message to disappear then you should upgrade to at least kernel
version 2.6.20, or request help from your distribution to fix
the kernel problem. The below web page has more information:
http://ntfs-3g.org/support.html#fuse26

Ensuite, nous vérifierons que le disque est correctement monté :

[root@localhost ~]# mount | grep sdj1
/dev/sdj1 on /mnt/seagate500gb type fuse (rw,allow_other)

Tout va bien, voyons le contenu du lecteur avec une commande :

[root@localhost ~]# ls -l /mnt/seagate500gb

drwxrwxrwx 1 root root 0 Apr 18 10:47 $RECYCLE.BIN
drwxrwxrwx 1 root root 0 Mar 27 15:33 RECYCLER
drwxrwxrwx 1 root root 0 Mar 27 22:16 System Volume Information

Vous pouvez ensuite copier certains fichiers sur la clé USB pour les tester. J’ai pu en tirer de très bonnes vitesses (50 Mo/s si je me souviens bien).

ÉTAPE 2 : INSTALLEZ LE SERVEUR SAMBA SUR ESX 4

Maintenant que l’hôte ESX peut accéder au lecteur NTFS externe, nous devons le rendre disponible pour les invités (et le reste du réseau dans ce cas, mais vous pouvez restreindre l’accès par IP et en utilisant un nom d’utilisateur/mot de passe).

Vous devez d’abord télécharger quelques RPM de la distribution CentOS 5.2 (sur laquelle ESX est basé), plus précisément :

  • samba-commun-3.0.28-1.el5_2.1.x86_64.rpm
  • cups-libs-1.2.4-11.18.el5_2.3.x86_64.rpm
  • samba-3.0.28-1.el5_2.1.x86_64.rpm

Leur localisation peut être un problème car la version 5.2 a été remplacée par des révisions plus récentes et de nombreux miroirs ont tendance à ne garder que la dernière révision. Je suggère de chercher le fichier RPM sur Google (il doit être x86_64 RPM avec la révision appropriée, je n’ai pas testé de version plus récente). Ou vous pouvez aller à la liste des miroirs de CentOS et rechercher la version 5 en 64 bits ici :
http://www.centos.org/modules/tinycontent/index.php?id=30

Une fois téléchargés, vous devez les installer/mettre à jour. Ignorez tout avertissement ou message indiquant que le paquet est déjà installé dans les commandes ci-dessous :

[root@localhost ~]# rpm -Uvh samba-common-3.0.28-1.el5_2.1.x86_64.rpm
[root@localhost ~]# rpm -Uvh nodeps cups-libs-1.2.4-11.18.el5_2.3.x86_64.rpm
[root@localhost ~]# rpm -Uvh samba-3.0.28-1.el5_2.1.x86_64.rpm

Ensuite, vous devez dire à ESX d’ouvrir le port entrant 445 sur l’hôte afin que d’autres ordinateurs (virtuels ou physiques) puissent se connecter au serveur Samba. Ouvrez le pare-feu dans ESX à l’aide de l’outil de ligne de commande :

esxcfg-firewall -o 445,tcp,in,smb-server

Vous pouvez également utiliser le client vSphere à la place.

ÉTAPE 3 : PARTAGEZ LE DISQUE DUR USB EXTERNE

Enfin, vous devez dire à Samba de partager votre clé USB montée (montée sur /mnt/seagate500gb dans cet exemple). Faites une recherche dessus si vous n’y êtes pas habitué. C’est un ancien éditeur de texte sous Unix et il est tout sauf convivial. Vous pouvez également éditer le fichier sur un ordinateur distant avec une interface graphique et simplement copier le fichier à son emplacement (/etc/samba/smb.conf)

[root@localhost ~]# vi /etc/samba/smb.conf

Dans la section [global], vous pouvez (optionnellement) les modifier :

workgroup = WORKGROUP_NAME
server string = ESX 4 Server

À la fin du fichier, ajoutez cette section :

# Seagate 500GB
[Seagate 500gb]
comment = Seagate 500GB Hard Drive
browseable = yes
writable = yes
valid users = root,otherusername
path = /mnt/seagate500gb

J’ai également ajouté ceux-ci afin de pouvoir avoir accès directement aux fichiers de la banque de données :

# VMFS
[vmfs]
comment = vmfs
browseable = yes
writable = yes
valid users = root,otherusername
path = /vmfs/volumes

# VM Images
[vmimages]
comment = vmimages
browseable = yes
writable = yes
valid users = root,otherusername
path = /vmimages

Maintenant, vous devez créer un mot de passe Samba pour root car il doit être synchronisé avec la base de données du nom d’utilisateur ESX (pour des raisons de sécurité, il serait encore mieux d’utiliser le nom d’utilisateur pour la synchronisation du mot de passe Samba et pour le partage dans smb.conf – l’option des utilisateurs valides), démarrer le service Samba et redémarrer le pare-feu.

[root@localhost ~]# smbpasswd -a root
[root@localhost ~]# /etc/init.d/smb start
[root@localhost ~]# /etc/init.d/firewall restart

Testez votre nouveau partage de disque dur USB NTFS externe sur vos clients Windows et/ou VM invitées et une fois que tout fonctionne, vous pouvez configurer Samba pour qu’il démarre automatiquement au démarrage du serveur ESX (pour éviter d’avoir à démarrer manuellement le serveur Samba, ce qui est toujours une option valide si vous voulez qu’il fonctionne occasionnellement) :

[root@localhost ~]# chkconfig level 3 smb on

En supposant que vous utilisez le démarrage automatique de Samba, ce serait également une bonne idée de monter automatiquement votre disque dur NTFS au démarrage (voir /etc/fstab pour plus d’informations).

Amuse-toi. Et rappelez-vous l’avertissement NTFS-3G ci-dessus.

RÉFÉRENCES

 

Explore our Advanced Email Security Solutions

Protect your clients and simplify your operations with reliable, scalable email security solutions. Get in touch today to learn how we can support your success.

SHARE WITH YOUR NETWORK!

Ready to See the Difference?
Discover our advanced security products today.

Faire défiler vers le haut

Joignez-vous à nous au MSP Summit Orlando, du 15 au 17 septembre – Code : Vircom