5.5. Erstellen eines gespiegelten logischen LVM-Datenträgers in einem Cluster
Zum Erstellen eines gespiegelten logischen LVM-Datenträgers in einem Cluster verwenden Sie dieselben Befehle und Verfahren wie zum Erstellen eines gespiegelten logischen LVM-Datenträgers auf einem einzigen Knoten. Um jedoch einen gespiegelten logischen LVM-Datenträger in einem Cluster zu erzeugen, muss der Cluster und die Cluster-Spiegelinfrastruktur laufen, der Cluster muss einsatzbereit sein, und der Sperrtyp in der
lvm.conf
-Datei muss richtig eingestellt sein, um Cluster-Sperren zu aktivieren, entweder direkt oder mittels lvmconf
-Befehl wie in Abschnitt 3.1, »LVM-Datenträger in einem Cluster erstellen« beschrieben.
Das folgende Verfahren erstellt einen gespiegelten LVM-Datenträger in einem Cluster. Zunächst wird bei diesem Verfahren überprüft, ob die Cluster-Dienste installiert sind und ausgeführt werden, anschließend wird der gespiegelte Datenträger erstellt.
- Um einen gespiegelten logischen Datenträger zu erstellen, der von allen Knoten in einem Cluster gemeinsam verwendet wird, muss der Sperrtyp in der
lvm.conf
-Datei für jeden Knoten korrekt eingestellt sein. Standardmäßig ist der Sperrtyp auf lokal gesetzt. Führen Sie auf jedem Knoten im Cluster folgenden Befehl aus, um dies zu ändern und geclusterte Sperren zu aktivieren:#
/sbin/lvmconf --enable-cluster
- Um einen geclusterten logischen Datenträger zu erstellen, muss die Cluster-Infrastruktur auf jedem Knoten im Cluster ausgeführt werden. Im folgenden Beispiel wird überprüft, ob der
clvmd
-Daemon auf dem Knoten läuft, auf dem er initiiert wurde.[root@doc-07 ~]#
ps auxw | grep clvmd
root 17642 0.0 0.1 32164 1072 ? Ssl Apr06 0:00 clvmd -T20 -t 90Der folgende Befehl zeigt die lokale Ansicht des Cluster-Zustands:[root@example-01 ~]#
cman_tool services
fence domain member count 3 victim count 0 victim now 0 master nodeid 2 wait state none members 1 2 3 dlm lockspaces name clvmd id 0x4104eefa flags 0x00000000 change member 3 joined 1 remove 0 failed 0 seq 1,1 members 1 2 3 - Vergewissern Sie sich, dass das
cmirror
-Paket installiert ist. - Starten Sie den
cmirrord
-Dienst.[root@hexample-01 ~]#
service cmirrord start
Starting cmirrord: [ OK ] - Erstellen Sie den Mirror. Erzeugen Sie dazu zunächst die physischen Datenträger. Die folgenden Befehle erzeugen drei physische Datenträger. Zwei der physischen Datenträger werden als Standbeine des Mirrors verwendet, der dritte physische Datenträger wird das Mirror-Protokoll enthalten.
[root@doc-07 ~]#
pvcreate /dev/xvdb1
Physical volume "/dev/xvdb1" successfully created [root@doc-07 ~]#pvcreate /dev/xvdb2
Physical volume "/dev/xvdb2" successfully created [root@doc-07 ~]#pvcreate /dev/xvdc1
Physical volume "/dev/xvdc1" successfully created - Erstellen Sie die Datenträgergruppe. Dieses Beispiel erzeugt eine Datenträgergruppe namens
vg001
, die aus den drei physischen Datenträgern besteht, die im vorangegangenen Schritt angelegt wurden.[root@doc-07 ~]#
vgcreate vg001 /dev/xvdb1 /dev/xvdb2 /dev/xvdc1
Clustered volume group "vg001" successfully createdBeachten Sie, dass die Ausgabe desvgcreate
-Befehls anzeigt, ob die Datenträgergruppe geclustert ist. Sie können überprüfen, ob eine Datenträgergruppe geclustert ist, indem Sie denvgs
-Befehl ausführen, um die Parameter der Datenträgergruppe einzusehen. Ist die Datenträgergruppe geclustert, wird der "c"-Parameter angezeigt.[root@doc-07 ~]#
vgs vg001
VG #PV #LV #SN Attr VSize VFree vg001 3 0 0 wz--nc 68.97G 68.97G - Erstellen Sie den gespiegelten logischen Datenträger. Dieses Beispiel erzeugt den logischen Datenträger
mirrorlv
aus der Datenträgergruppevg001
. Dieser Datenträger hat ein Mirror-Standbein. Dieses Beispiel spezifiziert, welche Extents des physischen Datenträgers für den logischen Datenträger verwendet werden.[root@doc-07 ~]#
lvcreate -l 1000 -m1 vg001 -n mirrorlv /dev/xvdb1:1-1000 /dev/xvdb2:1-1000 /dev/xvdc1:0
Logical volume "mirrorlv" createdSie können denlvs
-Befehl nutzen, um den Fortschritt der Mirror-Erstellung anzuzeigen. Das folgende Beispiel zeigt, dass der Mirror zu 47% synchronisiert ist, dann 91%, und schließlich zu 100% synchronisiert, wenn der Mirror vollständig ist.[root@doc-07 log]#
lvs vg001/mirrorlv
LV VG Attr LSize Origin Snap% Move Log Copy% Convert mirrorlv vg001 mwi-a- 3.91G vg001_mlog 47.00 [root@doc-07 log]#lvs vg001/mirrorlv
LV VG Attr LSize Origin Snap% Move Log Copy% Convert mirrorlv vg001 mwi-a- 3.91G vg001_mlog 91.00 [root@doc-07 ~]#lvs vg001/mirrorlv
LV VG Attr LSize Origin Snap% Move Log Copy% Convert mirrorlv vg001 mwi-a- 3.91G vg001_mlog 100.00Der Abschluss der Mirror-Erstellung wird im Systemprotokoll vermerkt:May 10 14:52:52 doc-07 [19402]: Monitoring mirror device vg001-mirrorlv for events May 10 14:55:00 doc-07 lvm[19402]: vg001-mirrorlv is now in-sync
- Sie können
lvs
zusammen mit den-o +devices
-Optionen verwenden, um die Konfiguration des Mirrors anzuzeigen, z.B. welche Geräte die Mirror-Standbeine stellen. Wie Sie sehen, besteht der logische Datenträger in diesem Beispiel aus zwei linearen Images und einer Protokolldatei.[root@doc-07 ~]#
lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Convert Devices mirrorlv vg001 mwi-a- 3.91G mirrorlv_mlog 100.00 mirrorlv_mimage_0(0),mirrorlv_mimage_1(0) [mirrorlv_mimage_0] vg001 iwi-ao 3.91G /dev/xvdb1(1) [mirrorlv_mimage_1] vg001 iwi-ao 3.91G /dev/xvdb2(1) [mirrorlv_mlog] vg001 lwi-ao 4.00M /dev/xvdc1(0)Sie können dieseg_pe_ranges
-Option deslvs
-Befehls verwenden, um das Daten-Layout anzuzeigen. Mithilfe dieser Option können Sie sich vergewissern, dass Ihr Layout einwandfrei redundant ist. Die Ausgabe dieses Befehls zeigt PE-Bereiche in demselben Format an, das dielvcreate
- undlvresize
-Befehle als Eingabe akzeptieren.[root@doc-07 ~]#
lvs -a -o +seg_pe_ranges --segments
PE Ranges mirrorlv_mimage_0:0-999 mirrorlv_mimage_1:0-999 /dev/xvdb1:1-1000 /dev/xvdb2:1-1000 /dev/xvdc1:0-0
Anmerkung
Informationen über die Wiederherstellung nach dem Ausfall eines der Standbeine eines gespiegelten LVM-Datenträgers finden Sie in Abschnitt 6.3, »Wiederherstellung beim Ausfall eines LVM-Mirrors«.