Esperimenti con multipath e SAN
http://www-01.ibm.com/support/docview.wss?uid=isg3T1011985
http://www.sysadminshare.com/2013/06/multipath-config-status-check-in-linux.html
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html-single/DM_Multipath/index.html#config_file_multipath
https://serverfault.com/questions/288087/linux-multipath-not-using-all-paths-and-wont-use-queue-length-path-selector/355151
https://h50146.www5.hpe.com/products/software/oe/linux/mainstream/support/doc/option/fibre/pdfs/c02020121.pdf
grep mpt /sys/class/scsi_host/host?/proc_name
rescan-scsi-bus.sh
echo “- – -” > /sys/class/scsi_host/host1/scan
multipath -l
multipathd -k”fail path sdb”
multipathd -k”del path sdb”
multipathd -k”reinstate path sdb”
multipathd -k”show paths”
dmsetup remove /dev/mapper/MSA_BELLNET
dmsetup ls
echo 1 > /sys/block/sde/device/delete
echo 1 > /sys/block/sda/device/rescan
service multipath-tools restart
partprobe /dev/sdb
sfdisk -R /dev/sdb
partx -u /dev/sdb
blockdev –rereadpt /dev/mapper/MSA_BELLNET
partprobe -s
pvcreate –uuid “DMD39I-rIMF-vVUc-6KaY-li2N-SF4n-v38O5m” –restorefile /root/VG-BELL.vg /dev/disk/by-id/scsi-MSA_BELLNET
vgcfgbackup -f VG-BELL.vg VG-BELL
vgcfgrestore -f VG-BELL.vg VG-BELL
multipath.conf
defaults { polling_interval 15 path_selector "round-robin 0" path_grouping_policy multibus prio const path_checker directio rr_min_io 100 flush_on_last_del no max_fds 8192 rr_weight priorities failback immediate no_path_retry fail queue_without_daemon no user_friendly_names yes mode 644 uid 0 gid disk } blacklist { devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" devnode "^hd[a-z]" devnode "^sda" devnode "^sda[0-9]" wwid "3600508b1001c1f5b93df16da7e7ab72e" wwid "3600508b1001c81da7e4515d6a1c3a693" wwid "OCZ-VELO_DRIVE_OCZ-938561J47139J405" wwid "OCZ-VELO_DRIVE_OCZ-ADU3LJ4GZL225676" wwid "OCZ-VELO_DRIVE_OCZ-V98FXMA0Q041W67U" # wwid 3600c0ff0001432f020c55c5901000000 device { vendor HP product "P410i|LOGICAL" } } devices { device { vendor "HP" product "P2000 G3*" path_grouping_policy "group_by_prio" # uid_attribute "ID_SERIAL" path_checker "tur" path_selector "round-robin 0" features "0" hardware_handler "0" prio "alua" rr_weight "uniform" failback "immediate" no_path_retry 18 rr_min_io 100 } } multipaths { multipath { wwid 3600c0ff00014e4ed9724235801000000 alias MSA_NETLITE } multipath { wwid 3600c0ff00014e4edfa37695801000000 alias MSA_NETLITE_BACKUP } multipath { # path_grouping_policy multibus wwid 3600c0ff0001432f020c55c5901000000 alias MSA_BELLNET } multipath { wwid 3600c0ff0001432f0a80e5a5901000000 alias MSA_BELLNET_BACKUP } }
andrea
- Published in Sistemistica, Tips & Tricks, vpn
Proxy Squid
squid.conf
http_port 8081 #http_port 10.1.1.5:8082 pid_filename /var/run/squid3-2.pid cache_mgr [email protected] visible_hostname NETLITEPROXY #dns_nameservers 8.8.8.8 8.8.4.4 208.67.222.123 208.67.220.123 dns_nameservers 10.5.1.5 dns_timeout 1 minutes positive_dns_ttl 1 hours negative_dns_ttl 10 minutes fqdncache_size 51200 ipcache_size 51200 #pipeline_prefetch on cache_dir aufs /var/lib/vz/squid/cache/squid3-2/aufs-small 1024 16 256 max-size=32768 cache_dir aufs /var/lib/vz/squid/cache/squid3-2/aufs-large 4096 16 256 cache_mem 2048 MB minimum_object_size 0 KB cache_replacement_policy heap LFUDA memory_replacement_policy heap GDSF memory_pools on maximum_object_size 128 MB minimum_object_size 0 KB maximum_object_size_in_memory 512 KB ie_refresh on cache_access_log /var/log/squid3/access-2.log #cache_access_log /dev/null #cache_log /var/log/squid3/cache-2.log cache_log /dev/null #cache_store_log /var/log/squid3/store-2.log cache_store_log /dev/null logfile_rotate 0 log_mime_hdrs off log_icp_queries off buffered_logs on redirect_rewrites_host_header off acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY acl SSL_ports port 443 # https acl SSL_ports port 563 # snews acl SSL_ports port 873 # rsync acl SSL_ports port 8080 # rsync acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl Safe_ports port 631 # cups acl Safe_ports port 873 # rsync acl Safe_ports port 901 # SWAT acl purge method PURGE acl CONNECT method CONNECT http_access deny !Safe_ports http_access deny CONNECT !SSL_ports debug_options ALL,1 client_lifetime 12 hour half_closed_clients off pconn_timeout 5 minutes request_timeout 5 minutes connect_timeout 30 seconds authenticate_ttl 15 minutes authenticate_ip_ttl 15 minutes max_open_disk_fds 32768 acl java_jvm browser Java/1. J/SSL #acl localhost src 127.0.0.1/32 #acl reti_abilitate src 127.0.0.1/32 acl reti_abilitate src 10.5.1.0/24 acl netlite src 212.29.137.82/32 #netlite office acl netlite src 87.248.52.82/32 #netlite office acl no_cache_siti dstdomain "/etc/squid3/no-cache-siti.txt" acl siti_pubblici dstdomain "/etc/squid3/siti-pubblici.txt" acl lan-allowed-ip src "/etc/squid3/good-lan-ip.txt" http_access allow lan-allowed-ip # MAC Utenti Bovolone acl MAC arp "/etc/squid3/mac.txt" acl emerge browser Wget http_access allow emerge always_direct allow emerge acl aptupdate browser APT-HTTP http_access allow aptupdate always_direct allow aptupdate http_access allow purge localhost http_access deny purge http_access deny !Safe_ports http_access deny connect !SSL_ports http_access allow netlite http_access deny !reti_abilitate http_access allow siti_pubblici http_access allow java_jvm no_cache deny no_cache_siti always_direct allow no_cache_siti #request_header_access Allow allow all #request_header_access Authorization allow all #request_header_access WWW-Authenticate allow all #request_header_access Proxy-Authorization allow all #request_header_access Proxy-Authenticate allow all #request_header_access Cache-Control allow all #request_header_access Content-Encoding allow all #request_header_access Content-Length allow all #request_header_access Content-Type allow all #request_header_access Date allow all #request_header_access Expires allow all #request_header_access Host allow all #request_header_access If-Modified-Since allow all #request_header_access Last-Modified allow all #request_header_access Location allow all #request_header_access Pragma allow all #request_header_access Accept allow all #request_header_access Accept-Charset allow all #request_header_access Accept-Encoding allow all #request_header_access Accept-Language allow all #request_header_access Content-Language allow all #request_header_access Mime-Version allow all #request_header_access Retry-After allow all #request_header_access Title allow all #request_header_access Connection allow all #request_header_access Proxy-Connection allow all #request_header_access User-Agent allow all #request_header_access From allow all #request_header_access Referer allow all #request_header_access Cookie allow all #request_header_access All deny all request_header_access All allow all follow_x_forwarded_for deny all forwarded_for delete via off forwarded_for off http_reply_access allow all icp_access allow all coredump_dir /var/cache balance_on_multiple_ip off #http_access deny !MAC # utilizzati per ftp anonimo ftp_user [email protected] ftp_passive on acl ftp proto FTP acl ftp_port port 21 http_access allow ftp_port CONNECT ftp_epsv off #dns_v4_first on http_access allow all
andrea
- Published in Sistemistica, Tips & Tricks, vpn
OpenVPN con più VPN attive contemporaneamente
La documentazione di OpenVPN non è chiarissima a riguardo ma spesso ci può capitare di dover lavorare con più collegamenti VPN attivi contemporaneamente.
Openvpn permette questo a patto che siano presenti più device TAP altrimenti alla partenza della seconda VPN ci viene segnalato che non vi sono dispositivi liberi disponibili.
Per creare ulteriori device TAP basta eseguire:
cd c:\Program Files\TAP-Windows\bin addtap.bat
andrea
- Published in Sistemistica, Tips & Tricks, vpn
Profili Colore
Utilizzando dispcalGUI e ArgyllCMS unitamente allo Spyder 3 Elite sono riuscito ad evitare il tool nativo di DataColor che ho sempre trovato poco adatto alle mi esigenze.
Basta installare ArgyllCMS [LINK] scompattando lo ZIP in C:\ ad esempio.
Poi si installa dispcalGUI [LINK] e si inserisce il path relativo all’ArgyllCMS appena scompattato.
E’ anche possibile installare i drivers USB specifici per lo spyder3, per fare questo basta cambiare drivers per il dispositivo andandoli a trovare nella directory dove si è appena scompattato ArgyllCMS.
Per alcuni sistemi operativi è necessario riavviare in modalità priva di verifica delle firme dei drivers (Windows 8 ad esempio).
Ultimata l’installazione sarà possibile calibrare il monitor, la procedura è molto lenta e saranno necessari 30/40 minuti per una calibrazione accurata.
Al riavvio dispcalGUI si occuperà di applicare il profilo colore.
Consiglio di disabilitare il modulo persistence di Intel (igfxpers) che facendo esattamente la stessa cosa può entrare in contrasto disinstallando il profilo colore appena installato.
Qui di seguito alcuni profili colore già elaborati:
Lenovo Yoga 2 13 (FHD) LP133WF2-SPA1 2014-12-23 0.3127x 0.329y sRGB M-S 1xCurve+MTX
Dell 2005FPW 2005FPW 2012-10-20 130cdm² D6500 2.2 HQ 3xCurve+MTX
Samsung 700Z 700Z 2012-10-21 130cdm² D6500 2.2 HQ 3xCurve+MTX
andrea
- Published in Tips & Tricks, Windows
Cordova Phonegap installazione ed utilizzo in ambiente Android
Seguendo questa guida è possibile installare l’ambiente di sviluppo e test di Cordova/Phonegap.
Si installa preventivamente lo JDK a 64 bit dal sito di Oracle [LINK]
Si installa anche lo SDK per Android dal sito di specifico [LINK] avendo cura di installare le API corrette (attualmente la versione 19) e l’emulatore HAXM per Intel x86 disponibile opzionalmente negli Estras.
Una volta ultimata la procedura andate in /extras/intel/Hardware_Accelerated_Execution_Manager/ ed eseguite IntelHAXM.exe seguendone le istruzioni.
Ultimo passo l’installazione di ANT. Si scarica la versione binaria da QUI e la si estrae in una directory a piacere.
Bisogna scegliere il PATH per l’installazione dell’SDK per Android e di ANT e poi inserire questo PATH nella variabile d’ambiente corretta.
In impostazioni di sistema avanzate ho aggiunto:
PATH %ANT_HOME%\bin;%ANDROID_HOME%\tools; ANDROID_HOME C:\Users\user\Desktop\cordova\android-sdk ANDROID_SDK C:\Users\user\Desktop\cordova\android-sdk ANT_HOME C:\Users\user\Desktop\cordova\ant
Si installa Node.js e nel command prompt di amministratore si digita:
npm install -g cordovaoppure
npm update -g cordovaper aggiornare.
A questo punto si crea una directory per i progetti e si crea il nuovo progetto:
cordova create workshop com.yourname.workshop Workshop
cd workshop
cordova platforms add android cordova plugin add org.apache.cordova.device cordova plugin add org.apache.cordova.console
E si compila e testa su di un dispositivo connesso tramite USB con:
cordova run android
Mentre per usare l’emulatore basta:
cordova emulate android
A questo punto dovrebbe partire la procedura di build ed al termine dovrebbe essere effettuato il boot dell’emulatore per testare l’applicazione.
andrea
- Published in Android, APP, Tips & Tricks
Ubuntu Server e versioni multiple di PHP
Dopo qualche ricerca, pur non apprezzando affatto il codice non in chiaro, ho utilizzato questo progetto per la gestione di molteplici versioni di PHP in un server virtualizzato dedicato all’hosting e gestito tramite Virtualmin .
https://github.com/phpbrew/phpbrew [code] Scarico ed installo lo script: [code] wget https://raw.github.com/c9s/phpbrew/master/phpbrew chmod +x phpbrew mv phpbrew /usr/local/sbin/phpbrew
Si inizializza il sistema:
phpbrew init export PHPBREW_ROOT=/opt/phpbrew source ~/.phpbrew/bashrc
E si installa la versione desiderata:
apt-get install libmcrypt-dev phpbrew install php-5.4.13 +default +mysql +gettext +mcrypt +intl +iconv +ftp +exif +dba +openssl +soap +apxs2=/usr/bin/apxs2 -- --with-libdir=lib/x86_64-linux-gnu --with-gd=shared --enable-gd-native-ttf --with-jpeg-dir=/usr --with-png-dir=/usr --enable-wddx --with-mysql-sock=/var/run/mysqld/mysqld.sock
Tutto quanto necessario viene salvato in /opt/phpbrew e per renderlo visibile a webmin basta creare una directory e fare un link simbolico:
mkdir /opt/rh/ ln -s /opt/phpbrew/php/php-5.4.14 /opt/rh/php54
A questo punto andando nella console di Webmin in System Settings -> Re-Check Configuration il sistema ricerca le versioni di php presenti e le rende accessibili per virtualhost in Server Configuration -> PHP Versions.
andrea
- Published in Sistemistica, Tips & Tricks
Proxmox firewall sul Bridge esterno
A volte c’è la necessità di esporre direttamente su internet alcune VM utilizzando un bridge sull’interfaccia esterna.
Di default il bridge non fa transitare i pacchetti da netfilter quindi non è possibile implementare alcun controllo di sicurezza.
Per ovviare a questo comportamento basta attivare questa funzione con:
echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
e per rendere definitive le modifiche, inserire in /etc/sysctl.conf:
net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-arptables = 1
a questo punto i pacchetti transiteranno dalle catene standard e sarà possibile attivare singolarmente le porte in ingresso ed in uscita utilizzando il modulo di controllo sull’interfaccia fisica:
iptables -A FORWARD -m physdev --physdev-out veth201.0 -m multiport -p tcp --dports 80 -j ACCEPT iptables -A FORWARD -m physdev --physdev-in veth201.0 -m multiport -p udp --dports 53 -j ACCEPT iptables -A FORWARD -m physdev --physdev-in veth201.0 -m multiport -p tcp --dports 80 -j ACCEPT
andrea
- Published in Sistemistica, Tips & Tricks, Virtualizzazione
Forti client SSL VPN CLI come collegarsi in vpn con Linux
Avendo la necessità di configurare una VPN verso apparecchiature FORTINET abbiamo rilevato alcune criticità e le abbiamo risolte con questo semplice script.
#!/usr/bin/expect -f set timeout -1 spawn ./forticlientsslvpn_cli --server vpn.xxxx.xx:10443 --vpnuser user expect "Password for VPN:" {send -- "password\r"} expect "to this server? (Y/N)\r" {send -- "y\r"} expect eof
Oppure questo:
#!/usr/bin/expect -f spawn ./forticlientsslvpn_cli --server : --vpnuser 2>&1 log_user 0 send_user "Logging in\n" expect "Password for VPN:" send "\n" # i needed ths for 'certificate error' expect "Would you like to connect to this server" send "Y\n" send_user "Beginning to connect\n" expect "STATUS::Tunnel running" send_user "Tunnel running!\n" # this is how long the next expect waits for pattern match, in seconds set timeout 90001 expect "STATUS::Tunnel closed" send_user "Tunnel closed!\n" send_user "Dying\n" close exit
Potrebbe essere necessario installare il ppp, expect e le librerie di compatibilità per eseguibili a 32 bit.
apt-get install ppp apt-get install expect apt-get install lib32stdc++6
Qui il LINK per scaricare il client.
Andrea
- Published in Sistemistica, Tips & Tricks
PROXMOX Tablet Pointer vs vmMouse
Nelle macchine virtuali KVM di proxmox è prevista l’integrazione del mouse tramite la specifica voce nel pannello delle Opzioni.
Rimuovendo questa funzione nella console remota VNC si ha un fastidioso effetto di sdoppiamento del mose.
Il vantaggio della rimozione sta in un piccolo miglioramento delle performance, vedrete che una VM Windows a riposo consuma 3/4% di cpu mentre dopo la modifica il consumo scende all’1%.
Con molte macchine Windows virtualizzate la differenza di vede.
Per riallineare i mouse del client e della VM basta installare il driver per il mouse di vmWare qui:
Versione A (testata su windows XP 32 bit)
Versione B (testata su windows 2003 32bit)
Versione C (non testata)
La procedura per estrarre i drivers è la seguente.
Scaricate dal sito di vmWare il driver desiderato DA QUI.
Eseguite il comando per la scompattazione, ed esempio:
VMware-tools-9.4.10-2068191-i386.exe /A /P C:\Extract
Questo genererà una directory in C: che conterrà in VMWARE … Drivers anche i drivers per il mouse.
A questo punto basta togliere il supporto per il tablet da Proxmox e provvedere all’installazione dei drivers.
andrea
- Published in Sistemistica, Tips & Tricks
Microserver N54L Firmware 2013
Purtroppo l’accesso il firmware dei Microserver HP è stato ristretti ai sottoscritto di di un contratto di assistenza attivo.
Questo è chiaramente fastidioso e francamente incomprensibile.
Per questo motivo qui di seguito trovate i files originali più un firmware modificato che permette di avere un BIOS più personalizzabile e permette di sbloccare la velocità delle ulteriori due porte SATA presenti a bordo per chi vuole utilizzarle con set di dischi superiore a 4.
Una volta utilizzato il tool HP per creare l’USB stick con autoboot potete effettuare il flash del firmware (non viene richiesta interazione umana per cui è possibile effettuare l’operazione su di un NAS senza monitor e tastiera).
Potete anche sosituire sull’USB stick il file del Firmware con questo:
O41100113.ROM
presente nel file zip per avere le funzionalità aggiuntive (testato su un N45L).
Andrea
- Published in Sistemistica, Tips & Tricks