2.1.1 Tűzfal konfigurálása (csak új szerver konfigurálásnáé szükséges)
Az ESXI mentéseket az ns2.admindns.hu lévő szkript indítja el.
Az ns2.admindns.hu -nak biztosítani kell az SSH hozzáférést a szervere VMware-hez, ez a host -on lévő 2222 vagy 2223 port.
1.1. Bejelentkezés az érintett tűzfalra.
1.2. A hozzá tartozó tűzfal szabályok táblázatában létrehozás az adattáron.
1.3. Tűzfalon Address létrehozása:
-W_ADMINSYS_ESXi_BACKUP -> FQDN -> ns2.admindns.hu -> -W_TO_L_ALLOW_EXT_FQDN
1.4. NAT létrehozása:
ESXI_SSH, wan1 -> any -> WAN_*aktuális* -> LAN_ESXI -> service -> ESXi_Port_SSH(2222) -> SSH_TCP(22)
2.1.2. SSH root bejelentkezés
Le kell tesztelni, hogy a szerverre be lehet-e jelentkezni root-ként. Megvannak-e a hozzáférések?
Nyiss egy Puttyot az ns2.admindns.hu-ra a 22-es porttal, onnan ssh-zz be az aktuális szerverre a 2222-es porton, Fingerprint-re yes-t kell írni. Ha be tudsz jelentkezni root felhasználóval akkor minden rendben.
Ahhoz hogy megfelelően futtatni tudjuk a VMware szervereken a mentő scripteket root SSH hozzáférés szükséges a VMware szervereken az ns2.admindns.hu szerverről.
Az ns2.admindns.hu szerveren a root felhasználó publikus kulcsa a /root/.ssh/id_rsa.pub fájlban van.
Ennek a kiiratása a következő paranccsal végezhető el: cat /root/.ssh/id_rsa.pub
Ezt a kulcsot kell a VMware szerveren bemásolni az alábbi fájlba:
/etc/ssh/keys-root/authorized_keys
2.1.3 Fájlok elhelyezése, konfigurálása
ns2.admindns.hu:
--------------------
Az ütemezett script: /usr/local/bin/systembackup
A scriptnek van egy konfigurációs fájlja: /usr/local/etc/systembackup.conf
Az utóbbi fájlt kell adminisztrálni.
Jelenleg két szerver van konfigurálva benne.
A vezérlő script a /var/log/systembackup.log fájlba naplóz.
A /var/log/systembackup.log napló napi forgatását az /etc/logrotate.d/systembackup konfigurációs állomány szerint a logrotate fogja forgatni. Jelenleg hetente egyszer 4 hétre visszamenőleg.
A konfigurációs fájlban jelenleg 3 paraméter van vesszővel elválasztva:
remote.adminsys.hu,2222,vmbackup
Az első paraméter a VMware szerver neve.
A második az SSH port
A harmadik a szerveren futtatandó, mentést végrehajtó script neve.
Az ellenőrző script végzi a mentések ellenőrzését. Az ns2.admindns.hu szerveren fog tudni. A /usr/local/bin könyvtárban található és backupcheck a neve.
A VMware szerverenek ellenőrzi a result.log fájlokat. Ha failed szó van benne, akkor a mentés sikertelen. Ha az időbélyeg régebbi mint 12 óra a mentés akkor is sikertelen.
--------------------
Mentendő szerver:
--------------------
A szerveren a következő fájloknak és könyvtáraknak kell és ilyen formában meglennie:
/vmfs/volumes/esxibackup/ könyvtárban kell legyen egy Backup és egy bin könyvtár
- A Backup könyvtárban létre fog jönni egy alkönyvtár a Guest nevén, ezt lejjebb részletezem, a bin könyvtárba kerül a mentő script és a hozzá tartozó konfigurációs fáj, majd az eredmény fájl is.
/vmfs/volumes/esxibackup/bin/
Itt létre kell hozni ha még nincs egy vmbackup nevű file-t, ennek a tartalmát csatolom a cikkhez. Létrehozás után be kell állítani a jogosultságait a következőképpen:
chmod 755 vmbackup
Ezt követően ki kell listázni a Guestek nevé(ei)t:
vim-cmd vmsvc/getallvms
Ennek a parancsnak az eredményéből a 2. oszlop /-jel előtti rész kell pl VINKSERVER. Ezzel az egy szóval létre kell hozni a vmbackup.conf file-t, ha több guest-ről készül mentés akkor többször 1 szóval.
--------------------
ns2.admindns.hu:
--------------------
A mentés ütemezése jelenleg úgy van beállítva, hogy kedden és pénteken este 22:00-kor indul. Az ellenőrző script pedig szerdán és szombaton 10:00-kor.
Ez a /etc/cron.d/adminsys file-ban van beállítva.
--------------------
Folyamat:
--------------------
Az ns2.admindns.hu-n található /usr/local/bin/systembackup script elindul a megadott időben, ssh kapcsolatot nyit a /usr/local/etc/systembackup.conf file-ban megadott szerverekkel és elindítja az ott található
/vmfs/volumes/esxibackup/bin/ scriptet.
Ez a script logol a mentendő szerveren a /var/log/vmbackup.log file-ba valamint az ns2.admindns.hu szerveren a /var/log/systembackup.log file-ba. A mentés eredményéről készül egy
/vmfs/volumes/esxibackup/bin/result.log file. Ez a log file tartalmazza, hogy sikerült-e a mentés, valamint a mentés lefutásának az idejét amit mi nem értünk, de a gép igen.
Az ns2.admindns.hu-n található /usr/local/bin/backupcheck script az előbb említett result.log file-t használja arra, hogy lekérdezze sikeres volt-e a mentés és, hogy mikor fejeződött be. Ha a mentés sikertelen volt, vagy a befejezés ideje régebbi, mint 12 órás küld egy levelet a support@adminsys.hu-ra VMware backup failure report névvel.
--------------------
Remote backup:
--------------------
Bekerült a szerverekre kerülő vmbackup file-ba 2 új változó:
Remote Backup Server
RB_SERVER=192.168.21.45
Remote Backup Directory
RB_DIR=/vmfs/volumes/datastore1
Ha nincs ilyen beállításra szükség csak üresen kell hagyni az = jel után.
--------------------
ESXi meghajtó figyelése nagiosban:
--------------------
Nagios konfiguráció:
define service {
host_name firewall.smartme.hu
service_description VMware datatstore1 usage
check_command check_esxi_datastore!2222!1
use generic-service
notification_interval 0
}
A host_name és a check_command konfigurációs paramétereket kell változtatni szerverenként. A check_command utolsó két paramétere az SSH port és a datastore száma. A datastore száma a szerverre bessh-zva a df-h parancs kiadása után ellenőrizhető, ahanyadik a sorban azt a számot kell használni(1,2,3). Új check beállítása esetén a nagios felhasználóval be kell lépni egyszer az ellenőrizendő szerverre:
sudo su - nagios
ssh firewall.smartme.hu -p 2222
El kell fogadni a figyelmeztetést az ismeretlen hostra!