-INSTALLAZIONE SOFTWARE NECESSARIO --INSTALLAZIONE SISTEMA OPERATIVO (GNU/Linux CentOS 6.4 - x86_64) ---Partizionamento, Scelta pacchetti e altre personalizzazioni In base alle esigenze. (vedi altro tutorial) --PREPARAZIONE SISTEMA #vi /etc/yum.repos.d/CentOS-Base.repo disattivare il repo Base [base] enabled=0 [updates] enabled=0 [extras] enabled=0 ---attivare il repo Media per effettuare le installazioni da DVD locale se si vuole evitare di inserire --enablerepo=c6-media #vi /etc/yum.repos.d/CentOS-Media.repo [c6-media] enabled=1 ---creo la directory su cui montare il dvd di installazione #mkdir /media/CentOS ---monto il device dvd sulla directory appena create #mount /dev/dvd /media/CentOS --INSTALLAZIONE PACCHETTI ---A solo scopo didattico si illustra anche il listato prodotto da “yum” durante la fase di installazione per capire quali dipendenze sono necessarie ai pacchetti fondamentali da installare. Inoltre si visualizza l'elenco dei servizi che che verranno a mano amano installati specificando quelli che devono essere avviati al boot del nodo tramite il comando “chkconfig”. ---Dopo l'installazione base: #chkconfig (chk1.txt) auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off blk-availability 0:off 1:on 2:on 3:on 4:on 5:on 6:off crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off ip6tables 0:off 1:off 2:off 3:off 4:off 5:off 6:off iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off lvm2-monitor 0:off 1:on 2:on 3:on 4:on 5:on 6:off netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off rdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:off restorecond 0:off 1:off 2:off 3:off 4:off 5:off 6:off rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off saslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:off sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off udev-post 0:off 1:on 2:on 3:on 4:on 5:on 6:off ---L'obiettivo è installare il cluster ad alta affidabilità corosync, pacemaker e drbd. Ma occorrono diversi programmi e librerie preliminari che si elencano per chiarezza e per studio. ---installo il “perl” a parte poichè verrà sfruttato da diversi software. Questo per capire meglio i pacchetti specifici installati dai diversi software successivi. #yum --enablerepo=c6-media install -y perl ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: perl x86_64 4:5.10.1-129.el6 c6-media 10 M Installing for dependencies: perl-Module-Pluggable x86_64 1:3.90-129.el6 c6-media 38 k perl-Pod-Escapes x86_64 1:1.04-129.el6 c6-media 31 k perl-Pod-Simple x86_64 1:3.13-129.el6 c6-media 210 k perl-libs x86_64 4:5.10.1-129.el6 c6-media 576 k perl-version x86_64 3:0.77-129.el6 c6-media 50 k Transaction Summary ================================================================================ Install 6 Package(s) Total download size: 11 M Installed size: 36 M ---Nessun servizio installato ---Si installa rpcbind (Remote Procedure Call) il quale necessita di alcune librerie e tool in cascata per dipendenza (libtirpc libgssglue keyutils) http://en.wikipedia.org/wiki/Portmap #yum --enablerepo=c6-media install -y rpcbind ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: openssh-clients x86_64 5.3p1-84.1.el6 c6-media 355 k Installing for dependencies: libedit x86_64 2.11-4.20080712cvs.1.el6 c6-media 74 k Transaction Summary ================================================================================ Install 2 Package(s) Total download size: 429 k Installed size: 1.2 M Servizi aggiunti in seguito all'installazione di rpcbind: rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off ---installo il client Openssh che mi permette di utilizzare connessioni sicure da e per il nodo del cluster (connessioni sicure per la copia dei file "scp" o per la connessione ad altri host "ssh"): #yum --enablerepo=c6-media install -y openssh-clients ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: openssh-clients x86_64 5.3p1-84.1.el6 c6-media 355 k Installing for dependencies: libedit x86_64 2.11-4.20080712cvs.1.el6 c6-media 74 k Transaction Summary ================================================================================ Install 2 Package(s) Total download size: 429 k Installed size: 1.2 M ---Nessun servizio installato ---installo il servente grafico Xorg e il driver specifico per la mia scheda video (OPZIONALE). #yum --enablerepo=c6-media install -y xorg-x11-server-Xorg xorg-x11-drv-intel ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: xorg-x11-drv-intel x86_64 2.16.0-4.el6 c6-media 198 k xorg-x11-server-Xorg x86_64 1.10.6-1.el6.centos c6-media 1.3 M Installing for dependencies: ConsoleKit x86_64 0.4.1-3.el6 c6-media 82 k ConsoleKit-libs x86_64 0.4.1-3.el6 c6-media 17 k cryptsetup-luks x86_64 1.2.0-7.el6 c6-media 95 k cryptsetup-luks-libs x86_64 1.2.0-7.el6 c6-media 51 k dbus x86_64 1:1.2.24-5.el6_1 c6-media 207 k device-mapper x86_64 1.02.74-10.el6 c6-media 135 k device-mapper-libs x86_64 1.02.74-10.el6 c6-media 162 k dmidecode x86_64 1:2.11-2.el6 c6-media 71 k eggdbus x86_64 0.6-3.el6 c6-media 91 k freetype x86_64 2.3.11-6.el6_2.9 c6-media 359 k hal x86_64 0.5.14-11.el6 c6-media 375 k hal-info noarch 20090716-3.1.el6 c6-media 56 k hal-libs x86_64 0.5.14-11.el6 c6-media 69 k hdparm x86_64 9.16-3.4.el6 c6-media 72 k libX11 x86_64 1.3-2.el6 c6-media 582 k libX11-common noarch 1.3-2.el6 c6-media 188 k libXau x86_64 1.0.5-1.el6 c6-media 22 k libXdmcp x86_64 1.0.3-1.el6 c6-media 22 k libXext x86_64 1.1-3.el6 c6-media 33 k libXfixes x86_64 4.0.4-1.el6 c6-media 19 k libXfont x86_64 1.4.1-2.el6_1 c6-media 128 k libXv x86_64 1.0.5-1.el6 c6-media 21 k libXvMC x86_64 1.0.4-8.1.el6 c6-media 22 k libfontenc x86_64 1.0.5-2.el6 c6-media 24 k libpciaccess x86_64 0.12.1-1.el6 c6-media 42 k libudev x86_64 147-2.41.el6 c6-media 75 k libxcb x86_64 1.5-1.el6 c6-media 100 k libxkbfile x86_64 1.0.6-1.1.el6 c6-media 74 k pixman x86_64 0.18.4-1.el6_0.1 c6-media 146 k pkgconfig x86_64 1:0.23-9.1.el6 c6-media 70 k pm-utils x86_64 1.2.5-9.el6 c6-media 108 k polkit x86_64 0.96-2.el6_0.1 c6-media 158 k system-setup-keyboard x86_64 0.7-4.el6 c6-media 11 k xcb-util x86_64 0.3.6-1.el6 c6-media 38 k xkeyboard-config noarch 2.3-1.el6 c6-media 685 k xorg-x11-drv-evdev x86_64 2.6.0-2.el6 c6-media 32 k xorg-x11-drv-vesa x86_64 2.3.0-2.el6 c6-media 20 k xorg-x11-drv-void x86_64 1.4.0-1.el6 c6-media 11 k xorg-x11-server-common x86_64 1.10.6-1.el6.centos c6-media 34 k xorg-x11-xkb-utils x86_64 7.4-6.el6 c6-media 85 k Transaction Summary ================================================================================ Install 42 Package(s) Total download size: 6.0 M Installed size: 20 M Servizi aggiunti in seguito all'installazione di Xorg e driver: haldaemon 0:off 1:off 2:off 3:on 4:on 5:on 6:off messagebus 0:off 1:off 2:on 3:on 4:on 5:on 6:off ---Installo il Desktop Manager (DM) gnome (G) --> GDM il pannello delle applicazioni e nautilus che mi permette di sfogliare le risorse. #yum --enablerepo=c6-media install -y gdm gnome-panel nautilus ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: gdm x86_64 1:2.30.4-33.el6_2 c6-media 1.0 M gnome-panel x86_64 2.30.2-14.el6 c6-media 2.1 M nautilus x86_64 2.28.4-19.el6 c6-media 3.7 M Installing for dependencies: ConsoleKit-x11 x86_64 0.4.1-3.el6 c6-media 20 k DeviceKit-power x86_64 014-3.el6 c6-media 91 k GConf2 x86_64 2.28.0-6.el6 c6-media 964 k GConf2-gtk x86_64 2.28.0-6.el6 c6-media 23 k ORBit2 x86_64 2.14.17-3.1.el6 c6-media 168 k alsa-lib x86_64 1.0.22-3.el6 c6-media 370 k at-spi x86_64 1.28.1-2.el6.centos c6-media 215 k atk x86_64 1.28.0-2.el6 c6-media 191 k avahi x86_64 0.6.25-11.el6 c6-media 217 k avahi-glib x86_64 0.6.25-11.el6 c6-media 20 k avahi-libs x86_64 0.6.25-11.el6 c6-media 54 k cairo x86_64 1.8.8-3.1.el6 c6-media 309 k control-center x86_64 1:2.28.1-37.el6 c6-media 2.6 M control-center-filesystem x86_64 1:2.28.1-37.el6 c6-media 50 k cups-libs x86_64 1:1.4.2-48.el6 c6-media 315 k dbus-x11 x86_64 1:1.2.24-5.el6_1 c6-media 40 k desktop-file-utils x86_64 0.15-9.el6 c6-media 47 k dmz-cursor-themes noarch 0.4-4.el6 c6-media 390 k dosfstools x86_64 3.0.9-4.el6 c6-media 78 k evolution-data-server x86_64 2.28.3-15.el6 c6-media 2.6 M exempi x86_64 2.1.0-5.el6 c6-media 337 k flac x86_64 1.2.1-6.1.el6 c6-media 243 k fontconfig x86_64 2.8.0-3.el6 c6-media 186 k gdm-libs x86_64 1:2.30.4-33.el6_2 c6-media 97 k gnome-desktop x86_64 2.28.2-9.el6.centos c6-media 988 k gnome-disk-utility-libs x86_64 2.30.1-2.el6 c6-media 1.0 M gnome-icon-theme noarch 2.28.0-2.el6 c6-media 3.9 M gnome-keyring x86_64 2.28.2-7.el6 c6-media 811 k gnome-keyring-pam x86_64 2.28.2-7.el6 c6-media 29 k gnome-menus x86_64 2.28.0-4.el6 c6-media 195 k gnome-panel-libs x86_64 2.30.2-14.el6 c6-media 64 k gnome-python2 x86_64 2.28.0-3.el6 c6-media 45 k gnome-python2-gnome x86_64 2.28.0-3.el6 c6-media 74 k gnome-python2-gnomevfs x86_64 2.28.0-3.el6 c6-media 78 k gnome-session x86_64 2.28.0-18.el6 c6-media 438 k gnome-session-xsession x86_64 2.28.0-18.el6 c6-media 30 k gnome-settings-daemon x86_64 2.28.2-20.el6 c6-media 561 k gnome-themes noarch 2.28.1-6.el6 c6-media 3.4 M gnome-vfs2 x86_64 2.24.2-6.el6 c6-media 739 k gnutls x86_64 2.8.5-4.el6_2.2 c6-media 342 k gstreamer x86_64 0.10.29-1.el6 c6-media 764 k gstreamer-tools x86_64 0.10.29-1.el6 c6-media 23 k gtk2 x86_64 2.18.9-10.el6 c6-media 3.3 M gtk2-engines x86_64 2.18.4-5.el6.centos c6-media 282 k gvfs x86_64 1.4.3-12.el6 c6-media 891 k hicolor-icon-theme noarch 0.11-1.1.el6 c6-media 40 k iso-codes noarch 3.16-2.el6 c6-media 2.4 M jasper-libs x86_64 1.900.1-15.el6_1.1 c6-media 136 k libICE x86_64 1.0.6-1.el6 c6-media 53 k libIDL x86_64 0.8.13-2.1.el6 c6-media 83 k libSM x86_64 1.1.0-7.1.el6 c6-media 26 k libXScrnSaver x86_64 1.2.0-1.el6 c6-media 19 k libXcomposite x86_64 0.4.1-2.el6 c6-media 17 k libXcursor x86_64 1.1.10-2.el6 c6-media 32 k libXdamage x86_64 1.1.2-1.el6 c6-media 16 k libXft x86_64 2.1.13-4.1.el6 c6-media 49 k libXi x86_64 1.3-3.el6 c6-media 32 k libXinerama x86_64 1.1-1.el6 c6-media 15 k libXmu x86_64 1.0.5-1.el6 c6-media 59 k libXrandr x86_64 1.3.0-4.el6 c6-media 30 k libXrender x86_64 0.9.5-1.el6 c6-media 27 k libXres x86_64 1.0.4-1.el6 c6-media 15 k libXt x86_64 1.0.7-1.el6 c6-media 174 k libXtst x86_64 1.0.99.2-3.el6 c6-media 22 k libXxf86misc x86_64 1.0.2-1.el6 c6-media 15 k libXxf86vm x86_64 1.1.0-1.el6 c6-media 18 k libart_lgpl x86_64 2.3.20-5.1.el6 c6-media 65 k libasyncns x86_64 0.8-1.1.el6 c6-media 24 k libatasmart x86_64 0.17-4.el6_2 c6-media 38 k libbonobo x86_64 2.24.2-5.el6 c6-media 418 k libbonoboui x86_64 2.24.2-3.el6 c6-media 326 k libcanberra x86_64 0.22-1.el6.centos c6-media 66 k libcanberra-gtk2 x86_64 0.22-1.el6.centos c6-media 26 k libcdio x86_64 0.81-3.1.el6 c6-media 246 k libcroco x86_64 0.6.2-5.el6 c6-media 100 k libdaemon x86_64 0.14-1.el6 c6-media 28 k libexif x86_64 0.6.16-4.1.el6 c6-media 160 k libgail-gnome x86_64 1.20.1-4.1.el6.centos c6-media 25 k libglade2 x86_64 2.6.4-3.1.el6 c6-media 60 k libgnome x86_64 2.28.0-11.el6 c6-media 502 k libgnomecanvas x86_64 2.26.0-4.el6 c6-media 208 k libgnomekbd x86_64 2.28.2-2.el6 c6-media 130 k libgnomeui x86_64 2.24.1-4.el6 c6-media 680 k libgsf x86_64 1.14.15-5.el6 c6-media 116 k libgudev1 x86_64 147-2.41.el6 c6-media 59 k libgweather x86_64 2.28.0-5.el6 c6-media 3.2 M libical x86_64 0.43-5.1.el6 c6-media 179 k libjpeg x86_64 6b-46.el6 c6-media 134 k libmcpp x86_64 2.7.2-4.1.el6 c6-media 69 k libnotify x86_64 0.5.0-1.el6 c6-media 35 k libogg x86_64 2:1.1.4-2.1.el6 c6-media 21 k libpng x86_64 2:1.2.49-1.el6_2 c6-media 182 k libproxy x86_64 0.3.0-2.el6 c6-media 39 k libproxy-bin x86_64 0.3.0-2.el6 c6-media 8.1 k libproxy-python x86_64 0.3.0-2.el6 c6-media 8.2 k librsvg2 x86_64 2.26.0-5.el6_1.1.0.1.centos c6-media 138 k libsndfile x86_64 1.0.20-5.el6 c6-media 233 k libsoup x86_64 2.28.2-1.el6_1.1 c6-media 162 k libtasn1 x86_64 2.3-3.el6_2.1 c6-media 238 k libtdb x86_64 1.2.1-3.el6 c6-media 28 k libthai x86_64 0.1.12-3.el6 c6-media 183 k libtiff x86_64 3.9.4-5.el6_2 c6-media 341 k libtool-ltdl x86_64 2.2.6-15.5.el6 c6-media 44 k libvorbis x86_64 1:1.2.3-4.el6_2.1 c6-media 168 k libwacom x86_64 0.5-3.el6 c6-media 21 k libwacom-data noarch 0.5-3.el6 c6-media 16 k libwnck x86_64 2.28.0-3.el6 c6-media 334 k libxklavier x86_64 4.0-9.el6 c6-media 56 k libxslt x86_64 1.1.26-2.el6 c6-media 450 k mcpp x86_64 2.7.2-4.1.el6 c6-media 23 k mdadm x86_64 3.2.3-9.el6 c6-media 331 k metacity x86_64 2.28.0-23.el6 c6-media 1.2 M mtools x86_64 4.0.12-1.el6 c6-media 194 k nautilus-extensions x86_64 2.28.4-19.el6 c6-media 53 k notification-daemon x86_64 0.5.0-1.el6 c6-media 69 k pango x86_64 1.28.1-3.el6_0.5.1.centos c6-media 350 k parted x86_64 2.1-18.el6 c6-media 605 k plymouth-gdm-hooks x86_64 0.8.3-24.el6.centos c6-media 28 k plymouth-utils x86_64 0.8.3-24.el6.centos c6-media 33 k polkit-desktop-policy noarch 0.96-2.el6_0.1 c6-media 6.6 k polkit-gnome x86_64 0.96-3.el6 c6-media 88 k pulseaudio-gdm-hooks x86_64 0.9.21-13.el6 c6-media 16 k pulseaudio-libs x86_64 0.9.21-13.el6 c6-media 462 k pulseaudio-libs-glib2 x86_64 0.9.21-13.el6 c6-media 23 k pycairo x86_64 1.8.6-2.1.el6 c6-media 172 k pygobject2 x86_64 2.20.0-5.el6 c6-media 172 k pygtk2 x86_64 2.16.0-3.el6 c6-media 986 k rarian x86_64 0.8.1-5.1.el6 c6-media 97 k rarian-compat x86_64 0.8.1-5.1.el6 c6-media 61 k redhat-menus noarch 14.0.0-3.el6 c6-media 168 k sg3_utils-libs x86_64 1.28-4.el6 c6-media 51 k sgml-common noarch 0.6.3-32.el6 c6-media 43 k shared-mime-info x86_64 0.70-4.el6 c6-media 209 k smp_utils x86_64 0.94-4.el6 c6-media 103 k sound-theme-freedesktop noarch 0.7-3.el6 c6-media 388 k startup-notification x86_64 0.10-2.1.el6 c6-media 37 k system-gnome-theme noarch 60.0.2-1.el6 c6-media 11 k system-icon-theme noarch 6.0.0-2.el6 c6-media 112 k udisks x86_64 1.0.1-4.el6 c6-media 168 k unique x86_64 1.1.4-2.el6 c6-media 53 k usermode x86_64 1.102-3.el6 c6-media 187 k xml-common noarch 0.6.3-32.el6 c6-media 9.5 k xorg-x11-drv-wacom x86_64 0.13.0-6.el6 c6-media 228 k xorg-x11-server-utils x86_64 7.5-5.2.el6 c6-media 134 k xorg-x11-xauth x86_64 1:1.0.2-7.1.el6 c6-media 35 k xorg-x11-xinit x86_64 1.0.9-13.el6 c6-media 43 k zenity x86_64 2.28.0-1.el6 c6-media 2.6 M Transaction Summary ================================================================================ Install 150 Package(s) Total download size: 56 M Installed size: 232 M Servizi aggiunti in seguito all'installazione di gdm gnome-panel nautilus: avahi-daemon 0:off 1:off 2:off 3:on 4:on 5:on 6:off mdmonitor 0:off 1:off 2:on 3:on 4:on 5:on 6:off ---installo i font grafici #yum --enablerepo=c6-media install -y liberation-sans-fonts ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: liberation-sans-fonts noarch 1.05.1.20090721-5.el6 c6-media 275 k Installing for dependencies: fontpackages-filesystem noarch 1.41-1.1.el6 c6-media 8.8 k liberation-fonts-common noarch 1.05.1.20090721-5.el6 c6-media 21 k Transaction Summary ================================================================================ Install 3 Package(s) Total download size: 305 k Installed size: 624 k ---Nessun servizio installato ---installo firefox (OPZIONALE) #yum --enablerepo=c6-media install -y firefox ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: firefox x86_64 10.0.5-1.el6.centos c6-media 20 M Installing for dependencies: centos-indexhtml noarch 6-1.el6.centos c6-media 70 k hunspell x86_64 1.2.8-16.el6 c6-media 177 k mozilla-filesystem x86_64 1.9-5.1.el6 c6-media 4.7 k redhat-bookmarks noarch 6-1.el6.centos c6-media 4.1 k xulrunner x86_64 10.0.5-1.el6.centos c6-media 12 M Transaction Summary ================================================================================ Install 6 Package(s) Total download size: 32 M Installed size: 52 M ---Nessun servizio installato ---installo i pacchetti per la virtualizzazione #yum --enablerepo=c6-media groupinstall -y "Virtualization” ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: qemu-kvm x86_64 2:0.12.1.2-2.295.el6 c6-media 1.2 M Installing for dependencies: celt051 x86_64 0.5.1.3-0.el6 c6-media 50 k gpxe-roms-qemu noarch 0.9.7-6.9.el6 c6-media 219 k libaio x86_64 0.3.107-10.el6 c6-media 21 k libusb1 x86_64 1.0.9-0.5.rc1.el6 c6-media 80 k qemu-img x86_64 2:0.12.1.2-2.295.el6 c6-media 415 k seabios x86_64 0.6.1.2-19.el6 c6-media 90 k sgabios-bin noarch 0-0.3.20110621svn.el6 c6-media 6.6 k spice-server x86_64 0.10.1-10.el6 c6-media 274 k usbredir x86_64 0.4.3-1.el6 c6-media 37 k vgabios noarch 0.6b-3.6.el6 c6-media 42 k Transaction Summary ================================================================================ Install 11 Package(s) Total download size: 2.5 M Installed size: 7.1 M Servizi aggiunti in seguito all'installazione di “Virtualization” ksm 0:off 1:off 2:off 3:on 4:on 5:on 6:off ksmtuned 0:off 1:off 2:off 3:on 4:on 5:on 6:off ---installo i pacchetti per la gestione della virtualizzazione #yum --enablerepo=c6-media groupinstall -y "Virtualization Client” ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: python-virtinst noarch 0.600.0-8.el6 c6-media 488 k virt-manager x86_64 0.9.0-14.el6 c6-media 1.0 M virt-top x86_64 1.0.4-3.13.el6 c6-media 364 k virt-viewer x86_64 0.5.2-9.el6 c6-media 191 k Installing for dependencies: augeas-libs x86_64 0.9.0-4.el6 c6-media 317 k cvs x86_64 1.11.23-11.el6_2.1 c6-media 712 k cyrus-sasl-md5 x86_64 2.1.23-13.el6 c6-media 47 k dbus-python x86_64 0.83.0-6.1.el6 c6-media 204 k gettext x86_64 0.17-16.el6 c6-media 1.8 M gnome-python2-canvas x86_64 2.28.0-3.el6 c6-media 31 k gnome-python2-desktop x86_64 2.28.0-4.el6 c6-media 63 k gnome-python2-gconf x86_64 2.28.0-3.el6 c6-media 41 k gnome-python2-gnomekeyring x86_64 2.28.0-4.el6 c6-media 24 k gnutls-utils x86_64 2.8.5-4.el6_2.2 c6-media 99 k gtk-vnc x86_64 0.3.10-3.el6 c6-media 95 k gtk-vnc-python x86_64 0.3.10-3.el6 c6-media 17 k libcacard x86_64 0.15.0-2.el6 c6-media 41 k libgomp x86_64 4.4.6-4.el6 c6-media 117 k libnl x86_64 1.1-14.el6 c6-media 121 k libpcap x86_64 14:1.0.0-6.20091201git117cb5.el6 c6-media 126 k libselinux-python x86_64 2.0.94-5.3.el6 c6-media 202 k libvirt-client x86_64 0.9.10-21.el6 c6-media 3.2 M libvirt-python x86_64 0.9.10-21.el6 c6-media 394 k libxml2-python x86_64 2.7.6-4.el6_2.4 c6-media 320 k nc x86_64 1.84-22.el6 c6-media 57 k netcf-libs x86_64 0.1.9-2.el6 c6-media 51 k numactl x86_64 2.0.7-3.el6 c6-media 59 k pygtk2-libglade x86_64 2.16.0-3.el6 c6-media 22 k spice-glib x86_64 0.11-11.el6 c6-media 266 k spice-gtk x86_64 0.11-11.el6 c6-media 49 k spice-gtk-python x86_64 0.11-11.el6 c6-media 20 k vte x86_64 0.25.1-7.el6 c6-media 354 k yajl x86_64 1.0.7-3.el6 c6-media 27 k Transaction Summary ================================================================================ Install 33 Package(s) Total download size: 11 M Installed size: 39 M ---Nessun servizio installato ---installo il demone che mi permette di gestire le macchine virtuali #yum --enablerepo=c6-media install -y libvirt ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: libvirt x86_64 0.9.10-21.el6 c6-media 1.9 M Installing for dependencies: device-mapper-event x86_64 1.02.74-10.el6 c6-media 88 k device-mapper-event-libs x86_64 1.02.74-10.el6 c6-media 83 k dnsmasq x86_64 2.48-6.el6 c6-media 147 k ebtables x86_64 2.0.9-6.el6 c6-media 95 k iscsi-initiator-utils x86_64 6.2.0.872-41.el6 c6-media 654 k keyutils x86_64 1.4-4.el6 c6-media 39 k libcgroup x86_64 0.37-4.el6 c6-media 104 k libevent x86_64 1.4.13-4.el6 c6-media 66 k libgssglue x86_64 0.1-11.el6 c6-media 23 k libtirpc x86_64 0.2.1-5.el6 c6-media 78 k lvm2 x86_64 2.02.95-10.el6 c6-media 613 k lvm2-libs x86_64 2.02.95-10.el6 c6-media 678 k lzo x86_64 2.03-3.1.el6 c6-media 55 k lzop x86_64 1.02-0.9.rc1.el6 c6-media 50 k nfs-utils x86_64 1:1.2.3-26.el6 c6-media 316 k nfs-utils-lib x86_64 1.1.5-4.el6 c6-media 67 k numad x86_64 0.5-4.20120522git.el6 c6-media 24 k radvd x86_64 1.6-1.el6 c6-media 75 k rpcbind x86_64 0.2.0-9.el6 c6-media 51 k xz x86_64 4.999.9-0.3.beta.20091007git.el6 c6-media 137 k Transaction Summary ================================================================================ Install 21 Package(s) Total download size: 5.2 M Installed size: 13 M Servizi aggiunti in seguito all'installazione di libvirt: cgconfig 0:off 1:off 2:on 3:on 4:on 5:on 6:off cgred 0:off 1:off 2:off 3:off 4:off 5:off 6:off dnsmasq 0:off 1:off 2:off 3:off 4:off 5:off 6:off ebtables 0:off 1:off 2:off 3:off 4:off 5:off 6:off iscsi 0:off 1:off 2:off 3:on 4:on 5:on 6:off iscsid 0:off 1:off 2:off 3:on 4:on 5:on 6:off libvirt-guests 0:off 1:off 2:on 3:on 4:on 5:on 6:off libvirtd 0:off 1:off 2:off 3:on 4:on 5:on 6:off lvm2-monitor 0:off 1:on 2:on 3:on 4:on 5:on 6:off nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off nfslock 0:off 1:off 2:off 3:on 4:on 5:on 6:off numad 0:off 1:off 2:off 3:off 4:off 5:off 6:off radvd 0:off 1:off 2:off 3:off 4:off 5:off 6:off rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off rpcgssd 0:off 1:off 2:off 3:on 4:on 5:on 6:off rpcidmapd 0:off 1:off 2:off 3:on 4:on 5:on 6:off rpcsvcgssd 0:off 1:off 2:off 3:off 4:off 5:off 6:off ---installo il modulo per effettuare il bridge (indispensabile) #yum --enablerepo=c6-media install -y bridge-utils ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: bridge-utils x86_64 1.2-9.el6 c6-media 30 k Transaction Summary ================================================================================ Install 1 Package(s) Total download size: 30 k Installed size: 57 k ---Nessun servizio installato ---installo i software del cluster (indispensabile) ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: cman x86_64 3.0.12.1-32.el6 c6-media 434 k pacemaker x86_64 1.1.7-6.el6 c6-media 366 k Installing for dependencies: cifs-utils x86_64 4.8.1-10.el6 c6-media 46 k cluster-glue x86_64 1.0.5-6.el6 c6-media 71 k cluster-glue-libs x86_64 1.0.5-6.el6 c6-media 116 k clusterlib x86_64 3.0.12.1-32.el6 c6-media 96 k corosync x86_64 1.4.1-7.el6 c6-media 189 k corosynclib x86_64 1.4.1-7.el6 c6-media 173 k fence-agents x86_64 3.1.5-17.el6 c6-media 150 k fence-virt x86_64 0.2.3-9.el6 c6-media 36 k ipmitool x86_64 1.8.11-13.el6 c6-media 328 k libibverbs x86_64 1.1.6-4.el6 c6-media 45 k libqb x86_64 0.9.0-2.el6 c6-media 62 k librdmacm x86_64 1.0.15-2.el6 c6-media 29 k libtalloc x86_64 2.0.1-1.1.el6 c6-media 19 k lm_sensors-libs x86_64 3.1.1-10.el6 c6-media 37 k modcluster x86_64 0.16.2-18.el6 c6-media 191 k net-snmp-libs x86_64 1:5.5-41.el6 c6-media 1.5 M net-snmp-utils x86_64 1:5.5-41.el6 c6-media 170 k oddjob x86_64 0.30-5.el6 c6-media 60 k openais x86_64 1.1.1-7.el6 c6-media 192 k openaislib x86_64 1.1.1-7.el6 c6-media 82 k pacemaker-cli x86_64 1.1.7-6.el6 c6-media 357 k pacemaker-cluster-libs x86_64 1.1.7-6.el6 c6-media 79 k pacemaker-libs x86_64 1.1.7-6.el6 c6-media 307 k perl-Net-Telnet noarch 3.03-11.el6 c6-media 56 k perl-TimeDate noarch 1:1.16-11.1.el6 c6-media 34 k pexpect noarch 2.3-6.el6 c6-media 147 k pyOpenSSL x86_64 0.10-2.el6 c6-media 212 k python-suds noarch 0.4.1-3.el6 c6-media 218 k quota x86_64 1:3.17-16.el6 c6-media 197 k resource-agents x86_64 3.9.2-12.el6 c6-media 474 k ricci x86_64 0.16.2-55.el6 c6-media 624 k sg3_utils x86_64 1.28-4.el6 c6-media 471 k tcp_wrappers x86_64 7.6-57.el6 c6-media 61 k telnet x86_64 1:0.17-47.el6 c6-media 58 k Transaction Summary ================================================================================ Install 36 Package(s) Total download size: 7.6 M Installed size: 24 M Servizi aggiunti in seguito all'installazione: cman 0:off 1:off 2:off 3:off 4:off 5:off 6:off corosync 0:off 1:off 2:off 3:off 4:off 5:off 6:off ipmievd 0:off 1:off 2:off 3:off 4:off 5:off 6:off modclusterd 0:off 1:off 2:off 3:off 4:off 5:off 6:off oddjobd 0:off 1:off 2:off 3:off 4:off 5:off 6:off pacemaker 0:off 1:off 2:off 3:off 4:off 5:off 6:off quota_nld 0:off 1:off 2:off 3:off 4:off 5:off 6:off ricci 0:off 1:off 2:off 3:off 4:off 5:off 6:off ---installo il gruppo di pacchetti per la gestione dei PV VG e LV e filesystem cluster inoltre installa anche il programma "ccs" che mi permette di gestire il file cluster.conf #yum --enablerepo=c6-media groupinstall -y "Resilient Storage" ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: ccs x86_64 0.16.2-55.el6 c6-media 47 k gfs2-utils x86_64 3.0.12.1-32.el6 c6-media 281 k lvm2-cluster x86_64 2.02.95-10.el6 c6-media 345 k Transaction Summary ================================================================================ Install 3 Package(s) Total download size: 672 k Installed size: 1.6 M ---Servizi aggiunti in seguito all'installazione: clvmd 0:off 1:off 2:off 3:off 4:off 5:off 6:off gfs2 0:off 1:off 2:off 3:off 4:off 5:off 6:off ---installo i pacchetto che mi permette di gestire ed esportare i dispositivi iscsi #yum --enablerepo=c6-media install -y scsi-target-utils(inst14) ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: scsi-target-utils x86_64 1.0.24-2.el6 c6-media 170 k Installing for dependencies: lsof x86_64 4.82-4.el6 c6-media 319 k perl-Config-General noarch 2.44-1.el6 c6-media 68 k Transaction Summary ================================================================================ Install 3 Package(s) Total download size: 557 k Installed size: 1.5 M ---Servizi aggiunti in seguito all'installazione: tgtd 0:off 1:off 2:off 3:off 4:off 5:off 6:off ---Aggiorno il kernel e il firmware che mi permetteranno di installare poi il modulo drbd da un repositry esterno. Questi andranno scaricati a parte da qui. # yum install kernel-2.6.32-279.19.1.el6.x86_64.rpm kernel-firmware-2.6.32-279.19.1.el6.noarch.rpm ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: kernel x86_64 2.6.32-279.19.1.el6 /kernel-2.6.32-279.19.1.el6.x86_64 113 M Updating: kernel-firmware noarch 2.6.32-279.19.1.el6 /kernel-firmware-2.6.32-279.19.1.el6.noarch 16 M Transaction Summary ================================================================================ Install 1 Package(s) Upgrade 1 Package(s) Total size: 129 M # reboot ---Scaricare dal repository “elrepo” o da -qui- i seguenti file e installarli. Se non si è in grado di configurare autonomamente il nodo per lo scarico in locale, caricarli da altro pc o da semplice chiavetta USB. Da notare l'origine dell'installazione che non è più il media dvd ma il percorso locale. ---Installo il modulo e il software di gestione drbd #yum install kmod-drbd84-8.4.2-1.el6_3.elrepo.x86_64.rpm drbd84-utils-8.4.2-1.el6.elrepo.x86_64.rpm ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: drbd84-utils x86_64 8.4.2-1.el6.elrepo /drbd84-utils-8.4.2-1.el6.elrepo.x86_64 890 k kmod-drbd84 x86_64 8.4.2-1.el6_3.elrepo /kmod-drbd84-8.4.2-1.el6_3.elrepo.x86_64 606 k Transaction Summary ================================================================================ Install 2 Package(s) Total size: 1.5 M Installed size: 1.5 M Servizi aggiunti in seguito all'installazione: drbd 0:off 1:off 2:on 3:on 4:on 5:on 6:off ---installo il software che mi permette di gestire il desktop remoto (opzionale) #yum --enablerepo=c6-media install -y tigervnc-server ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: tigervnc-server x86_64 1.0.90-0.17.20110314svn4359.el6 c6-media 1.1 M Installing for dependencies: mesa-dri-drivers x86_64 7.11-5.el6 c6-media 11 M xorg-x11-font-utils x86_64 1:7.2-11.el6 c6-media 75 k xorg-x11-fonts-misc noarch 7.2-9.1.el6 c6-media 5.8 M Transaction Summary ================================================================================ Install 4 Package(s) Total download size: 18 M Installed size: 48 M Servizi aggiunti in seguito all'installazione di vncserver: vncserver 0:off 1:off 2:off 3:off 4:off 5:off 6:off -CONFIGURAZIONE SISTEMA E SOFTWARE INSTALLATO --CONFIGURAZIONE NETWORK ---disattivare il firewall all'avvio del SO #chkconfig iptables off #chkconfig ip6tables off ---disattivare SELinux all'avvio del SO #vi /etc/selinux/config disattivare SELinux SELINUX=disabled ---modificare e aggiungere le seguenti righe al file di condigurazione della scheda di rete [n1str]#vi /etc/sysconfig/network-scripts/ifcfg-eth0 ONBOOT=yes BOOTPROTO=none IPADDR=192.168.1.XX NETMASK=255.255.255.0 GATEWAY=192.168.1.1 [n2str]#vi /etc/sysconfig/network-scripts/ifcfg-eth0 ONBOOT=yes BOOTPROTO=none IPADDR=192.168.2.XX NETMASK=255.255.255.0 GATEWAY=192.168.2.1 [ALL]#vi /etc/sysconfig/network-scripts/ifcfg-eth1 ONBOOT=yes BOOTPROTO=none ---aggiungere le seguenti righe al file hosts su entrambi i nodi [ALL]#vi /etc/hosts 192.168.1.74 n1str n1str.stefanostrozzi.it 192.168.1.75 n2str n2str.stefanostrozzi.it --CONFIGURAZIONE TIGERVNC-SERVER per accesso remoto (opzionale). ---effettuare l'accesso da ciascun nodo verso l'altro inserendo la password e rispondendo affermativamente alla richiesta di connessione. [n1str]#useradd stefano [n1str]#passwd stefano Cambio password per l'utente stefano Nuova password: xxxxxxx Reimmettere la nuova password: xxxxxx passwd: tutti gli authentication token sono stati aggiornati con successo. [n1str]#chkconfig vncserver on ---editare il seguente file e aggiungere il nome dell'utente e la geometria così come indicato. [n1str]#vi /etc/sysconfig/vncservers VNCSERVERS="1:stefano" VNCSERVERARGS[1]="-geometry 1024x768" [n1str]#su – stefano [n1str]$vncpasswd Password: Verify: [n1str]$exit [n1str]#service vncserver start ---dal pc client è possibile accedere specificando l'ip seguito dall'id utente (192.168.1.74:1) --INSTALLAZIONE MACCHINE VIRTUALI . ---Procedura grafica: ---Aprire Virtual-Machine-Manager ---tasto destro su localhost ---seleziona dettagli fw22ht---scheda “reti virtuali” ---arresta rete “default” ---elimina rete “default” ---aggiungi rete seguento procedura guidata ---nome rete: “cluster” ---lasciare valori default ---disattivare DHCP ---lasciare rete virtuale isolata ---selezionare scheda “interfacce di rete” ---Aggiungi interfaccia seguendo procedura guidata ---type “bridge” ---lasciare “br0” ---attivare all'avvio ---scegliere abbinamento con “eth0” ---dopo aver prmuto fine accettare messaggio di avviso ---Aggiungi interfaccia seguendo procedura guidata ---type “bridge” ---lasciare “br1” ---attivare all'avvio ---scegliere abbinamento con “eth1” ---dopo aver prmuto fine accettare messaggio di avviso ---chiudere finestra dettagli ---riavvia il sistema ---pulsante destro su localhost ---nuova macchina virtuale ---nome: “fw1” ---lasciare default tranne tipo OS: linux versione: generico 2.6 kernel ---ram 256 ---hdd 2gb ---selezionare customize after install ---opzioni avanzate ---selezionare br0 ---aggiungere hardware ---network: br1-eth1 ---aggiungere hardware ---network: cluster : Rete isolata ---Begin Installation ---installare il primo firewall con le seguenti impostazioni: ---scheda 1 - green – 192.168.1.1 ---scheda 2 - red – 192.168.15.74 ---scheda 3 - blue – 192.168.100.74 ---installare il secondo firewall con le seguenti impostazioni: ---scheda 1 - green – 192.168.2.1 ---scheda 2 - red – 192.168.15.75 ---scheda 3 - blue – 192.168.100.75 ---accertarsi che nel file di configurazione della macchina host /etc/sysconfig/network-scripts/ifcfg-br0 sia presente il GATEWAY ONBOOT=yes BOOTPROTO=none IPADDR=192.168.2.XX NETMASK=255.255.255.0 GATEWAY=192.168.2.1 ---attivare l'avvio della VM fw al boot del pc host ---configurare l'IPSec tra i due firewall ---inserire tutte le slide --CONFIGURAZIONE OPENSSH per accesso sicuro ai nodi senza la richiesta di autenticazione. ---effettuare l'accesso da ciascun nodo verso l'altro inserendo la password e rispondendo affermativamente alla richiesta di connessione. [n1str]#ssh n2str The authenticity of host 'n2str (192.168.1.75)' can't be established. RSA key fingerprint is ef:9d:53:8e:51:41:d6:5e:ec:8c:f5:2e:6e:b4:ab:e3. Are you sure you want to continue connecting (yes/no)? Yes [n2str]#ssh n1str ---L'output sarà analogo al precedente, cambierà solo il nome host e l'IP ---Creare la chiave di autenticazione [n1str]#ssh-keygen -t rsa -N "" -b 2047 -f /root/.ssh/id_rsa Generating public/private rsa key pair. Your identification has been saved in .ssh/id_rsa. Your public key has been saved in .ssh/id_rsa.pub. The key fingerprint is: 9b:19:30:33:0f:b9:29:2b:23:2f:8d:96:6d:7d:2d:a9 root@n1str The key's randomart image is: +--[ RSA 2047]----+ | | | . | | B | | X | | . o S | | o = | |.o= o * | |o=.= . + . | |..o Eo . | +-----------------+ ---Creare inserendo all'interno del file “authorized_keys” la chiave pubblica appena create. [n1str]#cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys ---Copiare sull'altro nodo tutti i file della directory /root/.ssh (la prima volta inserendo la password) [n1str]#scp /root/.ssh/* n2str:/root/.ssh/ --CONFIGURAZIONE DRBD. ---Le seguenti operazioni vanno eseguite quasi tutte su entrambi i nodi infatti è specificato [ALL] tra parentesi quadre. ---Modificare il seguente file [ALL]#vi /etc/drbd.d/global_common.conf global { usage-count yes; # minor-count dialog-refresh disable-ip-verification } common { handlers { pri-on-incon-degr "/usr/lib/drbd/notify-pri-on-incon-degr.sh; /u sr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f"; pri-lost-after-sb "/usr/lib/drbd/notify-pri-lost-after-sb.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f"; local-io-error "/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f"; #fence-peer "/usr/lib/drbd/crm-fence-peer.sh"; # split-brain "/usr/lib/drbd/notify-split-brain.sh root"; # out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root"; # before-resync-target "/usr/lib/drbd/snapshot-resync-target-lvm.sh -p 15 -- -c 16k"; #after-resync-target /usr/lib/drbd/unsnapshot-resync-target-lvm.sh; ###fence-peer /sbin/obliterate-peer.sh; } startup { wfc-timeout 10; degr-wfc-timeout 120; #become-primary-on both; #outdated-wfc-timeout wait-after-sb } options { # cpu-mask on-no-data-accessible } disk { #fencing resource-and-stonith; # size max-bio-bvecs on-io-error fencing disk-barrier disk-flushes # disk-drain md-flushes resync-rate resync-after al-extents # c-plan-ahead c-delay-target c-fill-target c-max-rate # c-min-rate disk-timeout } protocol C; net { # protocol timeout max-epoch-size max-buffers unplug-watermark # connect-int ping-int sndbuf-size rcvbuf-size ko-count allow-two-primaries; #cram-hmac-alg shared-secret after-sb-0pri discard-zero-changes; after-sb-1pri discard-secondary; after-sb-2pri disconnect; #always-asbp rr-conflict # ping-timeout data-integrity-alg tcp-cork on-congestion # congestion-fill congestion-extents csums-alg verify-alg # use-rle } } ---dopo aver individuato i dispositivi a blocchi da “ridondare”, creare i relativi file .res [ALL]#vi /etc/drbd.d/sda5.res resource web1 { #startup { # become-primary-on both; #} device /dev/drbd0; disk /dev/sda5; meta-disk internal; on n1str { address 192.168.1.74:7788; } on n2str { address 192.168.2.75:7788; } } [ALL]#drbdadm create-md web1 ---l'output dovrebbe essere come il seguente Writing meta data... initializing activity log NOT initializing bitmap New drbd meta data block successfully created. [ALL]#service drbd reload [n1str]#drbdadm -- --overwrite-data-of-peer primary web1 ---la stessa procedura è da eseguire per tutti gli altri dispositivi da gestire con DRBD [ALL]#vi /etc/drbd.d/sda6.res resource vm1 { #startup { # become-primary-on both; #} device /dev/drbd1; disk /dev/sda6; meta-disk internal; on n1str { address 192.168.1.74:7789; } on n2str { address 192.168.1.74:7789; } } [ALL]#drbdadm create-md vm1 [ALL]#service drbd reload [n1str]#drbdadm -- --overwrite-data-of-peer primary vm1 ---mantenendo la stessa struttura sono stati segnalati in rosso i valori da cambiare ---riassunto: /dev/sda5 /dev/drbd0 500GB web1 gfs2 /dev/sda6 /dev/drbd1 200GB vm1 lv /dev/sda7 /dev/drbd2 200GB vm2 lv /dev/sda8 /dev/drbd3 10GB wwin iscsi /dev/sda9 /dev/drbd4 1GB cond gfs2 /dev/sda10 /dev/drbd5 10GB wwinsc iscsi(per prove) --CONFIGURAZIONE CLUSTER ---Esistono diverse soluzioni per la realizzazione di cluster HA. Questo progetto è stato realizzato abbinando CMAN a PACEMAKER. ---Di seguito vengono effettuate le operazioni di preparazione del componente CMAN e le seguenti operazioni vanno eseguite su uno dei due nodi. #ccs -f /etc/cluster/cluster.conf --createcluster clstr ---Viene creato il file di configurazione del nostro cluster chiamato “clstr” . Di seguito l'effetto del lancio del comando precedente che ha creato il file con i TAG basilari per cominciare a configurare il cluster. #ccs -f /etc/cluster/cluster.conf --addnode n1str #ccs -f /etc/cluster/cluster.conf --addnode n2str #ccs -f /etc/cluster/cluster.conf --addfencedev pcmk agent=fence_pcmk #ccs -f /etc/cluster/cluster.conf --addmethod pcmk-redirect n1str #ccs -f /etc/cluster/cluster.conf --addmethod pcmk-redirect n2str #ccs -f /etc/cluster/cluster.conf --addfenceinst pcmk n1str pcmk-redirect port=n1str #ccs -f /etc/cluster/cluster.conf --addfenceinst pcmk n2str pcmk-redirect port=n2str ---Al risultato finale sono arrivato effettuando numerose prove ed editando manualmente il file “cluster.conf”. Quindi di seguito indico i parametri da aggiungere manualmente editando il file “cluster.conf” (in rosso) #vi /etc/cluster/cluster.conf [ONE] ---Convalidare la configurazione modificata manualmente notando che è stato cambiato il valore di configurazione della versione. #ccs_config_validate ---In fine copiare sull'altro nodo il file di configurazione di CMAN #scp /etc/cluster/cluster.conf n2str:/etc/cluster/ ---Cominciamo a configurare PACEMAKER #service pacemaker start [ALL] --CONFIGURAZIONE CLVMD (CLUSTER LOGICAL VOLUME). ---Le seguenti operazioni vanno eseguite quasi tutte su entrambi i nodi infatti è specificato [ALL] tra parentesi quadre. ---Queste operazioni sono preliminari alla configurazione di GFS2 la cui operatività è subordinato (secondo RedHat) alla creazione di LV. ---Apparentemente risulta inutile utilizzare per questo progetto la suite “Resilient Storage”. In realtà esso è l'unico sistema che mi permette di effettuare il live migration della macchine virtuali. ---Accertarsi che su entrambi i nodi siano 'primary' le risorse DRBD che devono far parte del CLVMD #service drbd status [ONE] drbd driver loaded OK; device status: version: 8.4.2 (api:1/proto:86-101) GIT-hash: 7ad5f850d711223713d6dcadc3dd48860321070c build by dag@Build64R6, 2012-09-06 08:16:10 m:res cs ro ds p mounted fstype 0:web1 Connected Primary/Primary UpToDate/UpToDate C 1:vm1 Connected Primary/Primary UpToDate/UpToDate C 2:vm2 Connected Primary/Primary UpToDate/UpToDate C 3:wwin Connected Primary/Primary UpToDate/UpToDate C 4:cond Connected Primary/Primary UpToDate/UpToDate C ---Editare il seguente file e modificare i parametri per la gestione dei LV da parte del cluster. In rosso i valori modificati rispetto all'originale. In verde la sezione che con la versione 6.4 della CentOS è stata abilitata rispetto alla versione 6.3. ---In realtà il file 'lvm.conf' è dettagliatissimo in ogni parametro con tutti i commenti che spiegano ogni singolo valore e come modificarlo. Per semplicità ho riportato solo il contenuto effettivo. E' sempre consigliabile farsi una copia dell'originale. #vi /etc/lvm/lvm.conf [ALL] devices { dir = "/dev" scan = [ "/dev" ] obtain_device_list_from_udev = 1 preferred_names = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ] filter = [ "a|/dev/drbd*|", "r/.*/" ] cache_dir = "/etc/lvm/cache" cache_file_prefix = "" write_cache_state = 1 sysfs_scan = 1 multipath_component_detection = 1 md_component_detection = 1 md_chunk_alignment = 1 data_alignment_detection = 1 data_alignment = 0 data_alignment_offset_detection = 1 ignore_suspended_devices = 0 disable_after_error_count = 0 require_restorefile_with_uuid = 1 pv_min_size = 2048 issue_discards = 0 } allocation { maximise_cling = 1 mirror_logs_require_separate_pvs = 0 thin_pool_metadata_require_separate_pvs = 0 } log { verbose = 0 silent = 0 syslog = 1 overwrite = 0 level = 0 indent = 1 command_names = 0 prefix = " " } backup { backup = 1 backup_dir = "/etc/lvm/backup" archive = 1 archive_dir = "/etc/lvm/archive" retain_min = 10 retain_days = 30 } shell { history_size = 100 } global { umask = 077 test = 0 units = "h" si_unit_consistency = 1 activation = 1 proc = "/proc" locking_type = 3 wait_for_locks = 0 #fallback_to_clustered_locking = 1 fallback_to_local_locking = 1 locking_dir = "/var/lock/lvm" prioritise_write_locks = 1 abort_on_internal_errors = 0 detect_internal_vg_cache_corruption = 0 metadata_read_only = 0 mirror_segtype_default = "mirror" use_lvmetad = 0 thin_check_executable = "/usr/sbin/thin_check" thin_check_options = [ "-q" ] } activation { checks = 0 udev_sync = 1 udev_rules = 1 verify_udev_operations = 0 retry_deactivation = 1 missing_stripe_filler = "error" use_linear_target = 1 reserved_stack = 64 reserved_memory = 8192 process_priority = -18 mirror_region_size = 512 readahead = "auto" raid_fault_policy = "warn" mirror_log_fault_policy = "allocate" mirror_image_fault_policy = "remove" snapshot_autoextend_threshold = 100 snapshot_autoextend_percent = 20 thin_pool_autoextend_threshold = 100 thin_pool_autoextend_percent = 20 use_mlockall = 0 monitoring = 1 polling_interval = 15 } #################### # Advanced section # #################### dmeventd { mirror_library = "libdevmapper-event-lvm2mirror.so" snapshot_library = "libdevmapper-event-lvm2snapshot.so" thin_library = "libdevmapper-event-lvm2thin.so" } #reboot [ALL] ---Creare i PV (phisical volume) su cui verrano creati i VG (volume group) e gli LV (logical volume) che saranno gestiti dal cluster. #service clvmd start [ALL] #pvcreate /dev/drbd0 [ONE] #pvcreate /dev/drbd1 [ONE] #pvcreate /dev/drbd2 [ONE] #pvcreate /dev/drbd4 [ONE] ---per verificare la corretta messa in opera dei PV possiamo eseguire il seguente comando che visualizzerà l'elenco dei PV appena creati. Se si vuole avere maggiori informazioni è possibile lanciare un'altro comando che è “vgdisplay” oppure “vgscan” #pvs [ALL] PV VG Fmt Attr PSize PFree /dev/drbd0 lvm2 a-- 499,99g 499,99g /dev/drbd1 lvm2 a-- 200,00g 200,00g /dev/drbd2 lvm2 a-- 200,00g 200,00g /dev/drbd4 lvm2 a-- 1,01g 1,01g #pscan [ALL] PV /dev/drbd0 lvm2 [499,99 GiB] PV /dev/drbd1 lvm2 [200,00 GiB] PV /dev/drbd2 lvm2 [200,00 GiB] PV /dev/drbd4 lvm2 [1,01 GiB] Total: 4 [901,00 GiB] / in use: 0 [0 ] / in no VG: 4 [901,00 GiB] #pvdisplay [ALL] "/dev/drbd0" is a new physical volume of "499,99 GiB" --- NEW Physical volume --- PV Name /dev/drbd0 VG Name PV Size 499,99 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID n9mfvb-jr1z-7oBJ-KHnu-PV3m-wuWA-ljdQgE "/dev/drbd1" is a new physical volume of "200,00 GiB" --- NEW Physical volume --- PV Name /dev/drbd1 VG Name PV Size 200,00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID R1r7Go-APzq-iPKZ-PGvA-BrUn-OfcR-73Of47 "/dev/drbd2" is a new physical volume of "200,00 GiB" --- NEW Physical volume --- PV Name /dev/drbd2 VG Name PV Size 200,00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID RdCEyx-pqs4-idFF-DnqH-5ZRa-quJb-k23j8J "/dev/drbd4" is a new physical volume of "1,01 GiB" --- NEW Physical volume --- PV Name /dev/drbd4 VG Name PV Size 1,01 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID FLsAn2-Taca-VQ3r-0jwM-7uo2-Lve0-fyw0Rw ---Ora possiamo creare i VG che ospiteranno gli LV. #vgcreate -c y vg_web /dev/drbd0 [ONE] Clustered volume group "vg_web" successfully created #vgcreate -c y vg_vm1 /dev/drbd1 [ONE] Clustered volume group "vg_vm1" successfully created #vgcreate -c y vg_vm2 /dev/drbd2 [ONE] Clustered volume group "vg_vm2" successfully created #vgcreate -c y vg_cond /dev/drbd4 [ONE] Clustered volume group "vg_cond" successfully created ---piccolo particolare... se non avessi avviato il servizio CLVMD avrei dovuto usare l'opzione “-c y” per indicare al sistema che il VG che stavo per creare era di tipo cluster. ---altro piccolo particolare... se avessi voluto eliminare completamente un pv con i relativi VG e quindi reinizializzarlo avrei dovuto usare il comando “pvcreate -ff /dev/xxx” ---possiamo vedere l'effetto del comando appena lanciato dalla visualizzazione dell'elenco dei VG con i comandi “vgs”, “vgdisplay” e “vgscan”. ---Da notare che tra gli “Attr” è presente la lettera “c” che sta ad indicare il tipo di VG clustered. #vgs [ALL] VG #PV #LV #SN Attr VSize VFree vg_cond 1 0 0 wz--nc 1,01g 1,01g vg_vm1 1 0 0 wz--nc 200,00g 200,00g vg_vm2 1 0 0 wz--nc 200,00g 200,00g vg_web 1 0 0 wz--nc 499,99g 499,99g #vgscan [ALL] Reading all physical volumes. This may take a while... Found volume group "vg_cond" using metadata type lvm2 Found volume group "vg_vm2" using metadata type lvm2 Found volume group "vg_vm1" using metadata type lvm2 Found volume group "vg_web" using metadata type lvm2 #vgdisplay [ALL] --- Volume group --- VG Name vg_cond System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable Clustered yes Shared no MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 1,01 GiB PE Size 4,00 MiB Total PE 258 Alloc PE / Size 0 / 0 Free PE / Size 258 / 1,01 GiB VG UUID VfpdEK-7vEk-4laW-XFQx-pqJM-igQw-u6Cv1B --- Volume group --- VG Name vg_vm2 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable Clustered yes Shared no MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 200,00 GiB PE Size 4,00 MiB Total PE 51199 Alloc PE / Size 0 / 0 Free PE / Size 51199 / 200,00 GiB VG UUID 1GTNB3-a3e2-9s5Y-97QH-yoxL-NhR9-GJaTSM --- Volume group --- VG Name vg_vm1 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable Clustered yes Shared no MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 200,00 GiB PE Size 4,00 MiB Total PE 51199 Alloc PE / Size 0 / 0 Free PE / Size 51199 / 200,00 GiB VG UUID 1BfSAW-S0rF-12rp-Phwk-qNMv-R8TA-vv6RTd --- Volume group --- VG Name vg_web System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable Clustered yes Shared no MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 499,99 GiB PE Size 4,00 MiB Total PE 127998 Alloc PE / Size 0 / 0 Free PE / Size 127998 / 499,99 GiB VG UUID X4NToq-9Ruu-db2b-ncIk-9Mh8-8JBG-tzZXlL ---Ora possiamo creare i LG. #lvcreate -l 100%FREE -n lv_web vg_web [ONE] Logical volume "lv_web" created #lvcreate -l 100%FREE -n lv_cond vg_cond [ONE] Logical volume "lv_cond" created #lvcreate -L 5G -n lv_vmx vg_vm1 [ONE] Logical volume "lv_vmx" created #lvcreate -L 5G -n lv_vmx vg_vm2 [ONE] Logical volume "lv_vmx " created ---possiamo vedere l'effetto del comando appena lanciato dalla visualizzazione dell'elenco dei LV con i comandi “lvs”, “lvdisplay” e “lvscan”. #lvs [ALL] VG #PV #LV #SN Attr VSize VFree vg_cond 1 0 0 wz--nc 1,01g 1,01g vg_web 1 0 0 wz--nc 499,99g 499,99g #lvscan [ALL] ACTIVE '/dev/vg_cond/lv_cond' [1,01 GiB] inherit ACTIVE '/dev/vg_web/lv_web' [499,99 GiB] inherit #lvdisplay [ALL] --- Logical volume --- LV Path /dev/vg_cond/lv_cond LV Name lv_cond VG Name vg_cond LV UUID X1cx9e-LT0b-4vQt-D5Fl-5dTR-gqlM-DeUfUT LV Write Access read/write LV Creation host, time n2str, 2013-04-11 11:02:01 +0200 LV Status available # open 0 LV Size 1,01 GiB Current LE 258 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:3 --- Logical volume --- LV Path /dev/vg_web/lv_web LV Name lv_web VG Name vg_web LV UUID gsurxg-uDT2-055X-46O6-k2Zg-dcdU-x8g4XE LV Write Access read/write LV Creation host, time n1str, 2013-04-11 10:59:27 +0200 LV Status available # open 0 LV Size 499,99 GiB Current LE 127998 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 --CONFIGURAZIONE GFS2 ---Ora è necessario formattare il dispositivo che ospiterà il file system GFS2. Tale operazione deve essere eseguita solo su uno dei due nodi. ---formattiamo la prima partizione che conterrà i dati condivisi tra i dui nodi del cluster. #mkfs.gfs2 -p lock_dlm -j 2 -t clstr:gcond /dev/vg_cond/lv_cond [ONE] This will destroy any data on /dev/vg_cond/lv_cond. It appears to contain: symbolic link to `../dm-1' Are you sure you want to proceed? [y/n] y Device: /dev/vg_cond/lv_cond Blocksize: 4096 Device Size 0,97 GB (254976 blocks) Filesystem Size: 0,97 GB (254973 blocks) Journals: 2 Resource Groups: 4 Locking Protocol: "lock_dlm" Lock Table: "clstr:gcond" UUID: 27674f76-7168-6358-1402-1737039192f0 ---formattiamo la partizione che conterrà i dati web da pubblicare. #mkfs.gfs2 -p lock_dlm -j 2 -t clstr:gweb /dev/vg_cond/lv_web [ONE] This will destroy any data on /dev/vg_web/lv_web. It appears to contain: symbolic link to `../dm-0' Are you sure you want to proceed? [y/n] y Device: /dev/vg_web/lv_web Blocksize: 4096 Device Size 488,26 GB (127994880 blocks) Filesystem Size: 488,26 GB (127994877 blocks) Journals: 2 Resource Groups: 1954 Locking Protocol: "lock_dlm" Lock Table: "clstr:gweb" UUID: 06e4821d-564a-41b3-1cdc-4b1c7459e289 ---ora è indispensabile create le directory su cui verranno montate le partizioni GFS2 #mkdir /COND [ALL] #mkdir /WEB [ALL] ---editiamo il file “fstab” per aggiungere le partizioni che saranno montate automaticamente all'avvio del SO o del servizio GFS2. In rosso le righe da aggiungere. #vi /etc/fstab [ALL] # # /etc/fstab # Created by anaconda on Tue Apr 9 11:57:08 2013 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=5438e653-76cc-4e02-a26b-850296e05d52 / ext4 defaults 1 1 UUID=7560b2db-0896-4f7d-bafa-5f78ef363146 swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/vg_cond/lv_cond /COND gfs2 defaults,noatime,nodiratime 0 0 /dev/vg_web/lv_web /WEB gfs2 defaults,noatime,nodiratime 0 0 #service gfs2 restart [ALL] --CONFIGURAZIONE MACCHINE VIRTUALI ---CREAZIONE RETE VIRTUALE E DISPOSITIVI BRIDGE SU ENTRAMBI I NODI ---INSTALLAZIONE SUL PRIMO NODO DEL FIREWALL ---INSTALLAZIONE SUL SECONDO NODO DEL FIREWALL ---INSTALLAZIONE SUL PRIMO NODO DELLA PRIMA vm ---INSTALLAZIONE SUL SECONDO NODO DELLA SECONDA vm --CONFIGURAZIONE MONITOR DI CONNESSIONE #chkconfig cman on [ALL] ---creiamo il file “stricmd” per creare il demone di controllo connessione. #vi /etc/init.d/stricmd [ALL] #! /bin/sh #demone di monitor connessione #Strozzi Internet Connection Monitor Daemon . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network STRICM="/usr/sbin/stricm &" [ -f /usr/sbin/stricm ] || exit 0 RETVAL=0 # See how we were called. case "$1" in start) echo -n "Starting Internet connection monitor Str: " daemon $NICELEVEL $STRICM RETVAL=$? echo [ $RETVAL = 0 ] && touch /var/lock/subsys/stricm ;; stop) echo -n "Stopping Internet connection monitor: " killproc stricm RETVAL=$? echo [ $RETVAL = 0 ] && rm -f /var/lock/subsys/stricm ;; restart) $0 stop $0 start RETVAL=$? ;; status) status stricm RETVAL=$? ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 esac exit $RETVAL ---creiamo il file “stricm” che esegue lo script di controllo connessione vero e proprio. #vi /usr/sbin/stricm [ALL] #!/bin/bash #script di controllo connessione a internet PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/sbin:/root GW=192.168.15.33 PAUSE=10 MISSED=0 j=0 drbdadm disconnect all while true; do if (! ping -c 1 -w 1 $GW > /dev/null); then if [ $j -eq 1 ]; then service pacemaker stop service gfs2 stop service clvmd stop service cman stop drbdadm secondary all sleep $PAUSE drbdadm disconnect all #echo interrompo servizi j=0 #echo $j fi elif (ping -c 1 -w 1 $GW > /dev/null); then if [ $j -eq 0 ]; then sleep 20 drbdadm connect all sleep $PAUSE drbdadm primary all sleep $PAUSE service cman start service clvmd start service gfs2 start service pacemaker start #echo avvio i servizi j=1 #echo $j fi fi sleep $PAUSE done ---creiamo un link simbolico nella directory in cui si vuole far avviare il demone. Indicando “S” che significa start all'avvio e “71” è l'ordine di avvio in mezzo a tutti gli altri demoni. ---Infatti se si controlla il contenuto della directory si può vedere che alcuni link hanno la K davanti il che significa “kill” ovvero non si avviano al boot e il numero è sempre lo stesso che identifica anche il demone. #ln -s /etc/init.d/stricmd /etc/rc2.d/S98stricmd [ALL] #ln -s /etc/init.d/stricmd /etc/rc3.d/S98stricmd [ALL] ---Inoltre dobbiamo modificare la sequenza di avvio dei servizi drbd e libvirtd #mv /etc/rc3.d/S70drbd /etc/rc3.d/S97drbd [ALL] #mv /etc/rc3.d/S97libvirtd /etc/rc3.d/S96libvirtd [ALL] ---Questo viene fatto per dare il tempo alla macchina virtuale firewall di avviarsi. Anche se questo problema sarebbe ovviato dall'ultima modifica al mio script che disconnette all'avvio eventuali dispositivi connessi. Questo viene fatto perchè in caso di riavvio della macchina, se l'altro nodo è online con le risorse “primary” si verrebbe a creare una situazione di split-brian ---Quando si lancia per la prima volta il demone appena creato ci si deve accertare che le risorse DRBD non siano connesse. #service drbd status [ALL] drbd driver loaded OK; device status: version: 8.4.2 (api:1/proto:86-101) GIT-hash: 7ad5f850d711223713d6dcadc3dd48860321070c build by dag@Build64R6, 2012-09-06 08:16:10 m:res cs ro ds p mounted fstype 0:web1 StandAlone Secondary/Unknown UpToDate/DUnknown r----- 1:vm1 StandAlone Secondary/Unknown UpToDate/DUnknown r----- 2:vm2 StandAlone Secondary/Unknown UpToDate/DUnknown r----- 3:wwin StandAlone Secondary/Unknown UpToDate/DUnknown r----- 4:cond StandAlone Secondary/Unknown UpToDate/DUnknown r----- #service stricmd start [ALL] ---Una cosa simile andrà configurata sulla macchina virtuale WEB. #vi /usr/sbin/stras [ONE] #!/bin/bash . /etc/rc.d/init.d/functions . /etc/sysconfig/network STRAS="/usr/sbin/stras &" [ -f /usr/sbin/stras ] || exit 0 RETVAL=0 case "$1" in start) echo -n "Avvio STRAS: " daemon $NICELEVEL $STRAS RETVAL=$? echo [ $RETVAL = 0 ] && touch /var/lock/subsys/stras ;; stop) echo -n "Stopping STRAS: " killproc stras RETVAL=$? echo [ $RETVAL = 0 ] && rm -f /var/lock/subsys/stras ;; restart) $0 stop $0 start RETVAL=$? ;; status) status stras RETVAL=$? ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 esac exit $RETVAL #chmod 755 /usr/sbin/stras [ONE] #vi /etc/init.d/strasd [ONE] #!/bin/bash CONN=192.168.15.33 PAUSE=10 while true; do if (! ping -c1 -w 1 $CONN > /dev/null); then sleep $PAUSE shutdown -h now fi sleep $PAUSE done #chmod 755 /etc/init.d/strasd [ONE] #ln -s /etc/init.d/strasd /etc/rc2.d/S13strasd [ONE] #ln -s /etc/init.d/strasd /etc/rc3.d/S13strasd [ONE] #service strasd start [ONE] --CONFIGURAZIONE CLUSTER ---Avviamo il gestore delle risorse del cluster #service pacemaker start [ALL] ---possiamo verificare la situazione iniziale del cluster digitando il seguente comando: #crm_mon [ONE] ============ Last updated: Fri May 10 15:20:15 2013 Last change: Thu May 9 12:22:19 2013 via cibadmin on n1str Stack: cman Current DC: n2str - partition with quorum Version: 1.1.7-6.el6-148fccfd5985c5590cc601123c6c16e966b85d14 2 Nodes configured, unknown expected votes 0 Resources configured. ============ Online: [ n1str n2str ] ---iniziamo la configurazione del cluster lanciando i seguenti comandi. #crm configure property stonith-enabled="false" [ONE] #crm configure property no-quorum-policy="ignore" [ONE] #crm configure property default-resource-stickiness=INFINITY [ONE] #crm configure primitive ping ocf:pacemaker:ping params host_list="192.168.15.33" name="ping" op monitor interval="10s" timeout="60s" op start interval="0" timeout="60s" op stop interval="0" timeout="60s" [ONE] #crm configure clone c_ping ping meta globally-unique="false" ---Con gli ultimi due comandi è stata creata una risorsa di tipo primitivo che svolge un'attività fondamentale di verifica connessione. In sostanza effettua il monitoraggio della connessione e verrà utilizzata dalle risorse per verificare quale sia il nodo connesso alla rete per poter erogare i servizi. ---Ora verrà creata l'esportazione del dispositivo ISCSI con relativo indirizzo IP a cui di dovrà puntare per usufruirne. #crm configure primitive p_ip_web ocf:heartbeat:IPaddr2 \ params ip="192.168.100.200" nic="virbr0" \ op monitor interval="10s" timeout="20s" \ op start interval="0" timeout="20s" \ op stop interval="0" timeout="20s" #crm configure primitive p_tgt_web ocf:heartbeat:iSCSITarget \ params iqn="web" tid="1" \ op monitor interval="60s" #crm configure primitive p_lun_web ocf:heartbeat:iSCSILogicalUnit \ params target_iqn="web" lun="1" path="/dev/vg_web/lv_web" \ op monitor interval="10" \ meta target-role="Started" ---Viene creata la risorsa Virtual Domain che consiste nella macchina virtuale che fornirà i servizi WEB #crm configure primitive p_vm_web ocf:heartbeat:VirtualDomain \ params config="/etc/libvirt/qemu/ce64-21.xml" migration_transport="ssh" \ meta allow-migrate="true" \ op start interval="0" timeout="90s" \ op stop interval="0" timeout="90s" \ op monitor interval="10s" timeout="60s" \ op migrate_from interval="0" timeout="240s" \ op migrate_to interval="0" timeout="240s" ---Consideriamo che la risorsa di tipo ISCSI divrà sempre essere in linea con la macchina virtuale web. Quindi tutte le risorse che servono al dispositivo ISCSI saranno raggruppate insieme alla macchina virtuale WEB creando una risorsa “gruppo” #crm configure group g_web p_tgt_web p_lun_web p_ip_web p_vm_web ---E' ancora necessario indicare al cluster che il gruppo appena creato deve obbligatoriamente risiedere sul nodo che ha la connessione con il seguente comando: #crm configure location l_web g_web rule $id="l_web-rule" -inf: not_defined ping or ping lte 0 ---Può darsi che il primo risultato del comando restituisca degli errori che andranno risolti con la pulizia di ogni risorsa #crm resource cleanup p_tgt_web #crm resource cleanup p_lun_web #crm resource cleanup p_ip_web #crm resource cleanup p_vm_web #crm resource cleanup g_web ---Infine rieseguendo il comando di monitoraggio cluster avremo la seguente situazione: ============ Last updated: Fri May 10 15:31:32 2013 Last change: Thu May 9 12:22:19 2013 via cibadmin on n1str Stack: cman Current DC: n2str - partition with quorum Version: 1.1.7-6.el6-148fccfd5985c5590cc601123c6c16e966b85d14 2 Nodes configured, unknown expected votes 6 Resources configured. ============ Online: [ n1str n2str ] Resource Group: g_web p_tgt_web (ocf::heartbeat:iSCSITarget): Started n2str p_lun_web (ocf::heartbeat:iSCSILogicalUnit): Started n2str p_ip_web (ocf::heartbeat:IPaddr2): Started n2str p_vm_web (ocf::heartbeat:VirtualDomain): Started n2str Clone Set: c_ping [ping] Started: [ n1str n2str ] - - - Installazione software su macchine vrituali WEB requisiti per cmsmadesimple #yum install httpd #yum install php-gd php-mysql php-xml #chkconfig httpd on #service httpd start --copiare nella directory /var/www/html il seguente file e decomprimerlo: #tar -xzvf cmsmadesimple-1.11.6-full.tar.gz --- eliminare o spostare il file originale compressi (giusto per fare pulizia) #rm /var/www/html/cmsmadesimple-1.11.6-full.tar.gz effettaure le seguenti modifiche #chmod 777 /var/www/html/tmp/templates_c #chmod 777 /var/www/html/tmp/cache ---collegarsi tramite browser a: http://192.168.100.37/index.php e iniziare la configurazione di cmsmadesimple #vi /var/www/html/config.php #chmod 777 /var/www/html/config.php ---editare il file #vi /etc/php.ini max_execution_time = 60 post_max_size = 10M upload_max_filesize = 10M Service httpd restart #chmod 777 /var/www/html/uploads #chmod 777 /var/www/html/uploads/images #chmod 777 /var/www/html/modules ---------myslql #yum –enablerepo=c6-media install mysql mysql-server #chkconfig mysqld start #service mysqld start #/usr/bin/mysql_secure_intallation --attenzione il precedente comando lancia uno script che serve per mettere in sicurezza mysql --parla di cambiare la password dell'utente “root”. Si riferisce all'utente root di mysql quindi quando chiede la --password ed essendo la prima volta che si accede, essa è nulla quindi si da invio alla prima domanda. --subito dopo infatti chiede di settare la password di root(è poi l'amministratore di mysql). --chiede di rimuovere gli utenti anonimi - Y --chiede di diabilitare il login remoto dell'utente root – n --chiede di rimuovere i database di test e gli accessi ad essi - Y --chiede di aggiornare i privileggi delle tabelle ora – Y #mysql -u root -p >create database strcms; >grant all privileges on strcms.* to cms_stefano@localhost identified by $472192d$; importante per mail #ln -s /usr/share/squirrelmail /var/www/html/mail ------creare repo sul server installare httpd #yum install httpd ---installlare il pacchetto createrepo #yum install createrepo ---creare il repositori con il comando #createrepo -v /var/www/html/directoryrepo/ ---creare il seguente file #vi /etc/yum.repos.d/miorepo.repo [mio repo] name=mio_repository baseurl=http://server/directoryrepo gpgcheck=0 enabled=1 ------installare e configurare mailserver ---Dopo l'installazione base abbiamo i seguenti servizi: #chkconfig auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off ip6tables 0:off 1:off 2:off 3:off 4:off 5:off 6:off iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off rdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:off restorecond 0:off 1:off 2:off 3:off 4:off 5:off 6:off rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off saslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:off sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off udev-post 0:off 1:on 2:on 3:on 4:on 5:on 6:off ---Installiamo prima di tutto il server web. #yum install httpd Servizi aggiunti in seguito all'installazione di httpd: htcacheclean 0:off 1:off 2:off 3:off 4:off 4:off 6:off httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off ---installare i programmi e le librerie per la compilazione #yum install gcc-c++ make #yum install openssl-devel ---creare una directory in cui copiare il pacchetto dei sorgenti #mkdir /COMPIL ---decomprimere il file compresso contenente i sorgenti #tar – xzvf xmail-1.27.tar ---entrare nella directory appena creata #cd /COMPIL/xmail-1.27 ---iniziare la compilazione con il seguente comando #cd /COMPIL/xmail-1.27 ---copiare la cartella MailRoot (che non è stata toccata o modificata dalla compilazione) su /var #cp -dpR /COMPIL/xmail-1.27/MailRoot /var/ ---cabiare i diritti a 700 #chmod 700 /var/MailRoot ---la compilazione ha creato la seguente cartella: /COMPIL/xmail-1.27/bin ---gli eseguibili in essa contenuta andranno copiati in /var/MailRoot/bin che precedentemente era vuota #cp /COMPIL/xmail-1.27/bin/CtrlClnt /var/MailRoot/bin #cp /COMPIL/xmail-1.27/bin/MkMachDep /var/MailRoot/bin #cp /COMPIL/xmail-1.27/bin/MkUsers /var/MailRoot/bin #cp /COMPIL/xmail-1.27/bin/sendmail /var/MailRoot/bin #cp /COMPIL/xmail-1.27/bin/XMail /var/MailRoot/bin #cp /COMPIL/xmail-1.27/bin/XMCrypt /var/MailRoot/bin ---copiare il file xmail (che non è stato toccato o modificato dalla compilazione)nella directory init.d #cp /COMPIL/xmail-1.27/xmail /etc/init.d/ ---cabiare i diritti a 700 per renderlo eseguibile #chmod 700 /etc/init.d/xmail ---creare il link simbolico per avviarlo automaticamente all'avvio del sistema #ln -s /etc/init.d/xmail /etc/rc3.d/S98xmail ---creare la password per l'amministratore di xmail #/var/MailRoot/bin/XMCrypt passwordchevoglio ---il risultato sarà una stringa che andrà inserita manualmente editando il seguente file #vi /var/MailRoot/ctrlaccounts.tab “utenteadmin” “stringaottenuta” - - - - - installazione di phpxmail #yum install php php-xml unzip ---decomprimere il file nella cartella /var/www/html o altra sottocartella #unzip .... -- - - - - - - - - - - - - - - - - - - gparted mkpart 3-prim [ext2] 38GB 40GB mkpart DATI_WEB [ext2] 40GB 740GB mkpart VM1 [ext2] 740GB 940GB mkpart VM1 [ext2] 740GB 940GB 1 22000 / OS 2 16000 swp 3 80000 4 500000 repo e dati internet 5 200000 vm1 6 200000 vm2 7 10000 progwin 8 50000 vm locale per prove 9 100000 vm drbd con casa 10 500000 dati_casa 500 gb per repo e dati internet (mirror) 21gb per so 16gb per swp 200gb per vm1 200gb per vm2 10gb per prog win 700gb per DATI_CASA