NFS Speicher in VMware ESXi einbinden

In meinem letzten Artikel ging es um das Einrichten eines NFS Servers.
Dieser findet nun Verwendung in einer VMware ESXi Umgebung.

Wie man die NFS Freigabe dort einbindet zeigt folgendes Video:
[YouTube-Link]:NFS Freigabe in VMware ESXi einbinden Achtung! Fullscreen

Wenn dieser Datenspeicher mehreren ESX-Servern, die zu einem HA-Cluster zusammengeschlossen sind, zur Verfügung steht hat man die Möglichkeit der Migration von Virtuellen Maschinen innerhalb des Clusters. Die Migration einer VM kann während des betriebs durchgeführt werden und der Nutzer bemerkt höchstens ein zucken, falls er Remote darauf zugreift.

NFS Server mit NIC Bonding

Um einen NFS Server mit NIC Bonding (HP: NIC Teaming) aufzusetzen benötigt man folgendes:

Hardware:
PC mit freien PCI- und PCIe-Steckplätzen
mind. 2 Gigabit Ethernet Karten
1x HDD oder RAID als Systemplatte
1x Größtmögliche(s) HDD o. RAID5 (empfohlen)
RAM: mind. 1GB
CPU: ab 2GHz (mit 64bit Unterstützung)

OS: Debian 6.0.5 x64
Pakete:
ifenslave-2.6
nfs-kernel-server
nfs-common
portmap

(optional: openssh-server, samba)

Für das Beispiel wird das Ganze in einer VM als Demo laufen, die einzelnen Schritte sind aber auf das reale System übertragbar.

Beispiel:
ISO-Datei des Debian Systems (debian-6.0.5-amd64-netinst.iso) herunterladen und auf CD-brennen. (Für die VM reicht die ISO)

VM mit 3 Festplatten und 2 Netzwerkkarten erstellen
1. Festplatte (System) 8GB
2. & 3. Festplatte 0.5GB

Das Debian System ohne die Grafische Desktop-Umgebung installieren.
Nach dem Neustart sich als root anmelden.

Jetzt die oben genannten Pakete installieren.
apt-get install ifenslave-2.6 nfs-kernel-server nfs-common portmap

Konfigurieren des NIC Bondings

Netzwerkschnittstellen herunterfahren
ifconfig eth0 down
ifconfig eth1 down

mit nano die Datei /etc/network/interfaces öffnen und die folgenden Zeilen mit einer # auskommentieren.
# allow-hotplug eth0
# iface eth0 inet dhcp

Folgendes der Datei /etc/network/interfaces hinzufügen
auto bond0
iface bond0 inet dhcp
slaves eth0 eth1
# Wenn alle Netzwerkschnittstellen verwendet werden sollen.
# slaves all

# Modes
#
# mode=0 (balance-rr)
# Round-robin policy: Transmit packets in sequential order from the first
# available slave through the last. This mode provides load balancing and
# fault tolerance.
#
# mode=1 (active-backup)
# One slave interface is active at any time. If one interface fails,
# another interface takes over the MAC address and becomes the active
# interface. Provides fault tolerance only. Doesn’t require special switch # support
#
# mode=2 (balance-xor)
# Tranmissions are balanced across the slave interfaces based on ((source
# MAC) XOR (dest MAC)) modula slave count. The same slave is selected for
# each destination MAC. Provides load balancing and fault tolerance.
#
# mode=3 (broadcast)
# Transmits everything on all slave interfaces. Provides fault tolerance.
#
# mode=4 (802.3ad)
# This is classic IEEE 802.3ad Dynamic link aggregation. This requires
# 802.3ad support in the switch and driver support for retrieving the speed # and duplex of each slave.
#
# mode=5 (balance-tlb)
# Adaptive Transmit Load Balancing. Incoming traffic is received on the
# active slave only, outgoing traffic is distributed according to the
# current load on each slave. Doesn’t require special switch support
#
# mode=6 (balance-alb)
# Adaptive Load Balancing - provides both transmit load balancing (TLB) and
# receive load balancing for IPv4 via ARP negotiation. Doesn’t require
# special switch support, but does require the ability to change the MAC
# address of a device while it is open.
bond-mode 0
bond-miimon 100

Speichern der Datei mit [Ctrl]+[O].

NFS freigaben einrichten

Als root anmelden.

Einhängepunkte erstellen:
mkdir /media/DATA1
mkdir /media/DATA2

Gerätenamen der Datenfestplatten ermitteln:
fdisk –l

Für das VM Beispiel:
Disk /dev/sdb: 536 MB, 536870912 bytes
64 heads, 32 sectors/track, 512 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/sdc: 536 MB, 536870912 bytes
64 heads, 32 sectors/track, 512 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdc doesn't contain a valid partition table

Partitionen und Dateisystem auf den Datenfestplatten erstellen:
fdisk /dev/sdb
n
p
1
[Return]
[Return]
w

mkfs.ext3 /dev/sdb1
das gleiche für /dev/sdc

Automatisches Einhängen beim Bootvorgang:
Die Datei /etc/fstab mit nano öffnen und die folgenden Zeilen hinzufügen

/dev/sdb1 /media/DATA1 ext3 rw,user,auto 0 0
/dev/sdc1 /media/DATA2 ext3 rw,user,auto 0 0

NFS freigaben bekanntgeben
Die Datei /etc/exports mit nano öffnen und folgendes Zeilen einfügen:

/media/DATA1 *(rw,no_root_squash,no_subtree_check)
/media/DATA2 *(rw,no_root_squash,no_subtree_check)

Speichern der Datei mit [Ctrl]+[O].

Jetzt das System neustarten und der NFS-Server ist soweit eingerichtet.