HA-Cluster: Unterschied zwischen den Versionen

Aus CCC Bremen
Keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 1: Zeile 1:
  // gentoo minimal live cd von gentoo.org laden, brennen und booten
{{Altlast}}
  //  z.B.:
tut mir leid, ich mache das fuer meinen Vater, der braucht das geschaeftlich, ich soll das nicht publishen. bitte nicht wiederherstellen!
  # wget ftp.gentoo.mesh-solutions.com/gentoo/releases/amd64/2008.0/installcd/install-amd64-minimal-2008.0.iso
* burn&boot
* 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
danke, keks
  # mkfs.ext2 /dev/sda1
  // gerade bei der boot-partition macht auch ReiserFS sinn.
  # mkswap /dev/sda2
  # mkfs.ext3 /dev/sda3


* root-Dateisystem mounten
bei fragen helfe ich aber gerne:
  # mount /dev/sda3 /mnt/gentoo
  # cd /mnt/gentoo


  // browser ist links
keks@unstable.nl
  // stage3-tarball laden
  # wget de.mirror.org/distro/gentoo/releases/amd64/2008.0/stages/stage3-amd64-2008.0.tar.bz2
  // aktuellen portage cache laden :
  # wget de-mirror.org/distro/gentoo/snapshots/portage-20080821.tar.bz2
  // Anm.: 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
  # tar -xvf stage3-amd64-2008.0.0.tar.bz2
  # cd 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
 
  // 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             
    // Anm.: 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
  # umount /mnt/gentoo/dev
  # 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, 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.

Aktuelle Version vom 2. Januar 2018, 16:48 Uhr

ALT Diese Seite ist eine Altlast! Sie könnte veraltete Informationen enthalten.

tut mir leid, ich mache das fuer meinen Vater, der braucht das geschaeftlich, ich soll das nicht publishen. bitte nicht wiederherstellen!

danke, keks

bei fragen helfe ich aber gerne:

keks@unstable.nl