Inhaltsverzeichnis
- Ersetzen einer root Volume Group disk
- Disk und Filesystem tasks
- Anlegen einer neuen Volume Group und Logical Volumes
- Display volume group
- zusätzliche disk in die Volume Group einfügen
- disk aus einer Volume Group herausnehmen
- extend Logical Volume
- Support für Files größer 2GB
- Exportieren und Importieren von Volume Groups
- Exportieren und Importieren von Volume Groups auf Cluster Systemen
- Umbenennen eines Logical Volumes
- LVM mirror disk
- LVM mirror disk (PVG used)
- LVM PVG
- LVM Recovery
- usefull commands
- Kommando-Übersicht
- HPUX LVM Version 2
Ersetzen einer root Volume Group disk
HPUX Replace Root DiskDisk und Filesystem tasks
suchen nach angeschlossenen Festplattenioscan -fnC disk
Anlegen einer neuen Volume Group und Logical Volumes
Physical disks initialisieren für die Benutzung unter LVM
pvcreate /dev/rdsk/c42t0d3 pvcreate /dev/rdsk/c44t0d3 pvcreate /dev/rdsk/c38t0d4 pvcreate /dev/rdsk/c40t0d4
Volume Group anlegen (incl. "alternate Link")
mkdir /dev/vg40 mknod /dev/vg40/group c 64 0x280000 #0x28 (hex) = 40 (dez) vgcreate -e 16384 -s 32 /dev/vg40 /dev/dsk/c42t0d3 /dev/dsk/c38t0d4 /dev/dsk/c44t0d3 /dev/dsk/c40t0d4 vgextend /dev/vg40 /dev/dsk/c38t0d3 /dev/dsk/c42t0d4 /dev/dsk/c40t0d3 /dev/dsk/c44t0d4
Anlegen der logical volumes
Volumes definiert anlegen nach dem Muster:volume:mount point:LV Size[MB]:BLK Size[bytes]:disk1:mirror disk2
Mit Hilfe folgender Syntax:
VG=vg40 IFS=: for volume in \ lvol1:/test/vol1:640::c42t0d3:c44t0d3 \ lvol2:/test/vol2:320::c42t0d3:c44t0d3 \ lvol3:/test/vol3:64::c38t0d4:c40t0d4 \ lvol4:/test/vol4:6400:8192:c38t0d4:c40t0d4 \ lvol5::6400:8192:c38t0d4: \ do set -A VAL $(print "$volume") lvcreate -n ${VAL[0]} /dev/$VG lvextend -L ${VAL[2]} /dev/$VG/${VAL[0]} /dev/dsk/${VAL[4]} if [ ! -z "${VAL[5]}" ] ; then lvextend -m 1 /dev/$VG/${VAL[0]} /dev/dsk/${VAL[5]} fi newfs -F vxfs -o largefiles ${VAL[3]:+"-b ${VAL[3]}"} /dev/$VG/r${VAL[0]} if [ ! -z "${VAL[1]}" ] ; then mkdir -p ${VAL[1]} echo "/dev/$VG/${VAL[0]} ${VAL[1]} vxfs delaylog 0 2" >> /etc/fstab fi done unset IFS
File Systeme müssen anschließend in die /etc/fstab eingetragen werden!
Bei gespiegelten Logical Volumes sollte anstatt:
lvcreate -n ${VAL[0]} /dev/$VG
folgende Syntax:
lvcreate -s y -C y -n ${VAL[0]} /dev/$VG
damit beim erweitern, die Physical Extends (PE) nicht die gleichen Festplatten belegen und eine zusammenhängende Verteilung durchgeführt wird.
Display volume group
vgdisplay -v vg40
zusätzliche disk in die Volume Group einfügen
pvcreate -f /dev/rdsk/c0t4d0 vgextend vg40 /dev/dsk/c0t4d0
disk aus einer Volume Group herausnehmen
vgreduce vg01 /dev/dsk/c0t4d0
extend Logical Volume
mit Online JFS
mit Online JFS sollte wie folgt vorgegangen werden. Damit bei mehreren Festplatten die Logical Extend (LE) nicht auf mehrere Festplatten expandiert werden, sollte vorzugsweise das Physical Volume mit angegebenen werden.Logical Volume vergrößern
lvextend -L 1036 /dev/vg00/lvol5 [/dev/dsk/c42t0d3]
Filesystem anpassen
fsadm -F vxfs -b 1036M /ccf_drive
oder bei älteren HPUX Versionen über die Anzahl der Blocks (Blocks=Size[MB] x 1024 ==> Blocks=1036 x 1024=1060864)
fsadm -F vxfs -b 1060864 /ccf_drive
ohne Online JFS
umount des Logical Volume notwendig und ggfs. killen aller Prozesse die auf das Logical Volume zugreifen.umount /dev/vg23/lvol1
Falls der umount nicht möglich ist kann man mit folgendem Kommando alle Prozesse killen, welche auf das Logical Volume zugreifen.
Achtung: Kommando nur absetzen, wenn man sich ganz sicher ist welche Auswirkungen dies hat.
fuser -ku /dev/vg23/lvol1
Anschließen kann das Logical Volume erweitert und das File System vergrößert werden.
lvextend -L larger_size /dev/vg23/lvol1 extendfs -F vxfs /dev/vg23/rlvol1
mount des vergrößerten Filesystems
mount /dev/vg23/lvol1 /ccf_drive
Support für Files größer 2GB
Setzen des largefiles Support für Files größer 2GBfsadm -F vxfs -o largefiles /ccf_drive
Exportieren und Importieren von Volume Groups
Exportieren und Importieren einer Volume Groups auf einem anderen Server.- Volume Group deaktivieren
vgchange -a n /dev/vgdata
- Export der der Volume Group und anlegen des mapfiles [enhält die Beschreibung der Volume Group]
vgexport -v -m /scratch/data_map vgdata
- Übertragen des mapfiles auf den neuen Server
scp /scratch/data_map [NEW_SERVER]:/scratch
- Anlegen der device Struktur die für die neue Volume Group benötigt wird.
mkdir /dev/vgdata mknod /dev/vgdata/group c 64 0x02000
- Importieren der Volume Group auf dem neuen Server
vgimport -v -m data_map /dev/vgdata
- Volume Group aktivieren
vgchange -a y /dev/vgdata
Exportieren und Importieren von Volume Groups auf Cluster Systemen
Wenn Volume Groups auf "high availability" Servern exportiert und auf den anderen Nodes importiert werden sollen, sollte die -s Option benutzt werden. Diese Option schreibt zwingend die Definition der Optionen -p -v und -m vor.- Export der der Volume Group und anlegen des mapfiles [enhält die Beschreibung der Volume Group]
vgexport -s -p -v -m /scratch/data_map vgdata
- Übertragen des mapfiles auf den neuen Server
scp /scratch/data_map [NEW_SERVER]:/scratch
- Anlegen der device Struktur die für die neue Volume Group benötigt wird.
mkdir /dev/vgdata mknod /dev/vgdata/group c 64 0x02000
- Importieren der Volume Group auf dem neuen Server
vgimport -s -v -m data_map /dev/vgdata
Umbenennen eines Logical Volumes
Umbenennen eines Logical Volumes von /dev/vgdata/lvol1 nach /dev/vgdata/lvdataumount /dev/vgdata/lvol1
Listen der special file
ll /dev/vgdata/*lvol1
brw-r----- 1 root root 64 0x010001 Dec 31 17:59 lvol1
crw-r----- 1 root root 64 0x010001 Dec 31 17:59 rlvol1
crw-r----- 1 root root 64 0x010001 Dec 31 17:59 rlvol1
übernehmen der minor number (0x010001) bei dem anlegen der neuen special file der Logical Volume Namen
mknod /dev/vgdata/lvdata b 64 0x010001 mknod /dev/vgdata/rlvdata c 64 0x010001
Ändern der /etc/fstab
vi /etc/fstab
mounten des Logical Volumes
mount /dev/vgdata/lvdata
Löschen der special file
rmsf /dev/vgdata/lvol1 rmsf /dev/vgdata/rlvol1
LVM mirror disk
Einbinden der neuer Festplatten
Special files anlegen:insf -e
Volume Group bearbeiten
create physical volumepvcreate /dev/rdsk/[disk1] pvcreate /dev/rdsk/[disk2]
hinzufügen der neuen disks in die Volume Group vgAAA
vgextend /dev/vgAAA /dev/dsk/[primary disk1] [/dev/dsk/[alternate disk1]] vgextend /dev/vgAAA /dev/dsk/[primary disk2] [/dev/dsk/[alternate disk2]]
spiegeln der Logical Volumes auf die neuen Festplatten
Dies ist sinnvoll, wenn mehrere Logical Volumes auf unterschiedliche Disks gespiegelt werden soll
for VOLUME in 01 02 05 06 09 10 ... do echo lvextend -m 2 /dev/vgAAA/lvol$VOLUME /dev/dsk/XXXX time lvextend -m 2 /dev/vgAAA/lvol$VOLUME /dev/dsk/XXXX done for VOLUME in 03 04 07 08 ... do echo lvextend -m 2 /dev/vgAAA/lvol$VOLUME /dev/dsk/YYYY time lvextend -m 2 /dev/vgAAA/lvol$VOLUME /dev/dsk/YYYY done
LVM mirror disk (PVG used)
LVM PVG
LVM physical volume group information file /etc/lvmpvg is an ASCII file that stores the volume-group information for all of the physical volume groups in the system. The information is stored in a hierarchical format.First, it starts with a volume group under which multiple physical volume groups can exist. Under each physical volume group, a list of physical volumes can be specified. There must be at least one physical volume group in each volume group that appears in this file.
The physical-volume-group name must be unique within the corresponding volume group, although it is permissible to use a common physical volume group name across different volume groups. There can be as many volume groups in this file as there are in the system.
The variables are defined as follows:
vg_name The path name of the volume group.
pv_path The block device path name of a physical volume within the volume group.
pvg_name The name of the physical volume group. It must be unique within the volume group.
Example:
VG /dev/vg00 PVG PVG0_orig /dev/dsk/c2t0d0 /dev/dsk/c2t1d0 PVG PVG0_mirr /dev/dsk/c3t0d0 /dev/dsk/c3t1d0 VG /dev/vg01 PVG PVG1_orig /dev/dsk/c4t0d0 PVG PVG1_mirr /dev/dsk/c5t0d0 PVG PVG1_2mirr /dev/dsk/c6t0d0
LVM Recovery
Aktion nach jeder Installation/Umkonfiguration
Die Konfiguration des LVM ist in den reservierten Bereichen am Anfang eines jeden Physical Volume (nämlich im PVRA, VGRA) gespeichert. Wenn diese Bereiche zerstört wurden, ist eine Rekonstruktion der Daten auf den Logical Volume nicht mehr möglich. Unter HP-UX wird automatisch nach jeder Änderung der LVM-Struktur ein Backup der Konfiguration einer VG gemacht. Standardmäßig liegt die Backupdatei in /etc/lvmconf/VG.Diese Sicherung kann aber auch manuell erfolgen:
vgcfgbackup /dev/vg00
Volume Group configuration for /dev/vg00 has been saved in /etc/lvmconf/vg00.conf
Der Inhalt des Backupfiles für die Volume Group /dev/vg00 kann aufgelistet werden mit:
vgcfgrestore -l -n /dev/vg00
Die PVRA/VGRA können dann, falls die Bereiche am Anfang der Platte zerstört wurden oder eine defekte Platte ersetzt wurde, wiederhergestellt werden:
vgcfgrestore -n /dev/vg00 /dev/rdsk/c0t6d0
Volume Group configuration has been restored to
/dev/rdsk/c0t6d0
/dev/rdsk/c0t6d0
Hinweis:Unter HP-UX gibt es für viele LVM Kommandos die Option "-A n", die veranlaßt, daß keine automatische Sicherung der LVM-Konfiguration vorgenommen wird. Auf diese Weise kann man vermeiden, daß einem diese wichtige Datei durch Ausführung eines LVM-Befehls überschrieben wird.
usefull commands
EMC empfohlene LVM Settings
Die Bad Block für die Logical Volumes müssen auf off gesetzt werden und weiter empfiehlt EMC den Timeoutauf den Physical Volume bei Stand Alone Servern auf 60s und bei Clustern auf 90s zu setzen.
"Bad Block Reallocation" Settings für Logical Volumes
"bad block reallocation" (BBR) off für EMC Storage Systemeschaltet die BBR komplett aus:
lvchange -r n /dev/vgXX/lvolXX
stellt sicher dass der LVM keine BBR durchführt, die BBR des Storage Systems ist aber transparent zum LVM:
lvchange -r N /dev/vgXX/lvolXX
"Timeout" Settings für Physical Volumes
pvchange -t [N sec] /dev/rdsk/cXtYdZ
suche zugehörige PV (Physical Volume) der Mirror
1. Spiegel
lvdisplay -v /dev/[VG NAME]/[LV NAME] | egrep "^ *LE|^[0-9]"|sort -uk2,2
2. Spiegel
lvdisplay -v /dev/[VG NAME]/[LV NAME] | egrep "^ *LE|^[0-9]"|sort -uk5,5
3. Spiegel
lvdisplay -v /dev/[VG NAME]/[LV NAME]| egrep "^ *LE|^[0-9]"|sort -uk8,8
Kommando-Übersicht
Kommando | Beschreibung~ |
---|---|
lvmmigrate | Umstellung von Sections zu LV |
extendfs | Erweitern ein Filesystem |
lvcreate | Erzeugen eine Logical Volumes |
lvchange | Verändern von Parametern eines LV |
lvdisplay | Anzeigen von LV Parametern |
lvextend | Vergrößern eines LV |
lvlnboot | Setzen von Root, Dump und Swap Info im BDRA |
lvreduce | Verkleinern eines LV |
lvremove | Entfernen von LV |
lvrmboot | Entfernen von Root, Dump und Swap Info aus BDRA |
pvchange | Ändern von Parametern einer LVM-Disk |
pvcreate | Einrichten einer LVM-Disk |
pvdisplay | Anzeigen von PV Parametern |
pvmove | Verschieben von Daten von einem PV zum anderen |
vgcfgbackup | Sichern einer VG Konfiguration |
vgcfgrestore | Zurueckspielen einer VG Konfiguration |
vgchange | Ändern von Parametern einer VG |
vgcreate | Erzeugen einer VG |
vgdisplay | Anzeigen von VG Parametern |
vgexport | Entfernen einer VG vom System |
vgimport | Hinzufügen einer VG zu einem System |
vgextend | Erweitern einer VG durch Hinzufügen von Disks |
vgreduce | Entfernen von Disks aus einer VG |
vgremove | Entfernen einer VG |
vgscan | Rekonstruieren der Datei /etc/lvmtab |
ioscan | Anzeigen von angschlossener Hardware |
swapinfo | Anzeigen der Swap-Konfiguration |
diskinfo | Anzeigen des Disktypes |
lvmerge | Zusammenfügen von gespiegelten Platten |
lvspit | Trennen von gespiegelten Platten |
lvsync | Synchronisieren eines gespiegelten LV |
vgsync | Synchronisieren aller gespiegelten LV einer VG |