Zobrazují se příspěvky se štítkemTest. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemTest. Zobrazit všechny příspěvky

pátek 22. listopadu 2013

Zabbix pg_monz - PostgreSQL monitoring template

V minulosti jsem databázi PostgreSQL monitoroval pomocí Java nástroje PostBIX, což je jedna z variací projektu DBforBIX.  20.11.2013 mi přišel Zabbix newsletter, který informoval o novém postupu, jak monitorovat tuto oblíbenou databázi.

Projekt se jmenuje "PostgreSQL monitoring template for Zabbix (pg_monz)"a mají jej na svědomí dva japonští partneři Zabbix SIA - SRA OSS Inc. Japan, TIS Inc. Nástroj se dostal i na oficiální seznam 3rd Party Tools.

Tento nástroj  pg_monz využívá standartních nástrojů Zabbixu a PostgreSQL. Stěžejní je samotný Template, který implementuje též LLD - Low-level discovery. Zabbix pomocí dodaného scriptu zjistí jmenný seznam všech vytvořených databází. Pro dané db se po detekci názvů provádí monitoring jednotlivých db. Sezam monitorovaných položek je pěkně zdokumentován.


středa 13. listopadu 2013

Zabbix 2.2.0 vmware collector I.

Včera 12.11.2013 vyšla očekávaná nová majoritní verze oblíbeného monitorovacího systému Zabbix 2.2.0. Našel jsem si chvilku na vyzkoušení.

Nejprve jsem se rozhodl si provést čistou instalaci Na FreeBSD 9.1 s PostgreSQL. Vzhledem k tomu, že distribuční balíčky a porty výjdou s nějakým opožďěním. Provedl jsem instalaci ze zdrojových kódů.

Novinek je v nové verzi celá řada. Na webu zabbix.com se píše že jich je více jak 100. Na root.cz jsem do novinek napsal jen slabý odvar. Po pravdě nejvíce mě zajímá "Monitoring of vCenter and vSphere - vmware collector" A na tuto novinku jsem se zaměřil.

Z dokumentace je patrné, co je třeba při kompilaci pro podporu vmware. Tyto dvě kompilační volby --with-libxml2 a --with-libcurl je třeba mít zapnuté. No a zde jsem na FreeBSD narazil. Kompilace --with-libxml2 končila chybou ZBX-7329, která je již opravena ve verzi 2.2.1-rc1. Takže nový port na FreeBSD můžeme očekávat rovnou ve verzi 2.2.1 :-)

Posléze jsem se rozhodl povýšit testovací zabbix na Debianu 7 s MySQL, který jsem provozoval na verzi 2.0.9. Upgrade je popsán zde. Výhodou nové 2.2.0 verze je, že již podporuje auto upgrade schéma databáze. Takže po spuštění služby zabbix-server se začne databáze upgradovat.

   637:20131112:150038.112 Starting Zabbix Server. Zabbix 2.2.0 (revision 40163).
   637:20131112:150038.112 ****** Enabled features ******
   637:20131112:150038.112 SNMP monitoring:           YES
   637:20131112:150038.113 IPMI monitoring:           YES
   637:20131112:150038.113 WEB monitoring:            YES
   637:20131112:150038.113 VMware monitoring:         YES
   637:20131112:150038.113 Jabber notifications:      YES
   637:20131112:150038.113 Ez Texting notifications:  YES
   637:20131112:150038.113 ODBC:                       NO
   637:20131112:150038.113 SSH2 support:              YES
   637:20131112:150038.113 IPv6 support:               NO
   637:20131112:150038.113 ******************************
   637:20131112:150038.113 NodeID:                      1
   637:20131112:150038.113 ******************************
   637:20131112:150038.113 using configuration file: /opt/zabbix-2.2.0-server/etc/zabbix_server.conf
   637:20131112:150038.362 current database version (mandatory/optional): 02010000/02010000
   637:20131112:150038.362 required mandatory version: 02020000
   637:20131112:150038.362 starting automatic database upgrade
   637:20131112:150038.363 completed 0% of database upgrade
   637:20131112:150038.364 completed 1% of database upgrade
   637:20131112:150038.370 completed 2% of database upgrade
   637:20131112:150038.373 completed 3% of database upgrade

...
   637:20131112:155705.372 completed 99% of database upgrade
   637:20131112:155705.373 completed 100% of database upgrade
   637:20131112:155705.373 database upgrade fully completed


Po upgradu vše fungovalo. Jen není dořešen import nových Template/Šablon. V čisté instalaci se objevili tři nové šablony pro monitorování vmware.

Template Virt VMware
Applications (3) Items (3) Triggers (0) Graphs (0) Screens (0) Discovery (3) Web (0) 

Template Virt VMware Guest
Applications (8) Items (17) Triggers (0) Graphs (0) Screens (0) Discovery (3) Web (0)

Template Virt VMware Hypervisor
Applications (6) Items (19) Triggers (0) Graphs (0) Screens (0) Discovery (1)    Web (0)

Do upgradovaného Zabbixu je je třeba tyto Template importovat od jinud. O vmware collectoru se rozepisu později až jej podrobněji prozkoumám.

Update:
Při nastavení sledování vCenter server s template Template Virt VMware zabbix-server crash, Jiz na to existuje bug ZBX-7359, děje se mi tak jak na Debian 7 se Zabbix ze src, tak i na třetí 2.2.0 instalaci Ubuntu 12.04.3 amd64 z Oficial Zabbix Repo.

středa 4. září 2013

iPad - Recovery Mode

Dostal se mi do rukou nalezený iPad Mini s tím že byl v Chorvačtině a požadoval zadat heslo. Zjistit kdo jej vlastní a nějak jej vrátit se mi nepodařilo, a tak si jej nálezce ponechal a požádal mě o reset, nebo odblokovaní hesla. S resetem asi nemá moc lidí zkučenosti, protože zprvu jsem to chtěl po Apple expertech, ale nakonec jsem se tomu věnoval sám. A ušetřil tak 1000,- Kč, které si prý za tento postup někdo účtuje :-)


Nejprve jsem pátral co je to zač, na zadní straně jsem dohledal iPad Mini Model A1432, na supportu jsem dohledal tuto tabulku. Která mi lépe identifikovala model tabletu s jablkem na zádech.

Dále jsem jej připojoval k Ubuntu a koukal co se děje v logu

Sep  3 00:01:21 ubuntu kernel: [15412.636017] usb 2-2: new high-speed USB device number 3 using ehci_hcd
Sep  3 00:01:21 ubuntu kernel: [15412.770706] usb 2-2: New USB device found, idVendor=05ac, idProduct=12ab
Sep  3 00:01:21 ubuntu kernel: [15412.770711] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Sep  3 00:01:21 ubuntu kernel: [15412.770714] usb 2-2: Product: iPad
Sep  3 00:01:21 ubuntu kernel: [15412.770717] usb 2-2: Manufacturer: Apple Inc.
Sep  3 00:01:21 ubuntu kernel: [15412.770720] usb 2-2: SerialNumber: b457bb24305e977ede4a51074df42bb5cc36c31d
Sep  3 00:01:21 ubuntu mtp-probe: checking bus 2, device 3: "/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-2"
Sep  3 00:01:21 ubuntu mtp-probe: bus: 2, device: 3 was not an MTP devic
e

Vynucení Recovery Mode

Sep  3 00:03:40 ubuntu kernel: [15552.137048] usb 2-2: Product: Apple Mobile Device (Recovery Mode)
Sep  3 00:03:19 ubuntu kernel: [15531.016920] usb 2-2: Manufacturer: Apple Inc.
Sep  3 00:03:19 ubuntu kernel: [15531.016922] usb 2-2: SerialNumber: CPID:8980 CPRV:10 CPFM:03 SCEP:10 BDID:0A ECID:00000332421E35A8 IBFL:03 SRNM:[XXXXXXXXX]


Po letech jsem nabootoval do Windows XP na stařičkém IBM notebooku. A nainstaloval potřebný iTunes , s tím že mi to při downloadu nabízelo jen 64bitovou verzi, po chvíli googlování jsem našel 32bitovou instalaci iTunesSetup.exe verze 11.0.5.5.

Byl jsem směrován na supportní stránku v češtině.
iOS: Zapomenutý kód nebo zablokované zařízení po zadání špatného kódu

kde jsem přesně postupoval dle popisovaných kroků a docílil požadovaného resetu do továrního nastavení - Apple Mobile Device (Recovery Mode) se smazáním všech dat atd.

Tablet je to moc pěkný a iOS 6.1.3 funguje skutečně rychle. Osobně jsem se s Jablíčkem moc nesetkal Nějak nemůžu přijít na chuť aplikaci iTunes. Mít tak Mac Book a iPhone a iPad, tak je to asi cele jiné, ale nejsem stylař a u mě zatím stále vede Android, byť mám jen telefon a tabletů jsem pár v ruce měl.

Apple mi je obecně sympatický, ale cenově méně dostupný. A jisté mouchy bych si asi nechal zatím pro sebe.

úterý 29. ledna 2013

OpenCMS 8.5.0 OpenJDK 7 FreeBSD 9.1


Ve FreeBSD jsem zaznamenal změny v portech využívajících Javu. Konkrétně jsem si všiml, že Serviio má v závislostech OpenJDK a dříve se používala hojně Java - port java/diablo-jdk16. Tento port je již označen DEPRECATED. Pamatuji se, že pro kompilaci OpenJDK bylo nutno mít právě Diablo-JDK16, to se změnilo. A tak jsem si instaloval port java/openjdk7.

Pro vyzkoušení OpenJDK jsem zvolil Servlet container Tomcat7 s APR - Tomcat native library.

tomcat-7.0.34 Open-source Java web server by Apache, 7.x branch
tomcat-native-1.1.24 Tomcat native library


Běh JVM jsem si sledoval v Zabbixu pomoci JMX. Definováno v rc.conf.

tomcat7_enable="YES"

tomcat7_java_opts="-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=10053
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.awt.headless=true"


Dále jsem si vzpoměl na CMS, které je psané v Javě. Zajimavý seznam Java based CMS jsem našel zde. Řekl jsem si že vyzkouším instalaci OpenCMS. Popis instalace je velmi jednoduchý. Zkráceně pořtěbujeme Tomcat a MySQL. Popis instalace je dostatečně popsán zde. Z portů jsem si nainstaloval ještě.

mysql-server-5.5.29 Multithreaded SQL database (server)
apache22-2.2.23_4   Version 2.2.x of Apache web server with prefork MPM.
ap22-mod_jk-1.2.37_2 Apache2 JK module for connecting to Tomcat using AJP1X


Stáhnul jsem si zip file opencms_8.5.0.zip.


Archive: opencms_8.5.0.zip
extracting: opencms.war
extracting: history.txt
extracting: install.html
extracting: license.txt
extracting: OpenCms_Documentation_8.5.0_v1.pdf

Po deploy war souboru jsem již mohl pustit instalačni vizard, který celou instalaci dokončil.

Z webu OpenCMS jsem dohledal českou společnost NelaSoft, která tento CMS systém implementuje. Instalace je vcelku jednoduchá, ovšem použití tohoto systému vyžaduje patřičné znalosti. Apropo o daném systému jsem se prvně dozvěděl v FG. OpenCMS je použito u webu ČNB :-)

pondělí 14. ledna 2013

Nokia Play 360°


O víkendu jsem zahlédl pěkný kousek HW z oblasti audio. Jedná se o reproduktor Nokia MD-50W (Nokia Play 360) BT. Ideální na cesty. Kdy modrou kostku spárujeme s mobilem nebo s notebookem pomoci Bluetooth 2.1. Daný kousek je ovšem poměrně drahý.

Měl jsem možnost jej otestovat s HTC Desire S a s notebookem kde je Ubuntu 12.04 LTS a vše fungovalo naprosto bezproblémově. Je podporováno spojit dvě kostky mezi sebou, čímž bychom měli získat stereo.

Spárované audio zažízení pomocí BT 2.1



úterý 30. října 2012

Samsung Smart TV používá XFS


K mé televizi 37" Samsung UE37ES6100 jsem připojil čtečku karet s Compact Flash a chtěl jsem na ní vyzkoušet nahrávání. TV mě oznámila, že si kartu zformátuje. Po formátu mi oznámila, že je vhodnější použít klasický disk, karta byla pomalá pro zápis. I tak jsem na kartu nahrál část Partičky.

Pak jsem neváhal a vzal jeden postarší 80GB disk co se mi válel pod stolem a pomocí patřičného konvertoru a napájení jej připojil k TV. Při volbě nahrávání mě TV opět vyzvala k formátování disku.

Po nahrávání jsem disk připojil k domácímu PC s OS Linux Ubuntu a mile jsem byl překvapen, když jsem zjistil zě TV používat filesystém XFS. Který je v UNIX/Linux OS doma. Tento žurnálový filesystém uvolnila společnost SGI - Silicon Graphics.

http://cs.wikipedia.org/wiki/XFS
http://en.wikipedia.org/wiki/XFS

Již chápu dotazy známých na téma, já si něco nahraju na disk z TV, ale když to připojím do Window$ tak tam nic není. To bude asi tím, že Win XFS neumějí :-) Samsung má u mě další kladné body.

Uložená nahrávka má vždy 5 souborů.

-rw-r--r-- 1 root root  572 1970-01-01 01:53 20121031021004.ss
-rw-r--r-- 1 root root 921M 1970-01-01 02:18 20121031021004.srf
-rw-r--r-- 1 root root 1,4M 1970-01-01 02:18 20121031021004.mdb
-rwxr-xr-x 1 root root 7,8K 1970-01-01 02:18 20121031021004.inf
-rw-r--r-- 1 root root  89K 1970-01-01 02:18 20121031021004.mta


Popis je např. zde.

Připojení disktu k Linuxu.

Oct 31 20:45:12 negr kernel: [11114.576017] usb 2-1: new high speed USB device using ehci_hcd and address 2
Oct 31 20:45:12 negr kernel: [11114.709809] usb 2-1: configuration #1 chosen from 1 choice
Oct 31 20:45:12 negr kernel: [11115.159838] Initializing USB Mass Storage driver...
Oct 31 20:45:12 negr kernel: [11115.159964] scsi8 : SCSI emulation for USB Mass Storage devices
Oct 31 20:45:12 negr kernel: [11115.160054] usbcore: registered new interface driver usb-storage
Oct 31 20:45:12 negr kernel: [11115.160056] USB Mass Storage support registered.
Oct 31 20:45:17 negr kernel: [11120.161478] scsi 8:0:0:0: Direct-Access     WDC WD80 0BB-00DAA1       3B02 PQ: 0 ANSI: 2 CCS
Oct 31 20:45:17 negr kernel: [11120.162192] sd 8:0:0:0: Attached scsi generic sg4 type 0
Oct 31 20:45:17 negr kernel: [11120.165306] sd 8:0:0:0: [sdd] 156301488 512-byte logical blocks: (80.0 GB/74.5 GiB)
Oct 31 20:45:17 negr kernel: [11120.166082] sd 8:0:0:0: [sdd] Write Protect is off
Oct 31 20:45:17 negr kernel: [11120.170339]  sdd: sdd1
Oct 31 20:45:17 negr kernel: [11120.192840] sd 8:0:0:0: [sdd] Attached SCSI disk
Oct 31 20:45:18 negr kernel: [11121.138362] SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled
Oct 31 20:45:18 negr kernel: [11121.140051] SGI XFS Quota Management subsystem
Oct 31 20:45:18 negr kernel: [11121.141832] XFS mounting filesystem sdd1

pátek 19. října 2012

RHEL 6.3 Bonding

Na OS RHEL 6.3 jsem rešil zprovoznění dvou síťovek za pomocí Bondingu. Konfigurace v režimu active-backup nebo 1. Nastavení je vcelku jednoduché. Vycházel jsem z oficiálná RedHat dokumentace Using Channel Bonding. Pěkný a ucelený návod je např. zde.

Nalezl jsem i bug, který je spojen s obdobným driverem, který používám na daném serveru. Naštěstí se mě netýkal.

Pro fungování bondigu je nutné aby byli síťovky zapojeny do Switch1 a Switch2. Konfiguraci na úrovni switchů jsem neřešil. Nevím, zda je tam pro bonding něco třeba. To třeba až zase někdy příště.

Driver "Ethernet Channel Bonding Driver" je možno konfigurovat složitěji. Např. se dají síťovky združovat a využít tak protokol LACP atd.

Výpis a informace o driveru pomocí ethtool.

ethtool -i eth0
driver: bnx2
version: 2.2.1
firmware-version: bc 5.2.3
bus-info: 0000:09:00.0


nebo

ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   1000baseT/Full
                                10000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  1000baseT/Full
                                10000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Speed: Unknown!
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: Unknown
        Supports Wake-on: g
        Wake-on: d
        Link detected: yes


Info z lspci

09:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709S Gigabit Ethernet (rev 20)
09:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709S Gigabit Ethernet (rev 20)


Prověříme, zda je přítomen patřičný balik kvuli programu ifenslave.

yum install iputils

Začneme konfigurovat interface eth0 a eth1

cd /etc/sysconfig/network-scripts/

DEVICE="bond0"
IPADDR="192.168.42.13"
NETMASK="255.255.255.0"
GATEWAY="192.168.42.1"
DNS1="192.168.42.10"

HOSTNAME="rhel63-test"
ONBOOT="yes"
BOOTPROTO="none"
USERCTL="no"
NAME="bond0"
BONDING_OPTS="miimon=80 mode=1"

DEVICE="eth0"
NAME="System eth0"
BOOTPROTO="none"
HWADDR="E8:39:35:C0:11:BC"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
UUID="9ae66694-cff1-4cab-99d4-fc7de045369c"
SLAVE="yes"
MASTER="bond0"

DEVICE="eth1"
NAME="System eth1"
BOOTPROTO="none"
HWADDR="E8:39:35:C0:11:BE"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
UUID="badf918c-3cc1-4e77-94c2-c8dc24032133"
SLAVE="yes"
MASTER="bond0"


Nastavíme load kernel modulu.

vi /etc/modprobe.d/bond0.conf
alias netdev-bond0 bonding


Restart síťových rozhraní.

/etc/init.d/network

V /proc můžeme prověřit některé informace.

cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 80
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: e8:39:35:c0:11:bc
Slave queue ID: 0

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: e8:39:35:c0:11:be
Slave queue ID: 0


ifenslave -a
The result of SIOCGIFFLAGS on lo is 49.
The result of SIOCGIFADDR is 7f.00.00.01.
The result of SIOCGIFHWADDR is type 772  00:00:00:00:00:00.
The result of SIOCGIFFLAGS on eth1 is 1043.
The result of SIOCGIFADDR is ffffffac.13.ffffffc8.20.
The result of SIOCGIFHWADDR is type 1  e8:39:35:c0:c0:e6.
 


Danou konfiguraci musím časem prověřit i ve FreeBSD. Zde je vodítko.

pátek 21. září 2012

nComputing on Ubuntu 10.04.4 LTS

Na jedné nejmenované základní škole mají učebnu s 20 terminaly L-300 od nComputing L-Series. Používaji primárně Windows 2008 serveru, který obhospodařuje danou učebnu.
Server pro nComputing s Win běží pod virtualizací. Jelikož zazněl požadavek, že by nebylo na škodu 8-9tým třídám ukázat i jiný OS. Provedl jsem tedy instalaci Linux Ubuntu Desktop 10.04.4 LTS i386. Společnost nComputing poskytuje svůj SW zvaný vSpace server i pro Linuxovou distribuci Ubuntu. Stáhl jsem tedy patřičný zip archív vSpace-L-3.1.4-r11465_release_for_Ubuntu-10.04.zip, který obsahuje deb baličky.

Instalace vSpace je podrobně a přehledně popsána v dokumentaci Ubuntu_10 04 2_L-series_Install_Guide_v0 3_Apr19-2011.pdf. Na instalaci není naprosto nic složitého. Vše jsem provedl v GUI, takže žádná příkazová řádka. Instalaci Linux Desktop i vSpace zvládne kdokoli.

Pro použití v dané škole jsem ještě doinstaloval Likewise Open, které popisuji zde. Rychle a jednoduše se tedy Linux dostal na 20 stanic. Žáci se mohou autentizovat pomocí svých školních účtů. Na Linux serveru (Desktop) se jim po přihlášení založí jejich home adresář a mohou se tak vesele seznamovat s jiným OS než jsou Window$.

Někdy v tomto školním roce zajdu na hospitaci ...

středa 19. září 2012

VMware vSphere Perl SDK

Potřeboval jsem si zprovoznit VMware API a šáhnul jsem po jednom z několika nástrojů, které VMware má k dispozici. Tyto nástroje hodlám použít pro monitorovani ESXi hypervisorů např. dle tohoto návodu na Zabbix fóru.

vSphere Perl SDK jsem si instaloval na třech různých OS. FreeBSD, CentOS a Ubuntu Desktop. Toto SDK má v sobě nejen Perlovské knihovny, ale i připravené CLI příkazy též postavené na Perlu, které umí poměrně hodně věcí. Již dříve jsem si CLI instaloval. Většina API nástrojů je integrována ve virtuálce vMA. Osobně jsem se rozhodl Perl SDK instalovat na své systémy.

FreeBSD 8.x i 9.x

Existuje port, který je momentálně ve verzi 5.0.0. Instalace všech závislostí je velmi snadná.

fetch http://nekde/VMware-vSphere-Perl-SDK-5.0.0-422456.i386.tar.gz
mv VMware-vSphere-Perl-SDK-5.0.0-422456.i386.tar.gz /usr/ports/distfiles/


cd /usr/ports/net/vmware-vsphere-cli && make install


Po instalaci je dobré zohlednit postinstalační zprávu.

========================================================================
Please note that, by default, an underlying Perl module does certificate
verification when communicating with vSphere hosts.

You must create a file that contains the public keys of all of your
vSphere hosts and then configure your Perl scripts to have the following
line:
$ENV{HTTPS_CA_FILE} = "/path/to/file";

If you want to disable this important security feature, you may set the
following variable to 0:
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME}
========================================================================


Balíček se jmenuje přesně takto.

vmware-vsphere-cli-5.0.0 VMware vSphere SDK for Perl with CLI tools

Jakou verzi používáme zjistíme následovně.

perl -MVMware::VIRuntime -e 'print $VMware::VIRuntime::VERSION'
5.0


Pro programování v perlu jsou důležité tyto Perlovské moduly.

VMware::VIM25Runtime
VMware::VIM2Stub
VMware::VIM2Runtime
VMware::VICommon
VMware::VILib
VMware::VIM25Stub


Nutno dodat, že port neobsahuje binárky esxcli!

CentOS 6.3 x86_64

Instalace na této distribuci odvozené od RHEL je poněkud komplikovanější. Je to kombinace tří zdrojů. Některé baličky jsou z oficiálního repositáře. Dále je nutný EPEL a jeden Perl modul jsem musel instalovat ručně.

Instalaci jsem konfrontoval s oficiální dokumentací vsphere-esxi-vcenter-server-51-sdk-for-perl-installation-guide.pdf, kde není instalace kompletní. Sice se část nainstaluje dle návodu, ale spoustu Perl modulů - balíčků musíme instalovat sami. Já si své instalované moduly poznamenám.

Instalace dle návodu k RHEL

yum install openssl-devel libxml2-dev e2fsprogs-dev

Nastavení proxy bylo vyžadováno ...

export ftp_proxy=http://192.168.42.7:8080
export http_proxy=http://192.168.42.7:8080

Stáhneme si instalační soubor.

VMware-vSphere-Perl-SDK-5.1.0-780721.x86_64.tar.gz

tar xvzf VMware-vSphere-Perl-SDK-5.1.0-780721.x86_64.tar.gz
cd vmware-vsphere-cli-distrib && ./vmware-install.pl

Instalátor si žádá následující balíčky o kterých dokumentace píše obecně. Názvy uváděny nejsou.

yum install perl-Archive-Zip perl-Compress-Zlib perl-Crypt-SSLeay perl-Class-MethodMaker perl-HTML-Parser perl-SOAP-Lite perl-XML-SAX perl-ExtUtils-CBuilder perl-libxml-perl perl-XML-LibXML-Common

Né vše je v oficiálním repo.

rpm -i http://ftp.fi.muni.cz/pub/linux/fedora/epel/6/i386/epel-release-6-7.noarch.rpm
yum update
zum install uuid-perl perl-Data-Dump


Instalátor si žádá verzi UUID 0.03 or newer, která není ani v jednom repo.

Doinstalujeme si nástroje pro build.

yum install make gcc libuuid-devel

Na stránce  http://search.cpan.org/~jnh/UUID/UUID.pm si najdeme odkaz ke stažení src.

wget http://search.cpan.org/CPAN/authors/id/J/JN/JNH/UUID-0.04.tar.gz
tar xvzf UUID-0.04.tar.gz && cd UUID-0.04
perl Makefile.PL
make install clean

Instalace již doběhla s varováním, které zatím ignoruji. Co jsem od SDK potřeboval fungovalo.

The following Perl modules were found on the system but may be too old to work
with vSphere CLI:

Compress::Zlib 2.037 or newer
Compress::Raw::Zlib 2.037 or newer
version 0.78 or newer
IO::Compress::Base 2.037 or newer
IO::Compress::Zlib::Constants 2.037 or newer
LWP::Protocol::https 5.805 or newer

Enjoy,

--the VMware team

Ubuntu 12.04 LTS Desktop

Naposledy jsem si instaloval VMware vSphere Perl SDK na notebook. Instalace je opět pro Ubuntu 10.04 popisována v dokumentaci. Taktéž je doporučeno instalovat jen něco.

32 bit
sudo apt-get install build-essential gcc uuid uuid-dev perl libssl-dev perl-doc liburi-perl libxml-libxml-perl libcrypt-ssleay-perl
64 bit
sudo apt-get install ia32-libs build-essential gcc uuid uuid-dev perl libssl-dev perl-doc liburi-perl libxml-libxml-perl libcrypt-ssleay-perl

Doinstalovávám tyto deb balíky

libarchive-zip-perl
libcrypt-ssleay-perl
libclass-methodmaker-perl
libdata-dump-perl
libsoap-lite-perl


tar xvzf VMware-vSphere-Perl-SDK-5.1.0-780721.x86_64.tar.gz
cd vmware-vsphere-cli-distrib


Test verze Perl SDK.

perl -MVMware::VIRuntime -e 'print $VMware::VIRuntime::VERSION'
5.1.0


Test spojeni s ESXi pomocí připravených ukázkových scriptů.

cd /usr/lib/vmware-vcli/apps/general/
./connect.pl --url https://192.168.42.13/sdk/webService --username root --password ***
Connection Successful
Server Time : 2012-09-19T12:31:19.505723Z


Pokud se nám objevuje chybová hláška začínající ...

Server version unavailable at ...

Slevíme z bezpečnosti a nastavíme si danou proměnnou na zero.

export PERL_LWP_SSL_VERIFY_HOSTNAME=0

Teď už jen zažít programovat :-) Jinak mnoho zajímavých informací je na blogu vmware http://blogs.vmware.com/vsphere/tag/vsphere-api

Zabbix

Pro otestování Perl SDK je možno užít a mírně modifikovat tento script

time ./zabbix_perl_api_vmware.pl 192.168.42.13 ahKaer5a root
0

real    0m27.655s
user    0m19.087s
sys    0m0.253s


Tento script do /tmp/vmware_api_IP.txt vytvoří soubor s informacema o běhu ESXi.

Array_0.Queue_Command_Latency.average:    0
Uptime:    2251653
Array_0.Disk_Write_Requests.summation:    2768
Array_0.Disk_Read_Requests.summation:    1872
CpuUsed:    800000000
MEM_consumed:    5467086848
Array_0.Physical_Device_Write_Latency.average:    0
vmnic1.duplex:    0
Array_0.Disk_Command_Latency.average:    3
MEM_shared:    337231872
vmnic1.state:    0
MEM_swapused:    0
Array_0.Disk_Commands_Issued.summation:    4641
Volume.Capacity_datastore1:    744371519488
MEM_heapfree:    8821760
MEM_overhead:    329478144
Array_0.Disk_Command_Aborts.summation:    0
vmnic0.Network_Packets_Received.summation:    926
MEM_unreserved:    7255425024
vmnic1.speed:    0
Array_0.Queue_Read_Latency.average:    0
Volume.Free_NFSDATA:    5556114989056
MEM_zero:    188387328
vmnic0.Network_Data_Receive_Rate.average:    65536
Array_0.Disk_Bus_Resets.summation:    0
Volume.Capacity_NFSDATA:    5902284800000
MEM_swapout:    0
MEM_vmmemctl:    0
MaintenanceMode:    0
MEM_sysUsage:    382578688
Array_0.Queue_Write_Latency.average:    0
MEM_reservedCapacity:    321536
Array_0.Disk_Read_Rate.average:    1150976
MEM_swapin:    0
MEM_usage:    6522880
Array_0.Kernel_Disk_Command_Latency.average:    0
Array_0.Disk_Write_Rate.average:    2843648
vmnic0.state:    1
Array_0.Physical_Device_Read_Latency.average:    7
Array_0.Kernel_Disk_Read_Latency.average:    0
Array_0.Disk_Read_Latency.average:    7
MEM_state:    0
MEM_granted:    5213470720
Volume.Free_datastore1:    158921129984
vmnic0.duplex:    1
Array_0.Disk_Write_Latency.average:    1
MemSize:    8582520832
Array_0.Physical_Device_Command_Latency.average:    3
vmnic0.speed:    1048576000
Array_0.Kernel_Disk_Write_Latency.average:    1
MemUsage:    5465178112
MEM_active:    647704576
MEM_sharedcommon:    132751360
CpuTotal:    11304000000
vmnic0.Network_Data_Transmit_Rate.average:    565248
vmnic0.Network_Packets_Transmitted.summation:    886

čtvrtek 16. srpna 2012

Kickstart

Je nástroj pro automatickou instalaci OS RedHat, CentOS či Fedora atd. Často se používa i jinde, ale primárně je spojován s instalátorem Anaconda.

V budoucnu mám instalovat větší množství serverů velmi obdobné konfigurace a tak místo pracného a někdy i omylného klikání v instalátoru hodlám použít právě Kickstart.

Nejjednodušší postup je následující. Nainstalujeme jeden systém na daném HW či prostředí. V tomto souboru /root/anaconda-ks.cfg je konfigurace jak byl tento systém instalován. Jeho modifikací pak už jen pozměníme ty volby, které chceme jinak. Na wiki fedora je návod s popisem voleb. Výsledný soubor umístíme na dostupný webserver např. pod názvem ks.cfg.


Pro instalaci nového systému použijeme os-boot.img v grubu zadáme "Tab" posléže už jen připíšeme ks=http://192.168.42.7/ks.cfg Instalace se provede automatizovaně. Mě se jen dotazovala, zda skutečně chci přepsat disk.

Testováno s RHEL63 a CentOS63.

sobota 16. června 2012

DHCP discovery

Někdy se může stát, že se v LAN nachází nějaký DHCP server a my nevíme, kde běží. Pro odhalení, kde běží nám může být nápomocen nmap.

nmap -sU -p 67 --script=dhcp-discover 192.168.42.1
Starting Nmap 6.00 ( http://nmap.org ) at 2012-06-16 21:04 CEST
Nmap scan report for alix.hide.lm.net (192.168.42.1)
Host is up (0.00025s latency).
PORT   STATE SERVICE
67/udp open  dhcps
| dhcp-discover:
|   DHCP Message Type: DHCPACK
|   Server Identifier: 192.168.42.1
|   Subnet Mask: 255.255.255.0
|   Router: 192.168.42.1
|   Domain Name Server: 192.168.42.1, 192.168.42.250
|   Domain Name: hide.lm.net
|_  NTP Servers: 195.113.144.201, 195.113.144.238
MAC Address: 00:0D:9B:10:DF:42 (PC Engines GmbH)

Podrobnější výpis je zajištěn tímto příkazem.

nmap -sU -p 67 -v -d -PN --script=dhcp-discover 192.168.42.1

Script v jazyce Lua dhcp-discover zajistí DHCP request, simuluje tedy chování DHCP klienta a vypíše nám hodnoty, které DHCP server poskytuje.

úterý 10. dubna 2012

Zabbix 2.0 Java gateway

Ručně jsem si zprovoznil Zabbix 2.0.rc2. Jíž konfigurace před kompilací odhalila nové vlastnosti serveru i agenta. Přibudla nám nová podpora Javy hlavně JMX. Přesněji řečeno Zabbix má v nové verzi Java gateway též nazýváno JMX monitoring.

Stavající verze zabbixu 1.8.11 používá ZABCAT pro sledování např. Tomcat serverů atd.

Zabbix Java Gateway - daemon přidávající nativní podporu pro monitoring JMX applikací.

Pro zprovoznění na Zabbix serveru potřebujeme JDK a zkompilovanou podporu.

aptitude install sun-java6-jdk

./configure --enable-server --enable-java ...

V konfiguračním serveru pribudly nové direktivy.

JavaGateway=Zabbix
JavaGatewayPort=10052
StartJavaPollers=1


U serveru se objevil nový adresář.

zabbix:/opt/zabbix-server# ls -1 -R sbin/zabbix_java/
sbin/zabbix_java/:
bin
lib
settings.sh
shutdown.sh
startup.sh

sbin/zabbix_java/bin:
zabbix-java-gateway-2.0.0rc2.jar

sbin/zabbix_java/lib:
logback-classic-0.9.27.jar
logback-console.xml
logback-core-0.9.27.jar
logback.xml
org-json-2010-12-28.jar
slf4j-api-1.6.1.jar


Danou funkcionalitu budu i nadále objevovat a seznamovat se s novými vlastnostmi :-)

pondělí 5. března 2012

Holux gpsport 245 on Linux

Dobrým kompromisem mezi tachometrem a GPS trackerem pro kolo mi příjde tento model Holux gpsport 245. Cena je unosná a funcionalita též potěší.

Na stránkách výrobce se dá stáhnout USB Cable Driver(Linux), ale mají to šité horkou jehlou a nutná editace některých souborů kde koho odradí. Nehledě na to že návod mají jen pro RPM based distribuce. Kompilovat ručně se samozřejmně dá.

Daný model jsem si vypůjčil od bikera Pavla co jej vlastní již od vánoc. Též mě na něj přivedl. Po připojení Holuxu k mému pracovnímu ntb s LMDE, jsem zjisil, že onen driver nemusím kompilovat ručně, mám jej již v systému.

Mar 6 13:35:48 ntb kernel: [106595.448691] usb 2-1.3: new full speed USB device number 8 using ehci_hcd
Mar 6 13:35:48 ntb kernel: [106595.542836] usb 2-1.3: New USB device found, idVendor=10c4, idProduct=ea60
Mar 6 13:35:48 ntb kernel: [106595.542846] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Mar 6 13:35:48 ntb kernel: [106595.542852] usb 2-1.3: Product: CP2102 USB to UART Bridge Controller
Mar 6 13:35:48 ntb kernel: [106595.542857] usb 2-1.3: Manufacturer: Silicon Labs
Mar 6 13:35:48 ntb kernel: [106595.542862] usb 2-1.3: SerialNumber: 0001
Mar 6 13:35:48 ntb kernel: [106595.544056] cp210x 2-1.3:1.0: cp210x converter detected
Mar 6 13:35:48 ntb mtp-probe: checking bus 2, device 8: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3"
Mar 6 13:35:48 ntb kernel: [106595.616610] usb 2-1.3: reset full speed USB device number 8 using ehci_hcd
Mar 6 13:35:48 ntb kernel: [106595.709390] usb 2-1.3: cp210x converter now attached to ttyUSB0
Mar 6 13:35:48 ntb mtp-probe: bus: 2, device: 8 was not an MTP device


moduly v jádře

smejdil@ntb:~$ lsmod | grep cp210
cp210x 21121 0
usbserial 32046 2 cp210x,garmin_gps
usbcore 124242 8
cp210x,garmin_gps,usbserial,uvcvideo,btusb,usbhid,ehci_hcd


Nalezl jsem aplikaci mtkbabel pro práci s MTK čipama od MediaTek.

mtkbabel -s 38400
MTK Test OK
MTK Firmware: Version: 1, Release: M-core_2.12, Model ID: 0000
Log format: (8800003D) UTC,LATITUDE,LONGITUDE,HEIGHT,SPEED
Size in bytes of each log record: 21 + (0 * sats_in_view)
Logging TIME interval: 3.00 s
Logging DISTANCE interval: 0.00 m
Logging SPEED limit: 0.00 km/h
Recording method on memory full: (1) OVERLAP
Log status: (000100000010) AUTOLOG_ON,OVERLAP_WHEN_FULL,ENABLE_LOG
Next write address: 14296 (0x000037D8)
Number of records: 685


Pro stažení tracku puožiji mnou velmi oblíbený gpsbabel s tim že použiji file type m241, který je zjevně kompatibilní s m245.

gpsbabel -t -i m241 -f /dev/ttyUSB0 -o gpx -F Holux_test.gpx
data.bin
Holux_test.gpx


gpsbabel -D 4 -t -r -w -i m241 -f /dev/ttyUSB0 -o gpx -F Nocni_vyjizdka_`date +'%F%H%M'`.gpx

Získaný tracklog mohu importovat např. do Endomondo.

čtvrtek 5. ledna 2012

Tablet Yarvik TAB410 s Adndroid

Dostal se mi do rukou asi na 14 dní tento tablet s OS Android 2.2 #4026. Na stránkách výrobce již model TAB410 není, tak uvádím odkaz na novější model TAB420. Nutno hnedle na zažátku dodat že na iPad tento kousek prostě nemá. Fakt, že nelze instalovat z klasického Android Marketu systém značně ochuzuje. Pro instalaci apikací je zde integrován portál Getjar. Pár známých aplikací jsem tam našel. Např. nasraný ptáci - Angry Birds, na 10" displeji se to hraje moc pěkně.


Tablet se ke mě dostal z důvodu nefunkce webové administrace automatu Tecomat. Přesněji stránka vyžaduje podporu XML v browseru. Integrovaný browser zobrazí jen bílou stránku. Důvodem je, že operační systém Android bohužel neobsahuje ve svém prohlížeči XSLT transformaci, takže pomocí něj nelze stránky zobrazit. Pokoušel jsem se instalovat Operu a Firefox pro Android z oficiálních zdrojů, ale vždy to po mě chtělo Google účet který již je spojen s nějakým Android mobilem. Zatím nejsem vlastníkem telefonu s androidem, ale to se asi brzo změní. Tak posléze doplním, zda se mi podařilo na Yarvik TAB410 doinstalovat nějaký klasický web browser.

Do tabletu se mi podařilo doinstalovat operu z tohoto zdroje. Vybral jsem soubor opera.v11.00.1103311355.apk a po stažení instalace dopadla dobře. Stránka automatu je již funkční.

Juniper SRX650 prvni kroky

Hnedle drudý den v nové práci jsem byl s kolegou vyzvednou router Juniper SRX650, jako testovací kousek od DNS a.s. CITY EMPIRIA. Router jsem přivezl do kanclu a druhý den jsem se v něm již musel vrtat. Hodil se mi seriový kabel, který mám od nějakého Cisco routeru.

Routery Juniper mají v sobě systém JUNOS, což je v základu FreeBSD, které nám umožňuje pouštět klasické userland aplikace, netstat, ping, tcpdump atd. V systému je jediný balíček a to je junos. FreeBSD je patřičně modifikováno, ale je tam hodně cejtit.

ntb:$ ssh 192.168.10.42
--- JUNOS 10.4R4.5 built 2011-05-06 06:14:23 UTC
smejdil@juniper> start shell
% pwd
/cf/var/home/smejdil
% uname -a
JUNOS juniper 10.4R4.5 JUNOS 10.4R4.5 #0: 2011-05-06 06:14:23 UTC builder@warth.juniper.net:/volume/build/junos/10.4/release/10.4R4.5/obj-octeon/bsd/sys/compile/JSRXNLE octeon
% pkg_info
junos JUNOS Software Release [10.4R4.5]


Dostal jsem za úkol router nakonfigurovat tak, aby se dal umístit do serverovny s veřejným IP. Dále jsem přidal nějakého uživatele a nastavili patřičné politiky.

Pomocí sériové konzole a patřičného kabelu jsem se již přihlásil na daný box.

sudo screen /dev/ttyUSB0 9600

login: root
--- JUNOS 10.4R4.5 built 2011-05-06 06:14:23 UTC
root@%
root@% cli
root>


Prompt: root@% - FreeBSD
Prompt: root> - konfigurační režim
Prompt: root# - editační režim

Jakožto naprostý zčátečník jsem použil config-wizard, který mě provede základním nastavením.

root@% config-wizard
Enter host name: juniper
Please enter root password:
Retype root password:

Would you like to configure domain name? [yes,no] (no): y
Enter domain name: juniper.smejdil.cz

Would you like to configure name server? [yes, no] (no): y
Enter IP address for the name server: 195.113.144.194

Configure the following network interfaces

Identifier Interface Identifier Interface
1 ge-0/0/0 2 ge-0/0/1
3 ge-0/0/2 4 ge-0/0/3
...

Would you like to configure any of the above interfaces? [yes,no] (yes): no

Enter a new user name: smejdil
Please enter user password:
Retype user password:

Would you like to configure SNMP Network Management? [yes,no] (no): y
Enter a SNMP V2 read-only mode community string [public]:

Would you like to review configuration commands? [yes,no] (no): y
The following configuration command(s) were created:

set system host-name juniper
set system root-authentication encrypted-password-value "********"
set system name-server 195.113.144.194
set system services web-management http
set system services telnet
set system services ssh
set system domain-name smejdil.cz
set system login user smejdil class super-user authentication encrypted-password "********"
set system services web-management http
set system services telnet
set system services ssh
set snmp community "public" authorization read-only

Would you like to commit the initial configuration and exit? [yes,no]: yes

Building configuration ...
Finished.

Please type 'cli' to enter JUNOS CLI operation mode.

Další nastavení je prováděno např takto:

root@juniper> configure
Entering configuration mode
set interfaces ge-0/0/0 unit 0 family inet address 192.168.10.42/30
set routing-options static route 0.0.0.0/0 next-hop 192.168.10.41
set system ntp server 195.113.144.238
set system ntp server 195.113.144.201
set system time-zone Europe/Prague
commit


Toto pro seznámení zatím postačuje.

úterý 13. prosince 2011

Distribuční testy

V listopadu jsem se rozhodl odstavit dlouhodobě stabilní distribuci Ubuntu 10.04.3 LTS. A rozhodl jsem se vyzkoušet Linux Mint Debian Edition, o čemž jsem se zde zmiňoval vypozoroval jsem jednu chybu v GTK, zatím neopravena.

Jelikož jsem si mohl dovolit znefunkčnit desktop, dále jsem chtěl vidět Linux Mint 12 Lisa v akci. Lisu momentálně používám.

Snažím se pracovat s Gnome 3 s extenzí MGSE. Gnome-shell se mi líbí více jak Unity, proto celé seznamování s novým prostředím při běžné práci. Ovšem musím konstatovat, že to chce ještě hodně práce na daném prostředí. Mnoho věcí je nedotažených. Né vše se dá nastavit snadno, tak jak byl člověk zviklý v Gnome2. Velmi nerad si zde též stěžuji, ale několikrát mi Gnome3 přestalo reagovat na cokoliv. Vše vyřešila až vražda Xorg. Ve fórech se zmiňuje tato chyba. Celkově mě odezvy prostčedí moc neuchvátili, vyvolání menu (Aktivity - klávesou) tad. Přepínáni ploch.

Dále jsem si pohodlně nainstaloval hru urbanterror-optimized z repository playdeb, který je v Mintu již přítomen a není jej třeba přidávat. V Gnome3 je hra nehradelná FPS klesne na 29. Hra je plně hratelná v Gnome2 kde je FPS na pohodových 80ti. Po příčinách jsem radši ani nepátral.

Zkrátka pro mě dlouhodobě použitelným OS momentálně je Ubuntu 10.04.3 LTS, který má podporu až do roku 2013-04. V té době již možná budou neduhy Gnome3 vyladěny a odstraněny.

úterý 8. listopadu 2011

HP ProLiant MicroServer FreeNAS

Včera po florbale jsem musel zajít k sousedovi omrknout HW co si velmi výhodně pořídil pro provozování domácího NAS.

HP ProLiant MicroServer (dostupný např v Alza). Blog s popisem HW i s fotkama je zde. Na youtube je video o daném HW.

V minulosti jsem si pořídil vlastní obdobný HW pro domácí NAS a provozuji na něm systém FreeNAS. Tento HW mi příjde mnohem lepší.

neděle 6. listopadu 2011

Ubuntu 11.10 > LMDE

V pátek jsem se rozhodl, že na firemním noteboku vyzkouším Poslední verzi distribuce Ubuntu s označením Oneiric Ocelot 11.10. Tento release jsem testoval ve virtualizaci, takže jsem tušil o co se jedná. Doposud jsem používal Lucid Lynx 10.04.3 LTS a moc se mi jej nechtělo opouštět. Díky LTS bych jej mohl spokojeně používat až do 042013. Kolega v práci si 11.10 moc pochvaloval a na práci s Unity se prý dá zvyknout.

Instalace byla bez problémů, osobně mě překvapil instlátor, který umí používat i wifi bezdrátové spojení. Tato vlastnost se zřejmně časem objeví ve všech ostatních distribucích.

Co se Unity týče, moc se mi nelíbí a více jsem si sliboval od používání Gnome Shell neboli Gnome3. Již v minulosti jsem obě prostředí testoval. Koexistence obou prostředí v jednom systému je dobrá. V dřívějších dobách - distribucích tato možnost tuším nebyla možná. Před instalací jsem si udělal zálohu /etc a /home dále je dobré poznamenat si seznam instalovaných balíčků.

Po instalaci jsem si liboval, že to bude v pohodě, ale ejhle. Emailový klient Evolution, který byl z úvodní instalace odstraněn nefungoval jak by měl, přesněji přestal fungovat úplně, což bylo pro mě dosti fatální. Dále mě hodně zarazila neexistence balíčků seahorse-plugins, totem-plugins. Někde jsem vygooglil, že jsou plné chyb a že se asi objeví až ve 12.04, což je dosti nepochopitelné. Dále jsem se pokoušel Unity nějak umravnit a za nápomoc jsem povolal pěkně ucelený článek na rootu. V sobotu večer jsem Evolution neumravnil a pak už došla trpělivost. Doslova jsem se nasral a vzpálil si DVD linuxmint-201109-gnome-dvd-64bit.iso a bylo vymalováno.

Distribuci Linux Mint neznám moc dlouho, ale na domácí plečce na přehrávání pohádek jsem si jí ochmatal a přišla mi jako vcelku dobrá a použitelná. Mint distribuce je postavená na Ubuntu nebo Debinu. Ubuntí verzi jsem testil již dříve. Zato LMDE neboli Linux Mint Debian Edition je takzvaná "rolling distribution". To má malou nevýhodu, že se využívají Debian Testing balíky. To by mohlo mít za následek nestabilitu. I přes to jsem se jej rozhodl používat.

Instalátor je více ořezaný, než ten Ubuntí, ale to na funkcni nemělo vliv. Po instalaci se aktualizovalo asi 400 balíků. Dále jsem obnovil data ze zálohy a vše funguje jak bych si představoval. Problém nastal jen s VMware Workstation 7.1.x, která si nechtěla porozumět s kernelem 3.0.x. Tento identický problém jsem ovšem řešil i na Ubuntu 11.10. Postup na řešení bude v dalším příspěvku.

Pevně věřím, že budu s LMDE spokojen a nebudu neustále utloukán nefunkčními novinkami. Jsem smířen s tím, že komunitní podpora není stejná jako ta od Canonicalu. Ubuntu jsem používal od verze 6.06 LTS. Distribuci Ubuntu dlouhodobě vnímám jako inovátorskou distribuci, u níž má cenu používat jen LTS verze. Ty ostatní často nefungují. Taktéž věřím že LTS nestratí své dřívější kvality.

čtvrtek 22. září 2011

Test Linux Desktop

Fedora 15 LovelockLinux Mint 11 Katya base Ubuntu NattyLinux Mint 11 Katya base Ubuntu NattyGnome 3 LiveCDGnome 3 LiveCDLinux Mint 11 Katya base Ubuntu Natty Fedora 15 LovelockFedora 15 LovelockFedora 15 LovelockFedora 15 LovelockFedora 15 LovelockMandriva 2011 Mandriva 2011Mandriva 2011Ubuntu 11.04 NattyUbuntu 11.04 NattyUbuntu 11.04 NattyUbuntu 11.04 Natty Debian 6.0.2 SqueezeDebian 6.0.2 SqueezeDebian 6.0.2 SqueezeopenSUSE 11.4 CaladonopenSUSE 11.4 CaladonopenSUSE 11.4 Caladon

Test Linux Desktop, a set on Flickr.

Via Flickr:
Nastal čas, čistě uživatelsky instalovat a letmo otestovat pár známých Linux distribucí platformy x86_64. Preferováno Gnome.

Testováno na zapůjčeném HW - Lenovo ThinkPad T61

Linux Mint 11 Katya base Ubuntu Natty
Gnome3 Live DVD (F15)
Fedora 15 Lovelock
Ubuntu 11.04 Natty
Debian 6.0.2 Squeeze
openSUSE 11.4 Caladon

pátek 2. září 2011

pfSense CARP Cluster

V práci jsem dostal za úkol otestovat funkcionalitu firewalu pfSense verze 1.2.3 a zejména jeho Hardware Redundancy (CARP) a to ještě IPSec tunnel mezi router A a B. Tento firewal hojně používám, ale CARP jsem ještě nekonfiguroval. Stanovil jsem si cíl a tím bylo postavit za pomoci virtualizace celkem 4 routery, vždy dva a dva, které jsem umístil do jednotlivých DMZ rozsahů s veřejnými IP adresami.

Nejprve poznamenám, co že je to ten CARP. Ze zakoupené knihy jsem vyčel historii protokolu CARP - Common Address Redundancy Protocol, který vznikl jako svobodné řešení failover, jež vzniklo díky projektu OpenBSD. Společnost Cisco má svůj protokol VRRP a HSRP. Bohužel patenty znemožňují jejích implementaci ve svobodných otevřený systémech. CARP je tedy znám hlavně v *BSD systémech.



Mé kroky k zprovoznění pfSense Hardware Redundancy (CARP) vedly logicky na dokumentaci projektu pfSense. Zde je stručný popis failover firewallu. Dále je tu klikací tutorial, který objasní dané řešení. Zprovoznil jsem již zmíněné routery v ESXi 4.1, ktré vyžaduji 3 IP od ISP (veřejné adresy), dále pak potřebujeme 3 IP z LAN. Vždy dvě IP jsou přiřazeny jednotlivým routerům a jedna IP tvoří onen CARP interface, který zajišťuje přehození provozu z MASTER na BACKUP a případně naopak. Jednou z důležitých součástí tohoto řešení je pfsync, kterým si firewaly předávají informace jako FW Rule, NAT, IPSec, Virtual IP atd. Vše je patrné v tutorialu. Po zprovoznění funkční synchronizace, vytvoříme CARP interface, které přiřadíme do oddělených VHID Group. Na konzoli firewalu se nám objeví carpX device.

# ifconfig carp0
carp0: flags=49 metric 0 mtu 1500
inet 80.250.16.10 netmask 0xffffff80
carp: MASTER vhid 1 advbase 1 advskew 0
# ifconfig carp1
carp1: flags=49 metric 0 mtu 1500
inet 192.168.0.1 netmask 0xffffff00
carp: MASTER vhid 2 advbase 1 advskew 0


Po vytvoření CARP device na FW A se do pár sekund konfigurace přenese na FW B. Vše zajiťuje pfsync mechanizmus. Popisovat jednotlivé kroky není třeba, vše je jasně vidět v tutoriálu.

Dalším úkolem bylo nastavení IPSec tunelu mezi dvěma faiover firewall clustery (úžasná věta). Nastavením VPN / IPSec se nám zapne podpora IPSec, tím mám hlavně na mysli aktivace programu Racoon, který je soužástí ditribuce pfSense. Podpora IPSec je v *BSD díky implementaci KAME.net. Racoon zajišťuje výměnu klíčů mezi routery pomocí protokolu ISAKMP.

Nastavení VPN IPSec politik se opět přenese na druhý firewall v clusteru. Obdobná konfigurace proběhne i na druhé straně tunelu. A ejhle již např. ping ICMP jde z LAN A do DMZ A, kde se zabalí do ESP a předá na druhou stranu tunelu, kde se opět ESP otevře a vydá svůj poklad z LAN A na druhém konci tunelu.

Ohledně ESXi bylo nutno vytvořit a povolit v port groups nastavení, dle doporučení. Pozor, je to jistý bezpežnostní ústupek.

Pro otestování průchodů tunelu jsem si zprovoznil dva Ubuntu servery, které jsem posadil do LAN za failover routery. Mám oblíbený nástroj nesoucí jméno TTCP, který změří rychlost přenosu tunelem.

nasloucháme:

ubu-a:root:~> ttcp -v -r -s -f M -l 25600
ttcp-r: buflen=25600, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.2.10
ttcp-r: 52428800 bytes in 68.72 real seconds = 0.73 MB/sec +++
ttcp-r: 52428800 bytes in 0.57 CPU seconds = 87.72 MB/cpu sec
ttcp-r: 8981 I/O calls, msec/call = 7.84, calls/sec = 130.68
ttcp-r: 0.0user 0.5sys 1:08real 0% 0i+0d 416maxrss 0+6pf 8662+13csw
ttcp-r: buffer address 0xd94000

spojíme se s nasluchačem:

ubu-b:root:~> ttcp -v -t -s -f m -l 25600 192.168.1.10
ttcp-t: buflen=25600, nbuf=2048, align=16384/0, port=5001 tcp -> 192.168.10.100
ttcp-t: socket
ttcp-t: connect
ttcp-t: 52428800 bytes in 68.45 real seconds = 5.84 Mbit/sec +++
ttcp-t: 52428800 bytes in 0.03 CPU seconds = 13333.33 Mbit/cpu sec
ttcp-t: 2048 I/O calls, msec/call = 34.22, calls/sec = 29.92
ttcp-t: 0.0user 0.0sys 1:08real 0% 0i+0d 414maxrss 0+8pf 455+0csw
ttcp-t: buffer address 0x2468000


na routeru pfhaA je možno sledovat ESP šifrovaný provoz:

tcpdump -i em1 host 80.250.16.10 and host 193.179.144.106
13:11:04.453352 IP 193.179.144.106 > 80.250.16.10: ESP(spi=0x07d761dc,seq=0x1aaf8), length 116
13:11:04.453696 IP 80.250.16.10 > 193.179.144.106: ESP(spi=0x06061ce4,seq=0xd580), length 116
13:11:04.468895 IP 193.179.144.106 > 80.250.16.10: ESP(spi=0x07d761dc,seq=0x1aaf9), length 116
13:11:04.469151 IP 80.250.16.10 > 193.179.144.106: ESP(spi=0x06061ce4,seq=0xd581), length 116


Zde je právě probíhající vyměna klíčů o kterou se stará Racoon

13:12:31.622854 IP 193.179.144.106.isakmp > 80.250.16.10.isakmp: isakmp: phase 1 I agg
13:12:31.638247 IP 80.250.16.10.isakmp > 193.179.144.106.isakmp: isakmp: phase 1 R agg
13:12:40.712942 IP 193.179.144.106.isakmp > 80.250.16.10.isakmp: isakmp: phase 1 I agg
13:12:40.713083 IP 80.250.16.10.isakmp > 193.179.144.106.isakmp: isakmp: phase 1 R agg