Do monitorowania sieci używam od dawien dawna oprogramowania Cacti. Na początku stawianego ręcznie na Debianie. Było to czasochłonne i wiązało się z powielaniem czynności. Na dodatek przy kolejnych wersjach Debiana instalacja różniła się w detalach. Zmieniały się wersje MySQL czy PHP.
Potem przyszedł z pomocą użytkownik cigamit z forums.cacti.net i stworzył CD z systemem CentOS 6 i skryptami instalującymi i konfigurującymi całość. Finalnie otrzymujemy gotową instalację z Cacti na pokładzie i kilkoma dodatkami, działającą od razu.
Niestety jak każdy „produkt” posiada większe i mniejsze błędy, ostatnia wersja to 0.7 czyli już po numerze widać, że nie jest to wersja stabilna, finalna itp. Nowszej już niestety nie było ale dla 99% instalacji jakie wykonałem Cacti 0.8.8b w zupełności wystarcza.
Procesu instalacji nie będę relacjonował bo jest ich kilka w sieci, nie ma co powielać treści. Jednak sposobu z jakiego sam korzystam nie widziałem nigdzie. CactiEZ domyślnie instaluje się na wybranym dysku podczas instalacji. Wybieramy jeden dysk i na nim kreator instalacji tworzy automatycznie partycje / i /home oraz partycję swap, rozmiar dobiera procentowo do pojemności dysku.
W instalacji CactiEZ katalog /home miałem praktycznie zawsze pusty, za to / zapełniał się szybko poprzez dodawanie urządzeń do monitorowania i tworzenia nowych plików .rra, które tworzą się od razu w przewidzianej w ustawieniach wielkości. Przeszukując instrukcję od CentOSa doszukałem się informacji, że w trybie tekstowym narzędzia do dysków są w okrojonej wersji i nie pozwalają na bardziej zaawansowane modyfikacje i ustawienia np. Software RAID ale instalując system poprzez VNC mamy dostęp do graficznego interfejsu i tym samym zaawansowanych narzędzi.
Aby zacząć instalację poprzez VNC podczas startu gdy pojawi się ekran wpisujemy w linii poleceń:
linux vnc
Dalej poprzez kilka pytań o ustawienia sieci przechodzimy dalej i pojawi się nam linijka na dole monitora:
13:14:47 Please manually connect your VNC viewer to 192.168.100.131:5901 to begin the install.
Oczywiście IP i port będzie inny, ale mamy podane dane do połączenia, za pomocą klienta VNC łączymy się do maszyny i postępujemy dalej z instalacją. Tworzymy macierze na dyskach i ustawiamy punkty montowania wg. potrzeb i kończymy instalację. Wydawałoby się, że to tak prosto ale jednak nie jest.
W pliku z listą pakietów do instalacji nie ma mdadm, bo standardowo instalacja wykonywana jest na jednym dysku z LVM i pakiet nie jest nam potrzebny po instalacji. Jeżeli mamy potrzebę utworzyć macierze za pomocą mdadm to instalujemy go po instalacji systemu i tworzymy macierze. Ale przecież my zainstalowaliśmy system na macierzy utworzonej przez mdadm ale nie mamy go w systemie. I podczas startu otrzymamy Kernel Panic. Nie wyciągamy CD z napędu tylko uruchamiamy instalator jeszcze raz, ale tym razem zamiast
linux vnc
wpisujemy
linux rescue
Uruchamiamy system z płyty, nasz system dyskowy zostanie podmontowany w katalogu
/mnt/sysimage
Należy wykonać polecenie
chroot /mnt/sysimage
I tym samym przełączyć się na naszą świerzą instalację tak jak byśmy byli w normalnie uruchomionym systemie. Teraz należy usunąć plik z repozytorium cactiez, które już niestety nie istnieje, potem zaktualizować listę pakietów ale nie uaktualniać ich na tą chwilę tylko wpisać N. Zainstalować pakiet mdadm i po tej operacji zaktualizować wszystkie pakiety.
rm /etc/yum.repos.d/cactiez.repo yum update yum install mdadm yum upgrade
Dlatego w tej kolejności bo przy uaktualnieniu pakietów zostanie zainstalowany nowszy kernel linuksa, i tym samym zostanie wygenerowany nowy obraz initramfs już z obsługą mdadm i tym samym pozwoli już normalnie nam uruchomić system. Po tej operacji mamy gotowy system do pracy, zaktualizowany do CentOS 6.10 działający na SoftwareRAID.
[root@localhost ~]# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdb1[1] sda1[0] 255988 blocks super 1.0 [2/2] [UU] md1 : active raid1 sdb2[1] sda2[0] 30718908 blocks super 1.1 [2/2] [UU] bitmap: 1/1 pages [4KB], 65536KB chunk md2 : active raid1 sda3[0] sdb3[1] 2145272 blocks super 1.1 [2/2] [UU] [root@localhost ~]# mount /dev/md1 on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw) /dev/md0 on /boot type ext2 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)