====== openQRM - installieren ====== aktuelle 10GB-NIC's ermitteln: # lspci | awk '/10-Gigabit/ {print $1}' | while read PCIID;do find /sys/ | fgrep ${PCIID} | egrep address$ | awk -F'/' '{print $(NF-1)}';done ===== allgemein ===== * [[http://sourceforge.net/projects/openqrm/]] * [[http://sourceforge.net/projects/openqrm/develop]] ==== /etc/apt/apt.conf ==== Acquire::http::Proxy "http://192.168.1.1:3128/"; Acquire::ftp::Proxy "ftp://192.168.1.1:3128/"; Acquire::https::Proxy "https://192.168.1.1:3128/"; ==== zu installierende Pakete ==== === Bonding === Will man mehr als eine Netzwerkkarte für ein und das selbe Netz verwenden, braucht man Bonding. # aptitude update && aptitude -y safe-upgrade && aptitude -y install ifenslave net-tools === Bridging === Um KVM's starten zu können braucht man mind. das Gerät "br0". Will man in den VM's mehr NIC's einsetzen als die Basismaschine "br"-Geräte hat, dann muss man die Zuweisung der entsprechenden "br"-Geräte zu den VM-NIC's in der Datei //openqrm/plugins/kvm/etc/openqrm-plugin-kvm.conf//, **vor** dem aktivieren des KVM-Plugin's, festlegen (OPENQRM_PLUGIN_KVM_BRIDGE_NET*). # aptitude update && aptitude -y safe-upgrade && aptitude -y install bridge-utils ifenslave net-tools === notwendige Pakete für den openQRM-Management-Server === Es müssen mindestens diese Pakete installiert sein, damit man openQRM installieren kann: # aptitude update && aptitude -y safe-upgrade && aptitude -y install subversion make wget procmail === openQRM-Management-Server === Bei der openQRM-Installation (make start) kommt es oft zu Problemen mit nagios3 und/oder collectd, diese kann man ganz einfach umgehen in dem man diese Pakete vorher installiert. OpenQRM braucht eine Datenbank um seine Statusinfos abzuspeichern, will man das MySQL-DBMS dafür einbinden, dann muss man diese ebenfalls noch installieren. PostgreSQL geht aber auch, dann muss man eben die installieren. # aptitude update && aptitude -y safe-upgrade && aptitude -y install nagios3 collectd mysql-server === KVM-Server === KVM wird auch nicht automatisch installiert, nützlich ist in dem Zusammenhang auch ein VNC-Client. # aptitude update && aptitude -y safe-upgrade && aptitude -y install kvm xvnc4viewer === Storage-Server === Will man einen separaten Storage-Server einsetzen, müssen diese Pakete dort installiert werden, man kann das Storage aber auch lokal verwalten/verwenden. - das //lvm-storage//-Plugin benötigt das Paket //lvm2//; - das //aoe-storage//-Plugin benötigt das Paket //vblade//; - das //nfs-storage//-Plugin benötigt das Paket //nfs-kernel-server//; # aptitude update && aptitude -y safe-upgrade && aptitude -y install lvm2 vblade nfs-kernel-server === nützliche Programme für jede Maschine === Diese Pakete können auf allen Maschinen installiert werden. # aptitude update && aptitude -y safe-upgrade && aptitude -y install mc screen bmon ntp star ethtool rsyslog rsyslog-relp smartmontools # aptitude -y install openntpd Evtl. (abhängig von der Hardware) sollte man noch das Paket "mpt-status" installieren. ==== /etc/subversion/servers ==== [global] http-proxy-host=192.168.1.1 http-proxy-port=3128 ==== /etc/wgetrc - Proxy aktivieren ==== Bevor openQRM mit //make// gebaut werden kann, muss in der //wget//-Konfiguration der Proxy (ins Internet) konfiguriert werden. Braucht man dafür keinen Proxy, dann entfällt natürlich dieser Schritt. https_proxy = http://192.168.1.1:3128/ http_proxy = http://192.168.1.1:3128/ ftp_proxy = http://192.168.1.1:3128/ ==== Installation von openQRM ==== # cd /usr/src/ # svn co https://openqrm.svn.sourceforge.net/svnroot/openqrm openqrm # cd openqrm/trunk/src/ # make # make install # make start ==== /etc/wgetrc - Proxy deaktivieren ==== Bevor die benötigten Plugins (besonders die storage-Plugins) auf "enable" geschaltet werden, muss der Proxy aus der wget-Konfiguration wieder entfernt werden, wenn einer eingetragen wurde! Sonst geht nix. #https_proxy = http://192.168.1.1:3128/ #http_proxy = http://192.168.1.1:3128/ #ftp_proxy = http://192.168.1.1:3128/ ==== Die ersten Tätigkeiten in der Web-Oberfläche ==== Starting the openQRM-server ver. 4.7. Initialization complete. Please configure your openQRM Server at: http://192.168.3.18/openqrm/ -> User: openqrm -> Password: openqrm Ruft man die oben angegebene URL auf, dann muss man ein Netzwerkgerät auswählen. Verwendet man mehrere Netze, muss hier das Netzwerkgerät angegeben werden, über welches man auf die anderen openQRM-Ressourcen (KVM-Server, Storage-Server u.s.w.) zugreifen kann. Dann wird der Datenbanktyp ausgewählt, der Datenbankbenutzer und das Datenbankpassort abgefragt und schon ist die Oberfläche bereit. Als allererstes sollte man eine Appliance für den openQRM-Server selbst anlegen! Dann kann man mit den weiteren Schritten der Vorbereitung fortfahren, wie zum Beispiel dem aktivieren der nötigen Plugins. Für den Anfang sollte man mit diesen Plugins ganz gut arbeiten können: - dhcpd - dns - kvm - kvm-storage - local-server - local-storage - lvm-storage - tftpd ==== wichtige Pakete für Plugins ==== Damit man die "LXC"- und "KVM"-Plugin's nutzen kann (beide benötigen "vt"-Unterstützung in der CPU!), muss man noch diese Pakete installieren: # aptitude -y install lxc kvm ===== speziell ===== * [[openqrm_-_grundinstallation_management#openqrm_-_management_grundinstallation_-_node_1]] ===== PM aus NFS ===== Eine //physikalische Maschine// (PM) kann auch per NFS mit openQRM installiert werden. Allerdings sind hier ein paar Dinge zu beachten! - per PXE booten - per ''fdisk'' eine Partition nach Wunsch anlegen - als "bootfähig" markieren (das macht man in ''fdisk'' mit ''**a**'') - //Local-installed Server// - Storage anlegen - Image für //local-installed Server// anlegen => Install from //"NFS-Image mit //golden//-Installation"// - Appliance Anlegen => Kernel ''ubuntu1004_64_2_6_32_25'' => eben erstelltes Image - Appliance starten - Bootprozess abwarten - ''grub-install --root-directory=/ /dev/sda'' - ''update-grub'' - ''/etc/network/interfaces'' anpassen - Ressource Bootmode auf ''**local**'' ändern - //Reboot// 9. # grub-install --root-directory=/ /dev/sda 10. # update-grub Leider wird bei jedem Schaltvorgang an der Appliance das Bootziel auf ''//**linux**//'' (PXE-Boot) umgestellt. Das muss, bis auf weiteres, von Hand in dieser Datei (erste Zeile) geändert werden: # vi /usr/share/openqrm/tftpboot/pxelinux.cfg/01-84-2b-2b-62-67-fb label local **Fertig** ==== weiter Arbeitsschritte ==== # aptitude update && aptitude -y safe-upgrade && aptitude -y install wget ipcalc nullmailer === Bonding === # aptitude update && aptitude install ifenslave net-tools ethtool bmon # vi /etc/network/interfaces # The loopback network interface auto lo iface lo inet loopback ### The primary network interface #auto eth0 #iface eth0 inet dhcp auto eth4 iface eth4 inet manual bond-master bond0 bond-primary eth4 eth5 pre-up /sbin/ip link set eth4 mtu 4132 auto eth5 iface eth5 inet manual bond-master bond0 bond-primary eth4 eth5 pre-up /sbin/ip link set eth5 mtu 4132 auto bond0 iface bond0 inet static address 10.30.1.2 netmask 255.255.0.0 network 10.30.0.0 broadcast 10.30.1.255 gateway 10.30.1.254 dns-nameservers 10.30.1.80 slaves eth4 eth5 bond_mode 1 bond_miimon 100 bond_updelay 200 bond_downdelay 200 # reboot && exit === Bonding + Bridge === # aptitude update && aptitude -y safe-upgrade && aptitude -y install bridge-utils ifenslave net-tools # vi /etc/network/interfaces # The loopback network interface auto lo iface lo inet loopback ### The primary network interface auto eth5 iface eth5 inet manual bond-master bond0 bond-primary eth5 eth6 pre-up /sbin/ip link set eth5 mtu 4132 auto eth6 iface eth6 inet manual bond-master bond0 bond-primary eth5 eth6 pre-up /sbin/ip link set eth6 mtu 4132 auto bond0 iface bond0 inet manual slaves none bond_mode 1 bond_miimon 100 bond_updelay 200 bond_downdelay 200 auto br0 iface br0 inet static address 10.30.1.10 netmask 255.255.0.0 network 10.30.0.0 broadcast 10.30.255.255 bridge_ports bond0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off post-up /sbin/ip link set bond0 mtu 4132 dns-nameservers 10.30.1.80 dns-search domain.de === weitere Partitionen anlegen und einbinden === # fdisk /dev/sda # pvcreate /dev/sda2 # vgcreate system /dev/sda2 # lvcreate -L 2G -n swap system # lvcreate -L 8G -n tmp system # mkswap -L swap /dev/system/swap # mkfs -t ext4 -L tmp /dev/system/tmp # vi /etc/fstab LABEL=swap none swap sw 0 0 LABEL=tmp /tmp ext4 defaults 0 0 Die Mount-Option "noexec" darf für "tmp" nicht verwendet werden, da es sonst in Ubuntu bei Updates Probleme gibt!