dic
12

Facebook ha introdotto una Virtual Machine dedicata a HipHop for PHP

 

Mi piace +1 Tweet

HipHop for PHPHipHop for PHP, il progetto di Facebook per incrementare le performance del linguaggio, ha raggiunto un livello superiore. Al posto dell’interprete implementato inizialmente, gli sviluppatori hanno realizzato una Virtual Machine: così facendo, l’esecuzione del codice richiede fino al 60% in meno — rispetto al meccanismo precedente.

Tra le piattaforme che hanno scelto d’adottare HipHop for PHP, oltre al social network di Mark Zuckerberg, spiccano Drupal, MediaWiki e WordPress. HipHop VM è ancora un esperimento, però – grazie alla natura open source del progetto – dovrebbe essere utilizzabile a breve. La soluzione di Facebook, in sostanza, traduce il PHP in C++.

Concepita per migliorare le prestazioni dei servizi web chiamati a gestire enormi volumi di dati, HipHop for PHP potrebbe essere una risorsa strategica per i provider su hosting con PHP e MySQL. Quest’ultimo è oggetto di un’altra soluzione di Facebook. Gli sviluppatori otterrebbero la compilazione Just In Time (JIT) senza problemi.

Via | GigaOM

Facebook ha introdotto una Virtual Machine dedicata a HipHop for PHP é stato pubblicato su Ossblog.it alle 13:00 di lunedì 12 dicembre 2011.

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

giu
29

Questa è bella: Android + Ubuntu!

 

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

mag
10

Installare i VMware Tools su Linux

 

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

mag
08

Installare Ubuntu 10.04 LTS in una virtual machine

 

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

mag
04

VirtualBox 3.2 in arrivo

 

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

set
06

Web server su OpenVZ

 

OpenVZ è una buona soluzione per la virtualizzazione a livello di sistema operativo. Quando ci si fida degli applicativi che girano in un sistema, OpenVZ è decisamente un prodotto da considerare.

Viceversa affidando un vps ad un estraneo magari senza capacità in ambito sistemistico, può risultare un problema; poiché l’isolamento non è così robusto come quello fornito da VMware ESX oppure Xen.

La prima cosa da fare è installare OpenVZ sul proprio server fisico, le istruzioni per farlo si possono trovare qui: OpenVZ installazione rapida.

Scaricare dalla pagina http://wiki.openvz.org/Download/template/precreated il template già pronto di Debian 5.0 (quello x86 per sistemi a 32 bit oppure x86_64 per la versione a 64 bit).

Collocare l’archivio scaricato, senza scompattarlo, nella cartella /vz/template/cache del proprio computer.

Per creare un container (un vps) a partire dal modello scaricato, basta eseguire il comando, avendo cura di mettere debian-5.0-x86_64 se sis è scelto un template a 64 bit:

# /usr/sbin/vzctl create 101 –ostemplate debian-5.0-x86

Dopo qualche secondo viene creato un nuovo container, ma per poterlo usare bisogna avviarlo:

# /usr/sbin/vzctl start 101

Per poter utilizzare una connessione di rete e quindi rendere il vps contattabile almeno dalla LAN assegnare un indirizzo ip facente parte della rete (anche mentre l’ambiente è in esecuzione):

# /usr/sbin/vzctl set 101 –ipadd 192.168.1.101

Per potersi collegare al vps basta usare il comando:

# /usr/sbin/vzctl enter 101

Digitando “ps aux” si vedono che solo pochi processi sono in esecuzione. Invece adoperando “free –m” si nota che (nel mio caso) solo 11 megabyte sono adoperati.

Prima di tutto controllare che la rete sia effettivamente funzionante provando con un ping ad un indirizzo della subnet.

Se il ping non mostra alcun pacchetto di risposta può essere necessario disattivare l’interfaccia virtuale nel container creata già con un indirizzo non adeguato alle caratteristiche della propria rete: col comando “ipconfig” vengono mostrate l’interfaccia di loopback, l’interfaccia creata con l’ip personalizzato (come spiegato precedentemente) e una scheda di rete con ip 10.1.1.1 che va eliminata col comando:

vps:/# ifdown venet0:0

Ora è possibile fare un upgrade del sistema con le ultime patch di sicurezza:

vps:/# apt-get update

vps:/# apt-get upgrade

Se ci sono ancora problemi con le connessioni ad Internet, adoperare strumenti come WireShark per capire cosa sta accadendo.

Può darsi che abbia problemi con la risoluzione dei nomi (cioè che sia in grado di raggiungere l’esterno usando un indirizzo ip pubblico ma non sia capace di risolvere ad esempio google.it), in questo caso vedere le regole usate per iptables sul server fisico (disabilitarle temporaneamente).

Per approfondire vedere gli articoli della categoria OpenVZ.

Non c’è sinceramente molto da fare perché Apache è già installato all’interno del container.

Se si vuole usare Apache per creare un VirtualHost si può adoperare questo modello:

<VirtualHost *:80>
ServerAdmin admin@adminsite.com
ServerName www.adminsite.com
ServerAlias adminsite.com
DocumentRoot /var/www/adminsite
<Directory /var/www/adminsite>
Options FollowSymLinks -Indexes
AllowOverride All
</Directory>

ErrorLog /var/log/apache2/adminsite_error.log
CustomLog /var/log/apache2/adminsite_custom.log combined
</VirtualHost>

Se si preferisce sostituire Apache con un web server più leggero come lighttpd o nginx si può disinstallare Apache con:

vps:/# /etc/init.d/apache2 stop

vps:/# apt-get remove apache2

Per installare Nginx dai pacchetti inclusi nei repository Debian:

vps:/# apt-get install nginx

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

ago
28

Dibattito: raid1 o raid5

 


Un post un po diverso dal solito, invece che spiegare qualcosa propongo un dibattito per approfondire un argomento di cui parlavo in questi giorni con alcuni amici e colleghi:

La situazione finale dovrebbe essere un piccolo file server, basato su una scheda Intel DG35EC, Debian Lenny e 1 terabyte di storage, dischi SATA II collegati al controller della scheda madre e raid gestito da md. La macchina dovrebbe mantenere un vmware server con relative VM e un po di backup di altre macchine della rete.

Il problema su cui apro la discussione e la seguente:

Conviene installare 2 dischi da 1TB in raid 1 o 3 dischi da 500 MB in raid5? La spesa per l hardware sarebbe la stessa per entrambe le configurazioni.

Non siate timidi, partecipate con i vostri consigli, le vostre esperienze, le vostre intuizioni e magari qualche sfrombolone, l importante e che i commenti siano in tema :)

(per ora saro imparziale e non rivelero come la penso)

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

lug
21

Livelli di protezione x86

 

I processori mettono a disposizione alcune modalità di protezione per evitare accessi non autorizzati alle risorse.
Nelle prime CPU x86 era stata implementata una sola modalità d’esecuzione conosciuta come REAL MODE che non consentiva di limitare le risorse ad un processo, mentre i processori x86 più recenti (senza estensioni per la virtualizzazione) hanno un gruppo di istruzioni più esteso che comprende anche funzioni di protezione avanzate:

  • REAL MODE: ogni processo ha completo accesso a tutto l’hardware (mantenuto per esigenze di backward compatibility)
  • PROTECTED MODE: Sono creati dei livelli di protezione, detti anelli (RING), che servono per differenziare i permessi di utilizzo delle risorse.

In real mode tutti i processi possono operare liberamente nella memoria ed accedere a qualsiasi risorsa; usando questa modalità non è possibile ad esempio gestire il multitasking a livello hardware.

In protected mode, vi sono degli anelli che sono dei meccanismi i quali permettono al sistema operativo, tramite il processore, di limitare l’operatività dei programmi utente.
Sono definiti quattro livelli di protezione numerati da zero (anello di maggior privilegio) a tre (minor privilegio).
Questi quattro ring hanno lo scopo di restringere principalmente l’accesso a due risorse: la memoria e le porte I/O, inoltre regolano la capacità di portare a termine con successo alcune istruzioni.
Poco più di una dozzina di istruzioni possono essere svolte solamente con privilegi di livello zero, qualora si tentasse l’esecuzione di una di queste con privilegi insufficienti viene generata un’eccezione, che deve essere gestita dal sistema operativo.

Il primo anello (RING 0) è detto “kernel mode” o “supervisor mode”, mentre l’ultimo anello (RING 3) che viene usato per i processi utente (user space) è chiamato “user mode”.
I più recenti sistemi fanno uso del primo e dell’ultimo anello, lasciando inutilizzati il secondo ed il terzo.
Generalmente i kernel dei sistemi operativi (i loro servizi e librerie) adoperano l’anello zero che consente loro di svolgere tutte le istruzioni privilegiate quali la gestione della memoria (ad esempio operare direttamente sull’intero intervallo degli indirizzi di memoria o accedere alle tabelle delle pagine del processore), l’input/output su disco e controllare i registri dei segmenti.

Paravirtualizzazione e livelli di protezione

Seguendo l’approccio della paravirtualizzazione, il sistema operativo guest deve essere modificato per poter interagire con l’hypervisor ed è quest’ultimo che gestisce l’accesso alle risorse fisiche. Quando un’applicazione, in esecuzione su una normale distribuzione Linux, invoca una SYSTEM CALL, questa viene gestita dal kernel che opera nell’anello 0.

In una ambiente paravirtualizzato il kernel dell’ambiente virtualizzato non è in grado di eseguire operazioni privilegiate, ma un’eventuale SYSTEM CALL deve essere intercettata dall’hypervisor e da questo notificata al kernel del guest. Il kernel guest modificato interpreta in modo opportuno la system call notificata e invia all’hypervisor una specifica hypercall (vedi figura sottostante).

Una hypercall è una interruzione software (software trap) che viene usata dalle applicazioni per richiedere lo svolgimento di operazioni privilegiate. Questa interruzione funziona similmente a una system call ma usa un istruzione assembly differente (0×82 invece di 0×80) ed è progettata per passare il controllo dal ring 1 (dove sta il kernel del guest) al ring 0.
Questo meccanismo introduce certamente dell’elaborazione extra, ma consente a tutte le applicazioni di funzionare senza essere modificate (in questo caso solo il kernel guest è modificato).

Per ridurre l’overhead è possibile ricorrere a chiamate dette Accellerated System call; in questo caso le librerie del sistema guest sono modificate per usare una system call indirizzata al kernel guest in ring 1 invece che una system call diretta al ring 0 (dove si trova l’hypervisor). In tal modo l’hypervisor non deve notificare il kernel guest per ogni system call.

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

lug
17

Virtualizzione a livello di sistema operativo

 

Utilizzando la virtualizzazione a livello di sistema operativo (operating system level virtualization), i processi di user space nei sistemi UNIX sono protetti mediante il metodo di sicurezza detto chroot.
Ciò è possibile facendo uso di una chiamata di sistema (system call) e del programma chroot.
Chroot modifica l’ambiente d’esecuzione cosicché le librerie, i device node e i file di configurazione necessari devono essere disponibili in modo relativo alla directory dove è stato impostato chroot. Un programma eseguito in chroot percepisce di essere in esecuzione in una directory / isolata e non è in grado di uscirne.
Questo approccio è  stato introdotto da FreeBDS jail ed è utilizzato come principio   base dei software di virtualizzazione a livello di sistema operativo. Il sistema operativo che sta sul computer crea le istanze isolate che si chiamano virtual private server (VPS). Non è necessario un VMM che gestisca le risorse, ma basta solo un kernel adattato ad amministrare i VPS.

Ogni sistema che fa uso di chroot continua a condividere un unico kernel con le sue risorse, che permette di ridurre l’uso della memoria di ogni virtual machine, di ottimizzare I/O in quanto un solo kernel è in esecuzione per tutte le macchine e non è necessaria alcuna replicazione delle risorse o condivisioni di programmi in librerie USER-space.
Come elementi a sfavore di questa soluzione,  non si  possono adoperare altri sistemi operativi diversi da quello che sta sull’hardware: infatti solo processi UNIX (Linux e BSD) possono essere eseguiti nativamente su UNIX (Linux e BSD).
Questo approccio è utilizzato da FreeBSD Jail, OpenVZ e Virtuozzo.

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

lug
01

VMware ESX backup

 

Backup, ripristino e disaster recovery sono tra i più importanti elementi di gestione dei datacenter.

VMware ESX Server System e VMware Virtual Infrastructure forniscono diverse funzionalità per migliorare questi processi con relativi vantaggi e svantaggi. Dato che diversi ambienti hanno bisogno di soluzioni differenti, la flessibilità prevista da Virtual Infrastructure, consente all’ESX Server il backup e il ripristino delle procedure esistenti cooperando con soluzioni già esistenti.


Quando si pensa al backup di ESX Server, bisogna capire cosa si vuol realmente poi recuperare. Con VMware ESX server sono tre i componenti principali che possono essere salvati:

  • dischi virtuali
  • i file di configurazione della macchina virtuale
  • la configurazione del server ESX

Siccome una macchina virtuale è come una macchina fisica, un approccio possibile è quello di effettuare una copia di backup, allo stesso modo come se si trattasse di macchina fisica cioè utilizzando software di backup in esecuzione all’interno della macchina virtuale.

Come salvare i dati di una macchina virtuale?

Non c’è un unico modo per fare un backup di una macchina virtuale (sia per backup VMware ESX o altri software), ma la risposta giusta la si può trovare esaminando la propria configurazione del sistema e i requisiti richiesti come la velocità di backup, la frequenza di salvataggio dei dati:

  1. C’è bisogno di un recupero a livello di singolo file oppure c’è abbastanza tempo per ripristinare l’intera macchina virtuale?
  2. Quanto spesso è necessario recuperare i dati?
  3. Quanti dati devono essere salvati (dimensione)?
  4. Quali tipi di dato devono essere messi al sicuro? File, applicazioni, database…
  5. Quanto spesso cambiano i dati sul dispositivo di memorizzazione della macchina virtuale?
  6. Qual è il valore attribuito ai dati della macchina virtuale?
  7. Si può controllare l’integrità dei dati al fine di assicurarsi che il ripristino sia valido?
  8. Quale tipo di storage memorizza i dati della macchina virtuale (disco locale, SAN, NAS, iSCSI)? Quali sono le particolarità dello storage?
  9. Quale software di backup o processi di salvataggio sono già presenti nell’infrastruttura (sono già in uso altre soluzioni)?

    Se si preferisce recuperare a livello file (un file specifico) è opportuno fare frequenti salvataggi usando agenti per clonare o fare istantanee dei dati installati direttamente all’interno delle macchine virtuali. Questi dati vanno memorizzati su supporti molto veloci.

    Se non si necessitano backup frequenti, si possono salvare i dati su un temporaneo ma rapido data storage e poi riversati su nastri o altre unità definitive, probabilmente più lente.

    Popularity: 1% [?]



    Puoi visualizzare il post originale qui.

    lug
    01

    VirtualBox 3

     

    VirtualBox 3 (o meglio VirtualBox 3.0.0) è arrivato proprio oggi. Le principali caratteristiche sono:

    • Supporto ai processori simmetrici sui guest fino a 32 processori virtuali (solo con Intel VT-x e AMD-V abilitate).
    • Supporto per OpenGL 2.0 in guest con sistema operativo Windows, Linux e Solaris
    • Capacità di usare giochi e applicazioni Direct3D 8/9 su sistemi operativi Windows ospitati nelle macchina virtuali (sperimentale)

    Guida all’installazione di VirtualBox 3.

    Altre modifiche o correzioni:

    * Solaris hosts: allow suspend/resume on the host when a VM is running (bug #3826)
    * Solaris hosts: loosen the restriction for contiguous physical memory under certain conditions
    * Mac OS X hosts: fixed guest PAE
    * Linux hosts: kernel module compile fixes for 2.6.31 (bug #4264)
    * VMM: fixed occasional guru meditation when loading a saved state (VT-x only)
    * VMM: eliminated IO-APIC overhead with 32 bits guests (VT-x only, some Intel CPUs don’t support this feature (most do); bug #638)
    * VMM: fixed 64 bits CentOS guest hangs during early boot (AMD-V only; bug #3927)
    * VMM: performance improvements for certain PAE guests (e.g. Linux 2.6.29+ kernels)
    * VMM: some Windows guests detected a completely wrong CPU frequency (bug #2227)
    * VMM: fixed hanging and unkillable VM processes (bug #4040)
    * VMM: fixed random infrequent guest crashes due to XMM state corruption (Win64 hosts only)
    * VMM: performance improvements for network I/O (VT-x/AMD-V only)
    * GUI: added mini toolbar for fullscreen and seamless mode (Thanks to Huihong Luo)
    * GUI: redesigned settings dialogs
    * GUI: allow to create/remove more than one host-only network adapters (non Windows hosts)
    * GUI: display estimated time for long running operations (e.g. OVF import/export)
    * GUI: fixed rare hangs when open the OVF import/export wizards (bug #4157)
    * 3D support: fixed VM crashes for client applications using incorrect OpenGL states
    * 3D support: fixed memory corruption when querying for supported texture compression formats
    * 3D support: fixed incorrect rendering of glDrawRangeElements
    * 3D support: fixed memory leak when using VBOs
    * 3D support: fixed glew library detection
    * 3D support: fixed random textures corruption
    * VRDP: support Windows 7 RDP client
    * Networking: fixed another problem with TX checksum offioading with Linux kernels up to version 2.6.18
    * NAT: fixed “open ports on virtual router 10.0.2.2 – 513, 514” (forum)
    * NAT: allow to configure socket and internal parameters
    * NAT: allow to bind sockets to specific interface
    * PXE boot: significant performance increase (VT-x/AMD-V only)
    * VHD: properly write empty sectors when cloning of VHD images (bug #4080)
    * VHD: fixed crash when discarding snapshots of a VHD image
    * VHD: fixed access beyond the block bitmap which could lead to arbitrary crashes
    * VBoxManage: fixed incorrect partition table processing when creating VMDK files giving raw partition access (bug #3510)
    * VBoxManage: support cloning to existing image file
    * OVF: several OVF 1.0 compatibility fixes
    * OVF: fixed exporting of disk images when multiple virtual machines are exported at once
    * Virtual mouse device: eliminated micro-movements of the virtual mouse which were confusing some applications (bug #3782)
    * Shared Folders: sometimes a file was created using the wrong permissions (2.2.0 regression; bug #3785)
    * Shared Folders: allow to change file attributes from Linux guests and use the correct file mode when creating files
    * Shared Folders: some content was incorrectly written under certain conditions (bug #1187)
    * Shared Folders: fixed incorrect file timestamps, when using Windows guest on a Linux host (bug #3404)
    * X11 clipboard: fix duplicate end of lines (bug #4270)
    * X11 guests: a number of shared clipboard fixes
    * Linux guests: Guest Additions support for SUSE Linux Enterprise Desktop 11
    * Linux guests: new daemon vboxadd-service to handle time synchronization and guest property lookup
    * Linux guests: implemented guest properties (OS info, logged in users, basic network information)
    * Windows host installer: VirtualBox Python API can now be installed automatically (requires Python and Win32 Extensions installed)
    * USB: Support for high-speed isochronous endpoints has been added. In addition, read-ahead buffering is performed for input endpoints (currently Linux hosts only). This should allow additional devices to work, notably webcams (bug #242).
    * USB: fixed error handling for some USB dongles
    * Web service: fixed inability to handle NULL pointers for object arguments, which are valid values for a lot of APIs, in both the raw and the object-oriented web service.
    * Web service: object-oriented bindings for JAX-WS did not exhibit interface inheritance correctly, fixed
    * Web service: added support for IDisplay and IGuest interfaces, which were previously unavailable
    * Registration dialog uses Sun Online accounts now

    Popularity: 1% [?]



    Puoi visualizzare il post originale qui.

    lug
    01

    Virtualbox 3 manuale

     

    VirtualBox 3 si può scaricare dal sito ufficiale del progetto (http://www.virtualbox.org/wiki/Downloads); la versione per Windows è di 67, 4 megabyte mentre il pacchetto di Virtualbox 3 per Mac OS X è di 62 megabyte.

    Guida all’installazione e all’uso di VirtualBox 3

    Installazione

    Al termine del download, basta cliccare sul file appena scaricato per far partire la procedura di installazione di VirtualBox 3.

    Cliccando su Next si va alla prossima finestra. In Sun xVM VirtualBox Setup vengono elencati i componenti di VirtualBox che verranno installati sul computer, procedere.

    Viene mostrato un messaggio che avverte che la connessione alla rete (o a Internet) potrebbe essere interrotta temporaneamente durante l’installazione di alcuni driver necessari.

    Continuare con l’installazione. Durante questa fase capiterà di vedere la successiva finestrella (circa 5 volte), per installare VirtualBox è necessario premere sul pulsante Continua tutte le volte che sarà mostrata.

    Ad un certo punto,  nella barra dell’orologio di Windows comparirà un’icona che indica la negoziazione della rete VirtualBox Host-only, che una manciata di secondi dopo sparisce. Tutto OK.

    Terminata la procedura di installazione si può avviare VirtualBox 3.

    Guida all’uso

    All’avvio viene richiesto di registrare il prodotto. E’ possibile premere Annulla per non registrarsi, ma spesso apparirà la finestrella fastidiosa, quindi è meglio togliersi il pensiero una volta per tutte.

    Per creare una nuova macchina virtuale basta premere sul pulsante Nuova.

    Si apre la procedura di creazione della nuova macchina virtuale.

    Si scelga il sistema operativo che si vuole installare.

    La quantità di RAM che va bene per Ubuntu è 512 MB (giusta anche Windows XP), mentre per Vista e Windows 7 è meglio lasciare 786 MB.

    Poi si deve creare un disco immagine dove verranno installati i file del sistema operativo della macchina virtuale.

    Scegliere il disco a espansione dinamica che permette di occupare lo spazio solo necessario.

    La dimensione del disco per Ubuntu è 8 GB, mentre per Windows 7 sono necessari almeno 16 GB (anche per Windows Server 2008).

    Per avviare la macchina virtuale, inserire il CD-ROM o il DVD di installazione del sistema operativo e premere Avvia.

    Popularity: 1% [?]



    Puoi visualizzare il post originale qui.

    giu
    30

    VirtualBox 3.0.0 disponibile per il download

     

    Popularity: 1% [?]



    Puoi visualizzare il post originale qui.

    giu
    30

    Disco allo stato solido SSD

     

    Un SSD, detto impropriamente disco allo stato solido, è un dispositivo che probabilmente sostituirà fra 2-3 anni il tradizionale hard disc magnetico-meccanico. Le funzioni di un SSD sono quelle di memorizzare i dati in modo permanente (cioè se manca la corrente elettrica i dati non vengono persi).
    I vantaggi di questa nuova tecnologia sono molti: velocità di accesso ai dati, eliminazione di problemi meccanici e dei rumori dovuti al movimento dei dischi, minor fragilità, funzionamento anche ad alta quota (non c’è più il foro per la pressione), riduzione del consumo di energia elettrica.

    Un’interfaccia permette di adoperare gli SSD già ora come sostituti di dischi rigidi a rotazione.

    Ma ci sono dei lati negativi che devono ancora essere ridotti o risolti: alto costo, sistemi operativi non ancora ottimizzati, perdita di velocità dopo molte cancellazioni.
    L’ultimo difetto è particolarmente gravoso, sebbene siano migliori delle memorie flash, gli SSD soffrono ancora di questo problema.

    I dischi SSD permettono di incrementare il numero di megabyte letti e scritti al secondo e consentono di migliorare le performance I/O di un server sul quali sono in esecuzione più macchine virtuali contemporaneamente.

    Recensione di un SSD di OCZ Core Series da 120 GB

    Popularity: 1% [?]



    Puoi visualizzare il post originale qui.

    giu
    25

    VirtualBox 3.0 Beta 2 disponibile per il download

     

    Popularity: 1% [?]



    Puoi visualizzare il post originale qui.

    top