HA-Cluster: Unterschied zwischen den Versionen

Aus CCC Bremen
(Beginn einer Gentoo-HA-Cluster Doku. Nicht vollstaendig, und auch noch nicht laufend...)
 
Keine Bearbeitungszusammenfassung
Zeile 43: Zeile 43:


* chrooten
* chrooten
** # chroot /mnt/gentoo
  # chroot /mnt/gentoo
*** Ab jetzt sind wir im userland der neuen installation!
*** Ab jetzt sind wir im userland der neuen installation!
** # env-update && source /etc/profile
  # env-update && source /etc/profile
** # nano /etc/make.conf
  # nano /etc/make.conf
*** CFLAFGS="-O2 -march=athlon64 -pipe" ; C optimieren für athlon64
    CFLAFGS="-O2 -march=athlon64 -pipe" ; C optimieren für athlon64
*** CXXFLAGS="-O2 -march=athlon64 -pipe" ; C++ optimieren für athlon64
    CXXFLAGS="-O2 -march=athlon64 -pipe" ; C++ optimieren für athlon64
*** USE="unicode nls ncurses mmx sse sse2" ; unicode + nls: anständige darstellng von zeichen, ncurses: cli-support, der rest sind cpu-erweiterungen  
    USE="unicode nls ncurses mmx sse sse2" ; unicode + nls: anständige darstellng von zeichen, ncurses: cli-support, der rest sind cpu-erweiterungen  
*** MAKEOPTS="-j3" ; lässt 3 gcc instanzen parallel beim kompilieren laufen - faustregel: anzahl kerne + 1
    MAKEOPTS="-j3" ; lässt 3 gcc instanzen parallel beim kompilieren laufen - faustregel: anzahl kerne + 1
***save+exit
    //save+exit (Ctrl+X...)
** nano /etc/conf.d/keymaps
  nano /etc/conf.d/keymaps
*** KEYMAP="de"
    KEYMAP="de"
** # mkdir /etc/portage
  # mkdir /etc/portage
** # echo "app-editors/vim-core bash-completion" >> /etc/portage/package.use
  # echo "app-editors/vim-core bash-completion" >> /etc/portage/package.use
** # echo "app-editors/vim bash-completion" >> /etc/portage/package.use
  # echo "app-editors/vim bash-completion" >> /etc/portage/package.use
** # echo "app-admin/eselect bash-completion vim-syntax" >> /etc/portage/package.use
  # echo "app-admin/eselect bash-completion vim-syntax" >> /etc/portage/package.use
** # emerge -av =app-editors/vim-7.2
  # emerge -av =app-editors/vim-7.2
** # emerge -av =sys-kernel/gentoo-sources-2.6.25-r7 ;  wenn man bei emerge eine bestimmte version möchte, muss man dies  
  # emerge -av =sys-kernel/gentoo-sources-2.6.25-r7 ;  wenn man bei emerge eine bestimmte version möchte, muss man dies  
                                                        auf diese weise angeben: =kategorie/paket-version
auf diese weise angeben: =kategorie/paket-version
** # echo "sys-kernel/genkernel bash-completion" >> /etc/portage/package.use ;  um die anwendungen anzupassen, kann man  
  # echo "sys-kernel/genkernel bash-completion" >> /etc/portage/package.use ;  um die anwendungen anzupassen, kann man  
                                                                                die in emerge -av [paket] aufgelisteten USE-flags setzen
die in emerge -av [paket] aufgelisteten USE-flags setzen
** # emerge -av =sys-kernel/genkernel-3.4.10-r1
  # emerge -av =sys-kernel/genkernel-3.4.10-r1
** # emerge -av eix
  # emerge -av eix
** # vi /etc/fstab  
  # vi /etc/fstab  
*** /dev/sda1 /boot [...]
    /dev/sda1 /boot [...]
*** /dev/sda2 swap  [...]
    /dev/sda2 swap  [...]
*** /dev/sda3 /    [...]
    /dev/sda3 /    [...]
** # genkernel all --menuconfig --splash ; menuconfig: manuelles einstellen der kernel-configuration, splash: framebuffer-console
  # genkernel all --menuconfig --splash ; menuconfig: manuelles einstellen der kernel-configuration, splash: framebuffer-console
*** General Setup -> Local Version = +0.1
    General Setup -> Local Version = +0.1
*** Processor type and features -> Processor family = Opteron/Athlon64...
    Processor type and features -> Processor family = Opteron/Athlon64...
*** Device Drivers -> <M> Connector - unified userspace <-> kernelspace linker
    Device Drivers -> <M> Connector - unified userspace <-> kernelspace linker
*** Device Drivers -> Graphics support -> Console display driver support -> [*]Enable Scrollback Buffer in System RAM
    Device Drivers -> Graphics support -> Console display driver support -> [*]Enable Scrollback Buffer in System RAM
*** Device Drivers -> Graphics support -> Console display driver support -> Scrollback Buffer Size (in KB) = 1024
    Device Drivers -> Graphics support -> Console display driver support -> Scrollback Buffer Size (in KB) = 1024
*** File Systems -> <M> OCFS2 file system support
    File Systems -> <M> OCFS2 file system support
*** Cryptographic API -> <M> Whirlpool digest algorithms
    Cryptographic API -> <M> Whirlpool digest algorithms
*** Exit & warten, bis Kernel und Module rdy sind..."this may take some time."
    Exit & warten, bis Kernel und Module rdy sind..."this may take some time."
** # vi /etc/conf.d/hostname ; HOSTNAME setzen
  # vi /etc/conf.d/hostname ; HOSTNAME setzen
*** HOSTNAME="HAKMadam" bzw. HOSTNAME="HAKMeva"
    HOSTNAME="HAKMadam" bzw. HOSTNAME="HAKMeva"
** # vi /etc/conf.d/net  
  # vi /etc/conf.d/net  
*** config_eth0=( "192.168.1.2 netmask 255.255.255.0 brd 192.168.1.255" )
    config_eth0=( "192.168.1.2 netmask 255.255.255.0 brd 192.168.1.255" )
*** config_eth1=( "192.168.2.1 netmask 255.255.255.0 brd 192.168.2.255" )
    config_eth1=( "192.168.2.1 netmask 255.255.255.0 brd 192.168.2.255" )
*** dns_domain_lo="HAKMeden"
    dns_domain_lo="HAKMeden"
** # ln -s /etc/init.d/net.eth0 /etc/init.d/net.eth1
  # ln -s /etc/init.d/net.eth0 /etc/init.d/net.eth1
** # rc-update add net.eth0 default ;netzwerk beim booten starten
  # rc-update add net.eth0 default ;netzwerk beim booten starten
** # rc-update add net.eth1 default ;netzwerk beim booten starten
  # rc-update add net.eth1 default ;netzwerk beim booten starten
** # vi /etc/hosts
  # vi /etc/hosts
*** 127.0.0.1  HAKMadam.HAKMeden HAKMadam localhost ;bzw jeweils HAKMeva
    127.0.0.1  HAKMadam.HAKMeden HAKMadam localhost ;bzw jeweils HAKMeva
***
   
*** 192.168.2.1 HAKMadam.HAKMeden HAKMadam
    192.168.2.1 HAKMadam.HAKMeden HAKMadam
*** 192.168.2.2 HAKMeva.HAKMeden HAKMeva
    192.168.2.2 HAKMeva.HAKMeden HAKMeva
** # vi /etc/conf.d/clock
  # vi /etc/conf.d/clock
*** CLOCK="local"
    CLOCK="local"
*** TIMEZONE-"Europe/Berlin"
    TIMEZONE-"Europe/Berlin"
** # emerge =app-admin/metalog-0.8-r1 ;logging fuers fehlerfinden und so
  # emerge =app-admin/metalog-0.8-r1 ;logging fuers fehlerfinden und so
** # emerge =sys-apps/slocate-3.1-r1 ;dateien suchen
  # emerge =sys-apps/slocate-3.1-r1 ;dateien suchen
** # emerge =net-misc/dhcpcd-3.2.3  ;fuer lan, zumindest beim setup
  # emerge =net-misc/dhcpcd-3.2.3  ;fuer lan, zumindest beim setup
** # emerge -av =sys-boot/grub-0.97-r6 ; emerge bootloader
  # emerge -av =sys-boot/grub-0.97-r6 ; emerge bootloader
** # vi /boot/grub/grub.conf
  # vi /boot/grub/grub.conf
*** timeout 3
    timeout 3
*** title Gentoo 2.6.25-r7
    title Gentoo 2.6.25-r7
*** root (hd,0)
    root (hd,0)
*** kernel /kernel-genkernel-x86_64-2.6.25-gentoo-r7+0.3 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda3 vga=0x317 udev
    kernel /kernel-genkernel-x86_64-2.6.25-gentoo-r7+0.3 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda3 vga=0x317 udev
*** initrd /initramfs-genkernel-x86_64-2.6.25-gentoo-r7+0.3
    initrd /initramfs-genkernel-x86_64-2.6.25-gentoo-r7+0.3
** # grep -v rootfs /proc/mounts > /etc/mtab ; mtab gibts nicht, weil das ein chroot-system ist. muss aber fuer grub-install erstellt werden, und rootfs hat da nix drinne zu suchen.
  # grep -v rootfs /proc/mounts > /etc/mtab ; mtab gibts nicht, weil das ein chroot-system ist. muss aber fuer grub-install erstellt werden, und rootfs hat da nix drinne zu suchen.
** # grub-install --no-floppy /dev/sda
  # grub-install --no-floppy /dev/sda
** # passwd ; root-passwd setzen
  # passwd ; root-passwd setzen
** # exit ; chroot system wird verlassen
  # exit ; chroot system wird verlassen
* # cd ; raus aus dem mountpoint von /dev/sda3 o.ae.
 
  # cd ; raus aus dem mountpoint von /dev/sda3 o.ae.
usb-platte fuer sicherung anschliessen und mounten
usb-platte fuer sicherung anschliessen und mounten
* # mkdir /mnt/usb
  # mkdir /mnt/usb
* # mount /dev/sdb1 /mnt/usb
  # mount /dev/sdb1 /mnt/usb
* # umount /mnt/gentoo/* ; /proc, /boot und /dev, der rest wird ignoriert
  # umount /mnt/gentoo/* ; /proc, /boot und /dev, der rest wird ignoriert
* # mount /dev/sda1 /mnt/gentoo/boot
  # mount /dev/sda1 /mnt/gentoo/boot
* # tar -czvf /mnt/usb/HAKM-amd64-stage4.tar.gz /mnt/gentoo/*  
  # tar -czvf /mnt/usb/HAKM-amd64-stage4.tar.gz /mnt/gentoo/*  
* # umount /mnt/gentoo/boot
  # umount /mnt/gentoo/boot
* # umount /mnt/gentoo
  # umount /mnt/gentoo
* # reboot
  # reboot


Wir booten in das System. Alles sollte gut laufen.
Wir booten in das System. Alles sollte gut laufen.

Version vom 2. September 2008, 23:50 Uhr

  • gentoo minimal live cd von gentoo.org laden, brennen und booten
    • z.b. # wget ftp.gentoo.mesh-solutions.com/gentoo/releases/amd64/2008.0/installcd/install-amd64-minimal-2008.0.iso
  • netzwerkdevices werden (hoffentlich) automatisch erkannt
  • festplatten partitionieren (bei 160gig, gemappt als /dev/sda:)
    • mit dem fdisk von der livecd
    • blocksize 512
    • sda1: boot, 00122 cyl,001959876 blocks
    • sda2: swap, 00972 cyl,015631245 blocks
    • sda3: root, 06078 cyl,097659135 blocks
    • sda4: data, 12238 cyl,197326395 blocks
  • Dateisysteme erstellen
    • # mkfs.ext2 /dev/sda1
      • gerade bei der boot-partition macht auch ReiserFS sinn.
    • # mkswap /dev/sda2
    • # mkfs.ext3 /dev/sda3
  • root-Dateisystem mounten
    • # mount /dev/sda3 /mnt/gentoo
  • in das root-Dateisystem wechseln
    • # cd /mnt/gentoo
  • browser ist links
  • stage3-tarball laden
    • /mnt/gentoo # wget de.mirror.org/distro/gentoo/releases/amd64/2008.0/stages/stage3-amd64-2008.0.tar.bz2
  • aktuellen portage cache laden
    • /mnt/gentoo # wget de-mirror.org/distro/gentoo/snapshots/portage-20080821.tar.bz2
    • um den aktuellsten zu bekommen, benutze wget de-mirror.org/distro/gentoo/snapshots/portage-latest.tar.bz2 ich moechte es hier reproduzierbar halten
  • tarballs entpacken
    • /mnt/gentoo # tar -xvf stage3-amd64-2008.0.0.tar.bz2
    • /mnt/gentoo # cd usr
    • /mnt/gentoo/usr # tar -xvf ../portage-20080821.tar.bz2
  • System zum chroot vorbereiten
    • # mount /dev/sda1 /mnt/gentoo/boot
    • # mount -o bind /dev /mnt/gentoo/dev
    • # mount -t proc none /mnt/gentoo/proc
    • # cp /etc/resolv.conf /mnt/gentoo/etc/ ; DNS-informationen<F2>
  • chrooten
 # chroot /mnt/gentoo
      • Ab jetzt sind wir im userland der neuen installation!
  # env-update && source /etc/profile
  # nano /etc/make.conf
   CFLAFGS="-O2 -march=athlon64 -pipe" ; C optimieren für athlon64
   CXXFLAGS="-O2 -march=athlon64 -pipe" ; C++ optimieren für athlon64
   USE="unicode nls ncurses mmx sse sse2" ; unicode + nls: anständige darstellng von zeichen, ncurses: cli-support, der rest sind cpu-erweiterungen 
   MAKEOPTS="-j3" ; lässt 3 gcc instanzen parallel beim kompilieren laufen - faustregel: anzahl kerne + 1
   //save+exit (Ctrl+X...)
 nano /etc/conf.d/keymaps
   KEYMAP="de"
  # mkdir /etc/portage
  # echo "app-editors/vim-core bash-completion" >> /etc/portage/package.use
  # echo "app-editors/vim bash-completion" >> /etc/portage/package.use
  # echo "app-admin/eselect bash-completion vim-syntax" >> /etc/portage/package.use
  # emerge -av =app-editors/vim-7.2
  # emerge -av =sys-kernel/gentoo-sources-2.6.25-r7 ;  wenn man bei emerge eine bestimmte version möchte, muss man dies 

auf diese weise angeben: =kategorie/paket-version

  # echo "sys-kernel/genkernel bash-completion" >> /etc/portage/package.use ;  um die anwendungen anzupassen, kann man 

die in emerge -av [paket] aufgelisteten USE-flags setzen

  # emerge -av =sys-kernel/genkernel-3.4.10-r1
  # emerge -av eix
  # vi /etc/fstab 
   /dev/sda1 /boot [...]
   /dev/sda2 swap  [...]
   /dev/sda3 /     [...]
  # genkernel all --menuconfig --splash ; menuconfig: manuelles einstellen der kernel-configuration, splash: framebuffer-console
   General Setup -> Local Version = +0.1
   Processor type and features -> Processor family = Opteron/Athlon64...
   Device Drivers -> <M> Connector - unified userspace <-> kernelspace linker
   Device Drivers -> Graphics support -> Console display driver support -> [*]Enable Scrollback Buffer in System RAM
   Device Drivers -> Graphics support -> Console display driver support -> Scrollback Buffer Size (in KB) = 1024
   File Systems -> <M> OCFS2 file system support
   Cryptographic API -> <M> Whirlpool digest algorithms
   Exit & warten, bis Kernel und Module rdy sind..."this may take some time."
  # vi /etc/conf.d/hostname ; HOSTNAME setzen
   HOSTNAME="HAKMadam" bzw. HOSTNAME="HAKMeva"
  # vi /etc/conf.d/net 
   config_eth0=( "192.168.1.2 netmask 255.255.255.0 brd 192.168.1.255" )
   config_eth1=( "192.168.2.1 netmask 255.255.255.0 brd 192.168.2.255" )
   dns_domain_lo="HAKMeden"
  # ln -s /etc/init.d/net.eth0 /etc/init.d/net.eth1
  # rc-update add net.eth0 default ;netzwerk beim booten starten
  # rc-update add net.eth1 default ;netzwerk beim booten starten
  # vi /etc/hosts
   127.0.0.1   HAKMadam.HAKMeden HAKMadam localhost ;bzw jeweils HAKMeva
   
   192.168.2.1 HAKMadam.HAKMeden HAKMadam
   192.168.2.2 HAKMeva.HAKMeden HAKMeva
  # vi /etc/conf.d/clock
   CLOCK="local"
   TIMEZONE-"Europe/Berlin"
  # emerge =app-admin/metalog-0.8-r1 ;logging fuers fehlerfinden und so
  # emerge =sys-apps/slocate-3.1-r1 ;dateien suchen
  # emerge =net-misc/dhcpcd-3.2.3  ;fuer lan, zumindest beim setup
  # emerge -av =sys-boot/grub-0.97-r6 ; emerge bootloader
  # vi /boot/grub/grub.conf
   timeout 3
   title Gentoo 2.6.25-r7
   root (hd,0)
   kernel /kernel-genkernel-x86_64-2.6.25-gentoo-r7+0.3 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda3 vga=0x317 udev
   initrd /initramfs-genkernel-x86_64-2.6.25-gentoo-r7+0.3
  # grep -v rootfs /proc/mounts > /etc/mtab ; mtab gibts nicht, weil das ein chroot-system ist. muss aber fuer grub-install erstellt werden, und rootfs hat da nix drinne zu suchen.
  # grub-install --no-floppy /dev/sda
  # passwd ; root-passwd setzen
  # exit ; chroot system wird verlassen
  # cd ; raus aus dem mountpoint von /dev/sda3 o.ae.

usb-platte fuer sicherung anschliessen und mounten

 # mkdir /mnt/usb
 # mount /dev/sdb1 /mnt/usb
 # umount /mnt/gentoo/* ; /proc, /boot und /dev, der rest wird ignoriert
 # mount /dev/sda1 /mnt/gentoo/boot
 # tar -czvf /mnt/usb/HAKM-amd64-stage4.tar.gz /mnt/gentoo/* 
 # umount /mnt/gentoo/boot
 # umount /mnt/gentoo
 # reboot

Wir booten in das System. Alles sollte gut laufen. wir werden wahrscheinlich kein netz haben, da per default der pc auf 192.168.1.2 geht, und keine routen einrichtet dhcp starten wir mit

  • # dhcpcd eth0

dann installieren wir links:

  • # emerge -av =www-clients/links-2.1

wir gehen auf http://jan.rshost.de/ebuilds/ und laden uns die drbd-ebuilds herunter. wir richten uns einen portage-overlay ein, damit wir eigene ebuilds benutzen koennen

  • # vi /etc/make.conf
    • PORTDIR_OVERLAY="/usr/local/portage"
  • # mkdir /usr/local/portage

wir fuegen unsere ebuilds hinzu. Sie sind in der kategorie sys-cluster. also erstellen wir in unserem overlay einen ordner "sys-cluster"

  • # mkdir /usr/local/portage/sys-cluster

jedes paket braucht einen eigenen ordner. also:

  • # mkdir /usr/local/portage/sys-cluster/drbd
  • # mkdir /usr/local/portage/sys-cluster/drbd-kernel

jetzt werden die ebuilds in die entsprechenden Ordner verschoben:

  • # mv drbd-8.2.6.ebuild /usr/local/portage/sys-cluster/drbd/
  • # mv drbd-kernel-8.2.6.ebuild /usr/local/portage/sys-cluster/drbd-kernel/

drbd-kernel braucht noch einen patch.dieser kommt in den unterordner files:

  • # mkdir /usr/local/portage/sys-cluster/drbd-kernel/files
  • # cd /usr/local/portage/sys-cluster/drbd-kernel/files
  • # cp /usr/portage/sys-cluster/drbd-kernel/files/drbd-kernel-8.0.0-scripts.adjust_drbd_config_h.sh.patch ./

auch drbd braucht eine datei

  • # mkdir /usr/local/portage/sys-cluster/drbd/files
  • # cd /usr/local/portage/sys-cluster/drbd/files
  • # cp /usr/portage/sys-cluster/drbd/files/drbd-8.0.rc ./

Damit Portage die Pakete in den Cache aufnimmt, muessen sie erst "verdaut" werden:

  • # ebuild /usr/local/portage/sys-cluster/drbd/drbd-8.2.6.ebuild digest
  • # ebuild /usr/local/portage/sys-cluster/drbd-kernel/drbd-kernel-8.2.6.ebuild digest

404-fehler sind kein problem, das heisst nur, dass dieser mirror die datei nciht hat. ein anderer hat sie bestimmt. jetzt kann drbd installiert werden:

  • # emerge -av drbd

dann die configfile:

  • # vi /etc/drbd.conf ; ja, die datei gibt es noch nicht
    • siehe cluster-files/drbd.conf
  • # rc-update add drbd default

Wenn alles problemlos lief, wieder sichern, diesmal mit dem dateinamen HAKM-amd64-4.5.tar.gz den anderen node partitionieren, tarballs entpacken, hostnames und IPs anpassen,dann installieren wir links:

  • # emerge -av =www-clients/links-2.1

wir gehen auf http://jan.rshost.de/ebuilds/ und laden uns die drbd-ebuilds herunter. wir richten uns einen portage-overlay ein, damit wir eigene ebuilds benutzen koennen

  • # vi /etc/make.conf
    • PORTDIR_OVERLAY="/usr/local/portage"
  • # mkdir /usr/local/portage

wir fuegen unsere ebuilds hinzu. Sie sind in der kategorie sys-cluster. also erstellen wir in unserem overlay einen ordner "sys-cluster"

  • # mkdir /usr/local/portage/sys-cluster

jedes paket braucht einen eigenen ordner. also:

  • # mkdir /usr/local/portage/sys-cluster/drbd
  • # mkdir /usr/local/portage/sys-cluster/drbd-kernel

jetzt werden die ebuilds in die entsprechenden Ordner verschoben:

  • # mv drbd-8.2.6.ebuild /usr/local/portage/sys-cluster/drbd/
  • # mv drbd-kernel-8.2.6.ebuild /usr/local/portage/sys-cluster/drbd-kernel/

drbd-kernel braucht noch einen patch.dieser kommt in den unterordner files:

  • # mkdir /usr/local/portage/sys-cluster/drbd-kernel/files
  • # cd /usr/local/portage/sys-cluster/drbd-kernel/files
  • # cp /usr/portage/sys-cluster/drbd-kernel/files/drbd-kernel-8.0.0-scripts.adjust_drbd_config_h.sh.patch ./

auch drbd braucht eine datei

  • # mkdir /usr/local/portage/sys-cluster/drbd/files
  • # cd /usr/local/portage/sys-cluster/drbd/files
  • # cp /usr/portage/sys-cluster/drbd/files/drbd-8.0.rc ./

Damit Portage die Pakete in den Cache aufnimmt, muessen sie erst "verdaut" werden:

  • # ebuild /usr/local/portage/sys-cluster/drbd/drbd-8.2.6.ebuild digest
  • # ebuild /usr/local/portage/sys-cluster/drbd-kernel/drbd-kernel-8.2.6.ebuild digest

404-fehler sind kein problem, das heisst nur, dass dieser mirror die datei nciht hat. ein anderer hat sie bestimmt. jetzt kann drbd installiert werden:

  • # emerge -av drbd

dann die configfile:

  • # vi /etc/drbd.conf ; ja, die datei gibt es noch nicht
    • siehe cluster-files/drbd.conf
  • # rc-update add drbd default

Wenn alles problemlos lief, wieder sichern, diesmal mit dem dateinamen HAKM-amd64-4.5.tar.gz den anderen node partitionieren, tarballs entpacken, hostnames und IPs anpassen, chrooten und grub installieren. neustarten und von der internen platte booten

Jetzt sollte es ein device /dev/drbd0 geben. jetzt koennen wir weiter konfigurieren.

  • # drbdadm create-md ha ; auf adam UND eva ausfuehren
  • # drbdsetup /dev/drbd0 primary --overwrite-data-of-peer ; nur auf adam ausfuehren

jetzt synchronisieren die nodes. um den status zu ueberwachen hilft ein

  • # watch -n 1 "cat /proc/drbd" ; beliebig mit greps gefolgt.

wenn beide UpToDate sind, ist drbd fertig. Am besten noch 2mal neustarten, um zu sehen, ob das auch alles sofort beim booten klappt.

Jetzt fangen wir mit der installation vom Oracle Cluster Filesystem 2 (ocfs2) an. Das Verzeichniss /usr/local/portage/sys-fs/ocfs2-tools/ erstellen. Den inhalt von http://bugs.gentoo.org/attachment.cgi?id=163410 in die Datei ocfs2-tools-1.4.1.ebuild schreiben. jetzt noch ebuild /usr/local/portage/sys-fs/ocfs2-tools/ocfs2-tools-1.4.1.ebuild digest ausfuehren.

  • # echo "=sys-fs/ocfs2-tools-1.4.1 ~*" >> /etc/portage/package.keywords
  • # emerge -av =sys-fs/ocfs2-tools-1.4.1

Jetzt die Konfigurationsdatei ./cluster-files/cluster.conf nach /etc/ocfs2/cluster.conf kopieren, gegebenenfalls anpassen.


chrooten und grub installieren. neustarten und von der internen platte booten

Jetzt sollte es ein device /dev/drbd0 geben. jetzt koennen wir weiter konfigurieren.

  • # drbdadm create-md ha ; auf adam UND eva ausfuehren
  • # drbdsetup /dev/drbd0 primary --overwrite-data-of-peer ; nur auf adam ausfuehren

jetzt synchronisieren die nodes. um den status zu ueberwachen hilft ein

  • # watch -n 1 "cat /proc/drbd" ; beliebig mit greps gefolgt.

wenn beide UpToDate sind, ist drbd fertig. Am besten noch 2mal neustarten, um zu sehen, ob das auch alles sofort beim booten klappt.

Jetzt fangen wir mit der installation vom Oracle Cluster Filesystem 2 (ocfs2) an. Das Verzeichniss /usr/local/portage/sys-fs/ocfs2-tools/ erstellen. Den inhalt von http://bugs.gentoo.org/attachment.cgi?id=163410 in die Datei ocfs2-tools-1.4.1.ebuild schreiben. jetzt noch ebuild /usr/local/portage/sys-fs/ocfs2-tools/ocfs2-tools-1.4.1.ebuild digest ausfuehren.

  • # echo "=sys-fs/ocfs2-tools-1.4.1 ~*" >> /etc/portage/package.keywords
  • # emerge -av =sys-fs/ocfs2-tools-1.4.1

Jetzt die Konfigurationsdatei ./cluster-files/cluster.conf nach /etc/ocfs2/cluster.conf kopieren, gegebenenfalls anpassen.