Montag, 26. Januar 2009

XENserver - post-install-skript (beispiel für e1000e)

Zum Einbinden der neuen Intel Gigabit Desktop Adapter CT PCIe habe ich folgendes post-install-skript verwendet.

#!/bin/sh

(
echo "running post installation"

# wir befinden uns in / (installation-root)
# zielsystem ist gemountet in /tmp/root

# installation neuer Treiber w/ Unterstuetzung Intel 82574L (Intel Gigabit Desktop Adapter CT)
wget http://192.168.178.11/xen500/driver/e1000e.ko
cp e1000e.ko /tmp/root/lib/modules/2.6.18-92.1.10.el5.xs5.0.0.394.644xen/kernel/drivers/net/e1000e/

# update-pciids
wget http://192.168.178.11/xen500/driver/pci.ids.tbz2
tar xjf pci.ids.tbz2 -C /tmp/root/

# NIC vor- und -nach dem Entladen/Laden
ifconfig -a > /tmp/root/ifconfig-a
modprobe -r e1000e
insmod e1000e.ko
ifconfig -a > /tmp/root/ifconfig-b

# fuer das install-log
ifconfig -a

echo .....
) 2>&1

XENserver 5.0.0 answerfile (automatic installation)

Wenn man den XENserver mittels Auto-Install (ohne PXE) installieren möchte, so kann man die entsprechenden Parameter auch im CD-Boot-Prompt angeben.

boot> /boot/isolinux/mboot.c32 /boot/xen.gz console=tty \
--- /boot/vmlinuz root=/dev/ram0 console=tty0 ramdisk_size=32768 \
answerfile=http://installserver/answer/host/answerfile.xml install \
--- /install.img

Und schon geht es los mit der vollautomatischen XEN Installation.

XENserver 5.0.0 - installation via http-repository

Um XENserver 5.0.0 via http-repository zu installieren (und hier ggf. noch eigene Treiber etc. einbinden zu können) habe ich folgende Schritte vorgenommen:

mkdir -p /data/xenserver/5.0.0/{install,driver}

Kopieren der CD1 (xenserver)
cp -a /media/cdrom0/* /data/xenserver/5.0.0/install/
Kopieren der CD2 (linux support)
cp -a /media/cdrom1/* /data/xenserver/5.0.0/install/
Anpassen des Webservers (httpd.conf)
Alias /xen500 /data/xenserver/5.0.0
Driver-Repository

Eigene Treibermodule können unter /data/xenserver/5.0.0/driver abgelegt werden.

Probleme: Ggf. ist ein Treibermodul bereits geladen und es kann daher ein Modul mit gleichem Namen nicht (über)laden werden. Hier ist (noch) manuell einzugreifen mittels modprobe -r modulname . Ebenso könnte es sein, dass die pci.ids nicht aktuell sind. Dann sind die korrekten im Installationsroot als /usr/share/misc/pci.ids abzulegen.

Booten mit der 1. CD

  • Load a driver
  • Mediatype: HTTP/FTP
  • Repository: http://myserver/xen500/driver

Ggf. muss hier auf Konsole 2 (mittels ALT+F2) o.a. Handarbeit vorgenommen werden.

Alternative: PXEboot

Sonntag, 25. Januar 2009

RHEL52 - java profile

Um in RHEL5 auch immer das passende JAVA mit entsprechenden Umgebungsvariablen gesetzt zu haben und hat man auch stets die "alternatives" angepaßt, so ist die Umgebung in der /etc/profile.d/java bequem zu setzen.

/etc/profile.d/java.sh
#!/bin/sh

JAVA_BIN=`dirname $(/usr/sbin/alternatives --display java | /bin/awk '/Current.*best.*version/ {print $NF}')`
JAVA_HOME=`dirname $JAVA_BIN`
J2RE_HOME=$JAVA_HOME/jre
JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_BIN:$JRE_HOME/bin:$J2RE_HOME/bin:$PATH
export JAVA_BIN JAVA_HOME J2RE_HOME JRE_HOME

XENserver - Automatisches Provisionieren von RHEL5.2

Unter der Annahme, dass wir auf xen211 installieren wollen, können wir folgendermaßen eine Kickstart Installation vornehmen.

#!/bin/sh

TIRI_UUID=$(xe vm-install new-name-label='r5.2-x86_64' template='Red Hat Enterprise Linux 5.2 x64' sr-uuid=$(xe sr-list params=uuid host='xen211' name-label='Local storage'|awk '{print $NF}') on='xen211')
xe vif-create device=0 network-uuid=$(xe network-list params=uuid bridge=xenbr0 | awk '{print $NF}') vm-uuid=$TIRI_UUID

xe vm-param-set uuid=$TIRI_UUID other-config:install-repository=http://192.168.178.10/yum/5Server/os/x86_64
xe vm-param-set uuid=$TIRI_UUID PV-args='graphical utf8 ks=http://192.168.178.10/yum/kickstart/ks-r5.cfg ksdevice=eth0'

xe vm-start uuid=$TIRI_UUID

XENserver - lokale DatenLV erstellen

Um lokale Backups oder andere Sachen bequem ablegen zu können, empfiehlt es sich, eine eigenes Volume zu erzeugen.

Zunächst läßt man sich mittels vgs die verfügbaren Volumegroups anzeigen.

# vgs
VG #PV #LV #SN Attr VSize VFree
VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68 1 8 0 wz--n- 457.99G 229.39G
Jetzt kann man in die bestehende VG ein logisches Volume "datalv" erstellen.

# lvcreate -v -L 200G -n datalv VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68
Finding volume group "VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68"
Archiving volume group "VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68" metadata (seqno 10).
Creating logical volume datalv
Creating volume group backup "/etc/lvm/backup/VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68" (seqno 11).
Found volume group "VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68"
Creating VG_XenStorage--05311684--f218--401a--0caa--dfcce1a83d68-datalv
Loading VG_XenStorage--05311684--f218--401a--0caa--dfcce1a83d68-datalv table
Resuming VG_XenStorage--05311684--f218--401a--0caa--dfcce1a83d68-datalv (252:6)
Clearing start of logical volume "datalv"
Creating volume group backup "/etc/lvm/backup/VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68" (seqno 11).
Logical volume "datalv" created
Die LVs sind noch zu aktivieren, so dass der Host auch Zugriff darauf hat:

# vgchange -ay
8 logical volume(s) in volume group "VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68" now active
Nun noch ein Dateisystem drauf und mounten und das LV steht bereit.

# lvs
LV VG Attr LSize Origin Snap% Move Log Copy%
LV-0da77540-0ce3-4293-9718-768d36e5e908 VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68 -wi-ao 8.50G
LV-278f5146-bbea-4220-b216-24ef76f5a8ef VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68 -wi-ao 4.00G
LV-5cf27ec2-e798-4304-affc-5b7a3dee7e27 VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68 -wi-a- 4.80G
LV-6a4ef2ab-c78f-4de7-ba9d-5d048a7941a6 VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68 -wi-ao 820.00M
LV-80b296d2-9b88-4f98-b3ef-4122d8765374 VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68 -wi-ao 9.50G
LV-9ef4f2e6-23bd-415d-acc0-f8efef3603ef VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68 -wi-ao 512.00M
LV-a79deac9-8dfe-4136-95a0-4d5fc6adae12 VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68 -wi-ao 512.00M
datalv VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68 -wi-a- 200.00G
# mkfs.ext3 /dev/VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68/datalv
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
26214400 inodes, 52428800 blocks
2621440 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
1600 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872

Writing inode tables: 696/1600
...
disable FS-Check
tune2fs -c0 -i0 /dev/VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68/datalv
mount

# mkdir -p /data
# mount /dev/VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68/datalv /data

df -h

Filesystem Size Used Avail Use% Mounted on
/dev/sda1 3.8G 1.7G 1.9G 48% /
none 377M 0 377M 0% /dev/shm
/dev/mapper/VG_XenStorage--05311684--f218--401a--0caa--dfcce1a83d68-datalv
197G 188M 187G 1% /data