HD VDR
- Thermaltake DH 202
- Intel Pentium G620T
- Intel DH67BL
- Technotrend Premium S2-6400 Twin HD
- Crucial m4 64 GB SSD
- FSP Fortron/Source Aurum Gold 400W
- Scythe Big Shuriken
- LG DVD-RW
- 4 GB RAM
- Thermaltake DH 202
- Intel Pentium G620T
- Intel DH67BL
- Technotrend Premium S2-6400 Twin HD
- Crucial m4 64 GB SSD
- FSP Fortron/Source Aurum Gold 400W
- Scythe Big Shuriken
- LG DVD-RW
- 4 GB RAM
So WordPress und Theme sind jetzt nach Jahren der Abstinenz mal wieder upgedatet.
In Zukunft wird bestimmt öfters wenn nicht sogar regelmäßig gebloggt… lol
Hier ist ein Beispiel, wie man ein komplettes Festplatten Image eines Rechners übers Netzwerk mit dd und netcat ziehen kann inkl. Kompression (lzop) und Fortschrittsanzeige (pv).
Das ganze macht man am besten über Knoppix die fehlenden Programme können mittels apt-get installieren werden.
Ziel Rechner:
netcat -l -p 5555 | lzop -d | dd of=/dev/sda bs=16065b
Quell Rechner:
dd if=/dev/sda bs=16065b | pv | lzop | netcat IPAddr 5555
Sollte sich apt mal weigern alle Updates einzuspielen, wie hier z.B.:
# apt-get upgrade
Reading package lists… Done
Building dependency tree… Done
The following packages have been kept back:
linux-headers-2.6-xen-vserver-amd64 linux-image-2.6-xen-vserver-amd64 openssh-client openssh-server
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
So kann man mit apt-get dist-upgrade die Kiste doch zur Mitarbeit überreden
# apt-get dist-upgrade
Reading package lists… Done
Building dependency tree… Done
Calculating upgrade… Done
The following NEW packages will be installed:
linux-headers-2.6.18-6-xen-vserver linux-headers-2.6.18-6-xen-vserver-amd64 linux-image-2.6.18-6-xen-vserver-amd64 linux-modules-2.6.18-6-xen-vserver-amd64 openssh-blacklist
The following packages will be upgraded:
linux-headers-2.6-xen-vserver-amd64 linux-image-2.6-xen-vserver-amd64 openssh-client openssh-server
4 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 23.7MB of archives.
After unpacking 102MB of additional disk space will be used.
Allerdings sollte man einen Blick darauf werfen, was jetzt alles genau upgedatet wird!
Falls eines Tages bei einem apt-get update die folgende Meldung auftauchen sollte:
Reading package lists… Done
W: There is no public key available for the following key IDs:
4D270D06F42584E6
W: You may want to run apt-get update to correct these problems
so hilft ein einfaches
# apt-key update
Wer anstatt der Auto-Responder Nachricht nur die folgende Fehlermeldung geschickt bekommt, sollte mal folgendes machen.
Command
died with status 25: “/var/www/vhcs2/engine/messager/vhcs2-arpl-msgr”.
Command output: Can’t return outside a subroutine at
/var/www/vhcs2/engine/messager/vhcs2-arpl-msgr line 1570.
mkdir -p /var/log/vhcs2/vhcs2-arpl-msgr/
chown vmail:mail /var/log/vhcs2/vhcs2-arpl-msgr
chown vmail:mail /var/www/vhcs2/engine/messager/
chmod 644 /etc/vhcs2/vhcs2.conf
Außerdem muss die Postfix Konfiguration noch angepasst werden:
/etc/postfix/main.cf
vhcs2-arpl_destination_recipient_limit = 1
transport_destination_recipient_limit = 1
/etc/postfix/master.cf
vhcs2-arpl unix – n n – – pipe flags=O user=vmail argv=/var/www/vhcs2/engine/messager/vhcs2-arpl-msgr
/etc/init.d/postfix reload und Gut is…
Es ist an der Zeit auf einen neuen Rootserver umzuziehen und den Alten in den wohlverdienten Ruhestand zu schicken. Dazu sind die folgenden Schritte notwendig:
Das vorinstallierte Debian 4 bietet leider kein Software RAID und kein LVM.
Das System via installimage von Hetzner neu aufsetzen bietet keine Möglichkeit das LVM anzulegen
Also müssen wir das System manuell über das Rescuesystem installieren
Das Rettungssystem verfügt aber alles um den Server nach den eigenen Wunschvorstellungen aufzusetzen, fehlende Pakete lassen sich mit apt-get install nachinstallieren (Platz auf RAM-Disk vorausgesetzt)
Anlegen der Partitionierung über fdisk oder cfdisk.
Die beiden angelegten RAID-Partionen erhalten den Typ fd (sda1 und sda3), die Swap-Partition sda2 den Typ 82.
sfdisk -d /dev/sda | sfdisk /dev/sdb
Unter Umständen reboot damit die neue Partitionstabelle neu eingelesen wird.
Swap Partitionen formatieren und aktivieren
mkswap /dev/sda2
mkswap /dev/sdb2
swapon /dev/sda2
swapon /dev/sdb2
RAID:
Die mit dem Typ fd gekennzeichneten Partitionenspaare sollen nun zu RAID-Arrays zusammengefügt werden, dazu dient das Programm mdadm:
mdadm –create /dev/md0 –level 1 –raid-devices=2 /dev/sda1 /dev/sdb1
mdadm –create /dev/md1 –level 1 –raid-devices=2 /dev/sda3 /dev/sdb3
Fortschritt cat /proc/mdstat noch bequemer watch -n 10 “cat /proc/mdstat”
Die RAID-Devices md0 und md1 können jetzt bereits genutzt werden.
Das RAID-Gerät md0 soll als /boot dienen, daher formatieren wir es ganz konservativ mit ext2.
mkfs.ext2 /dev/md0
LVM:
Jetzt legen wir LVM über das RAID-Blockdevice md1 (sda3 und sdb3).
LVM fasst sogenannte Physical Volumes zu Volume Groups zusammen, in denen schließlich dann die Logical Volumes, also die schlussendlichen Dateisysteme entstehen. Hier in unserem Fall besteht die einzige Volume-Gruppe nur aus einem physischen Volume, nämlich dem RAID-Array md1. Mit dem Programm pvcreate (Physical Volume Create) schreibt LVM seine Signatur auf den Datenträger.
pvcreate /dev/md1
Da sich nun langsam sehr viele Schichten überlappen, ist Vorsicht geboten: Schnell wendet man Befehle auf die falsche Ebene an, und vertauscht LVM-Volumes, RAID-Array und Partitionen.
Aus dem physischen Volume erzeugen wir nun eine Volume Group namens main:
vgcreate main /dev/md1
Nun fehlen nur noch die logischen Volumes – um später auf sich ändernde Umstände vorbereitet zu sein, habe ich noch Platz in der Volume-Gruppe gelassen.
lvcreate -n root -L 2G main
lvcreate -n var -L 2G main
Die logischen Datenträger nun mit dem EXT3-Dateisystem formatiert:
mkfs.ext3 /dev/main/root
mkfs.ext3 /dev/main/var
Damit ist die Einrichtung der Festplatten abgeschlossen
Debian Installation:
Die neu angelegten Partitionen werden gemountet, beispielsweise unterhalb des Verzeichnisses /mnt
mount /dev/main/root /mnt
mkdir /mnt/boot
mkdir /mnt/varmount /dev/md0 /mnt/boot
mount /dev/main/var /mnt/var/
Damit steht unterhalb von /mnt/ der künftige Dateibaum bereit
Debootstrap:
debootstrap –arch amd64 etch /mnt/ http://ftp.de.debian.org/debian
mount -o bind /sys /mnt/sys
mount -t proc none /mnt/proc
mount -o bind /dev /mnt/devchroot /mnt /bin/bash
passwd
vi /etc/fstab
proc /proc proc defaults 0 0
/dev/md0 /boot ext2 defaults 0 2
/dev/main/root / ext3 defaults,errors=remount-ro 0 1
/dev/main/var /var ext3 defaults 0 2
/dev/sda2 none swap defaults,pri=1 0 0
/dev/sdb2 none swap defaults,pri=1 0 0
vi /etc/network/interfaces
# Loopback device:
auto lo
iface lo inet loopback# device: eth0
auto eth0
iface eth0 inet static
address 78.46.43.xx
netmask 255.255.255.224
broadcast 78.46.43.255
gateway 78.46.43.xxx# default route to access subnet
up route add -net 78.43.46.xxx netmask 255.255.255.224 gw 78.46.43.xxx eth0# zusätzliche IP-Adressen
# IP-Adressen für Xen Maschinen auskommentieren!
# up ip addr add 78.47.115.xx/29 dev eth0
# up ip addr add 78.47.115.xx/29 dev eth0
# up ip addr add 78.47.115.xx/29 dev eth0
up ip addr add 78.47.115.xx/29 dev eth0
up ip addr add 78.47.115.xx/29 dev eth0
up ip addr add 78.47.115.xx/29 dev eth0# Proxy-ARP für Xen aktivieren
post-up echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
Kernel und Bootloader:
apt-get install linux-image-2.6-xen-vserver-amd64
apt-get install lvm2 mdadm
apt-get install grub
grep -v rootfs /proc/mounts > /etc/mtab
grub-install –no-floppy /dev/md0
grub –no-floppy
/boot liegt auf (hd0,0) (d.h. sda1/sdb1), also liegt der Kernel hier: (hd0,0)/vmlinuz-2.6.18-4-k7 . Deswegen sagen wir in der grub shell:
root (hd0,0)
setup (hd0)
root (hd1,0)
setup (hd1)
quit
Xen:
apt-get install ssh openssh-server vim-full
apt-get remove exim4 exim4-base lpr nfs-common portmap pidentd pcmcia-cs pppoe pppoeconf ppp pppconfig liloapt-get install xen-hypervisor-3.0.3-1-amd64 xen-tools xen-linux-system-2.6.18-4-xen-vserver-amd64 linux-headers-2.6-xen-vserver-amd64 bridge-utils iproute
Das automatisch ausgeführte update-grub sollte /boot/grub/menu.lst eigentlich korekt konfigurieren,
es empfiehlt sich jedoch die Dateien /etc/fstab und /boot/grub/menu.lst nochmals zu kontrollieren, sonst muss der Hetzner Support aufs Knöpfchen drücken…
Wer will kann gleich den RAM Hunger der Dom0 zügeln mit dom0_mem=128000 setzt man das Limit auf ca. 128 MB
/boot/grub/menu.st
# which config to boot from
default 0
fallback 0# using boot partition from 1st disk
title 1st HDD – Xen 3.0.3-1-amd64 / Debian GNU/Linux, kernel 2.6.18-5-xen-vserver-amd64
root (hd0,0)
kernel /xen-3.0.3-1-amd64.gz dom0_mem=128000
module /vmlinuz-2.6.18-5-xen-vserver-amd64 root=/dev/mapper/main-root ro console=tty0
module /initrd.img-2.6.18-5-xen-vserver-amd64
savedefault# using boot partition from 2nd disk
title 2st HDD – Xen 3.0.3-1-amd64 / Debian GNU/Linux, kernel 2.6.18-5-xen-vserver-amd64
root (hd1,0)
kernel /xen-3.0.3-1-amd64.gz dom0_mem=128000
module /vmlinuz-2.6.18-5-xen-vserver-amd64 root=/dev/mapper/main-root ro console=tty0
module /initrd.img-2.6.18-5-xen-vserver-amd64
savedefault
chroot verlassen mit
exit
reboot
Jetzt werden Sekunden zu Minuten in denen der Puls ordentlich steigt. Wenn die Maschine hochgekommen ist mit ssh anmelden
uname -a
Linux srv-xen-01 2.6.18-5-xen-vserver-amd64 #1 SMP Mon Dec 3 06:34:34 UTC 2007 x86_64 GNU/Linux
Anpassen der xen-tools
vi /etc/xen-tools/xen-tools.conf
lvm = main
size = 100Gb # Disk image size.
memory = 1024Mb # Memory size
swap = 128Mb # Swap size
noswap = 1 # Don’t use swap at all for the new system.
fs = ext3 # use the EXT3 filesystem for the disk image.
dist = sarge # Default distribution to install.
image = sparse # Specify sparse vs. full disk images.kernel = /boot/vmlinuz-2.6.18-5-xen-vserver-amd64
initrd = /boot/initrd.img-2.6.18-5-xen-vserver-amd64arch=i386
Jetzt kann die erste VM mit Hilfe der xen-tools erstellt werden:
xen-create-image –hostname xen-vm-01 –ip=78.47.115.xx –gateway=78.47.115.xx –netmask=255.255.255.248
Nachdem wir über den Luxus eines eigenen Subnetzes verfügen, ändern wir die XEN Netzwerkeinstellungen um unseren VMs im sog. Routed Modus und nicht Bridging Modues zu betreiben.
vi /etc/xen/xend-config.sxp
(network-script network-route)
(vif-script vif-route)
Jetzt können wir die VM starten und uns auf die Console verbinden.
xm create xen-vm-01.cfg
xm console xen-vm-01
Virtualisierung:
Der alte Server kann wie folgt virtualisiert werden. Am Besten bootet man den alten ins Rescuesystem und mounten seine Platten, ggf. /boot, /var usw. nicht vergessen und wieder mit chroot betreten.
Wer möchte kann vorher ein package cleanup bzw. aptitude autoclean durchführen.
Anschließend eine Datei .EXCLUDES mit folgendem Inhalt anlegen
lost+found/
/etc/mtab
/dev/*
/proc/*
/sys/*
/tmp/*
/var/tmp/*
/usr/tmp/*
/mnt/*
Die VM muss vorher natürlich heruntergefahren werden und die Platten müssen auf dem XEN Host gemountet werden.
Jetzt kann auf dem alten Server der rsync gestartet werden:
rsync -avz –numeric-ids -e “ssh” –delete –delete-excluded –exclude-from=.EXCLUDES –progress /* root@XEN-Host:/mnt/xen-vm-01
Da bei den meisten gänigen Linux Distributionen udev läuft müssen wir noch ein paar spezielle Geräte anlegen dazu vorher das MAKEDEV vom Original in die VM kopieren:
scp root@srchost:/dev/MAKEDEV /mnt/disk/dev/
Anschließend auf dem XEN-Host die VM mittels chroot betreten und folgendes Kommando absetzen:
cd /dev; ./MAKEDEV null random urandom console zero
VHCS IP-Adresse ändern
Zuerst den vhcs2_daemon stoppen, der Rest erfolgt über die MySQL Datenbank.
mysql -u root -p vhcs2
mysql > UPDATE server_ips SET ip_number = “%NEUE_IP%” WHERE ip_id = “%ALTE_IP%”
mysql > UPDATE subdomain SET subdomain_status = “change” WHERE subdomain_status = “ok”;
mysql > UPDATE domain SET domain_status = “change” WHERE domain_status = “ok”;
mysql > UPDATE domain_aliasses SET alias_status = “change” WHERE alias_status = “ok”;
Jetzt manuell den Request Manager ausführen:
/var/www/vhcs2/engine/ispcp-rqst-mngr
Dann nochmal die Apache und Bind Konfiguration überprüfen und dann kann der VHCS Daemon wieder gestartet werden.
Um eine komfortable Sicherung aller MySQL Datenbanken eines Server zu erhalten,
eignet sich das Script automysqlbackup hervorragend.
Es hält verschiedene Stände des Backups vor, da es täglich, wöchentlich, monatlich und jährlich unterscheiden kann.
Es kann automatisch jede Datenbank sichern und jede Datenkbank wird in ein einzelnes File gesichert.
Die Konfiguration dabei ist denkbar einfach.
# Username to access the MySQL server e.g. dbuser
USERNAME=dbbackup# Username to access the MySQL server e.g. password
PASSWORD=password# Host name (or IP address) of MySQL server e.g localhost
DBHOST=localhost# List of DBNAMES for Daily/Weekly Backup e.g. “DB1 DB2 DB3″
DBNAMES=”all”# Backup directory location e.g /backups
BACKUPDIR=”/var/backup”
Der User benötigt lediglich das SELECT und LOCK Privilig auf die Datenkbanken.
Wird bei DBNAMES=”all” konfiguirert werden sämtlich Datenbanken gesichert,
wird dies nicht gewünscht können natürlich auch nur einzelne Datenkbanken ausgewählt werden.
Um wertvollen Speicherplatz auf einem Root-Server zu sparen, können die Backups auch automatisch komprimiert werden
Unter Redhat gibt es die Möglichkeit die Geschwindigkeites und Duplex-Optionen für eine Netzwerkkarte bei jedem booten zu setzen,
außerdem lässt sich die Route für das APIPA Netz deaktivieren
ETHTOOL_OPTS=”speed 100 duplex full autoneg off”
NOZEROCONF=yes
Beim Updaten via portupgrade kommt folgende Fehlermeldung:
[Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 331 packages
found (-0 +1) . done]
[missing key: categories] [Updating the portsdb <format:bdb_btree> in
/usr/ports ... - 16436 port entries found
.........1000.........2000.........3000.........14000.........15000.........16000..... done]
missing key: categories: Cannot read the portsdb!
database file error
Lösung:
portupgrade wurde von /usr/ports/sysutils/portupgrade nach /usr/ports/ports-mgmt/portupgrade verschoben,
deshalb cd /usr/ports/ports-mgmt/portupgrade && make clean deinstall install