Linux: Montare un disco di un Raid1 Software

L’altro giorno in azienda ci è scoppiato il processore del nostro firewall secondario per cui da un “PC” un po’ carrozzato siamo passati a un serverino decente con almeno il raid hw, ma avevo bisogno di alcune configurazioni che si trovavano sul vecchio disco.

Il problema è sorto quando ho collegato il disco, un normale SATA, a un altro pc e facendolo bootare con una Debian Live Rescue, ovviamente il mount non me lo faceva fare perchè il disco faceva parte di un RAID1, questo l’errore:

root@debian:~# mount /dev/sda1 /mnt/
mount: unknown filesystem type 'linux_raid_member'

ovviamente ci ho ragionato un po’ e ho provato a creare un array md0 con un solo disco per provare a montarlo:

root@debian:~# mdadm -A -R /dev/sda1 /dev/md0

Vediamo nello specifico cosa significano le opzioni usate:
-A : Assemble a pre-existing array, per cui crea l’array con un disco già configurato, era già un raid1
-R : Insist that mdadm run the array [...], per cui forza l’avvio dell’array senza fare ulteriori domande, di solito chiede delle conferme se trova componenti di altri array attivi.

Ora dato che non vi sono problemi di creazione, possiamo montare l’array:

root@debian:~# mount /dev/md0 /mnt

Se non vi ritrovate errori in fase di mount potete leggere tranquillamente il contenuto del disco.

Alla prossima!

Qualche tempo fa mi sono imbattuto in un problema che con Debian ho sempre risolto in una manciata di secondi con Red Hat ci ho dovuto pensare su un po’…

In Debian mi capita spesso di fare due macchine identiche per un cluster in HA, e dopo che ne ho configurata una preparo l’altra e gli passo la lista dei pacchetti e li installo, come?

Ecco qua, dalla prima Debian estrapolo la lista dei pacchetti con “dpkg” e la metto su un file:

root@debian1:~# dpkg –get-selections > debian1-pkgs

poi bisogna copiare la lista sulla macchina secondaria, solitamente uso scp:

root@debian1:~# scp debian1-pkgs root@debian2:/root/.

ora che abbiamo la lista sulla secondaria, la carichiamo sempre usando “dpkg”:

root@debian2:~# dpkg –set-selections < debian1-pkgs

adesso non ci resta che fargli installare i pacchetti usando “apt”:

root@debian2:~# apt-get dselect-upgrade

Et voilà! Le jeux son fait!

E con Reh Hat?!?

per prima cosa recuperiamo tutti i pacchetti installati su un file, usando “yum” (il gestore dei pacchetto di RedHat et simili), e copiamolo sull’altro nodo:

[root@redhat1 ~]# yum list installed > redhat1-pkg
[root@redhat1 ~]# scp redhat1-pkg root@redhat2:/root/.

ora dovremmo dire a “yum” di installare la lista, ma sfortunatamente ha delle diciture in più che non ci servono, questo che segue è l’esempio di come si presenta il file:

Loaded plugins: rhnplugin, security
Installed Packages
Deployment_Guide-en-US.noarch             5.2-11                       installed
GConf2.i386                               2.14.0-9.el5                 installed
GConf2.x86_64                             2.14.0-9.el5                 installed
GConf2-devel.x86_64                       2.14.0-9.el5                 installed
MAKEDEV.x86_64                            3.23-1.2                     installed
NetworkManager.i386                       1:0.7.0-10.el5_5.2           installed
NetworkManager.x86_64                     1:0.7.0-10.el5_5.2           installed
NetworkManager-glib.i386                  1:0.7.0-10.el5_5.2           installed
NetworkManager-glib.x86_64                1:0.7.0-10.el5_5.2           installed
NetworkManager-gnome.x86_64               1:0.7.0-10.el5_5.2           installed

puliamo tutto con il comando “cut” e  prendiamo la prima parte di ogni riga, per cui il solo nome del pacchetto, e lo diamo in pasto a “yum” direttamente

[root@phbe2pr ~]# yum -y install $(cut -f 1 -d” ” < redhat1-pkg)

Ora inizierà il download e l’installazione di tutto.

Spero che vi sia stato utile :-)

Debian: inviare sms via bluetooth

Installiamo tutto ciò che ci serve:
apt-get install bluez-utils bluetooth libbluetooth2-dev build-essential

Modificare in /etc/bluetooth/hcid.conf la security da user ad auto.

Inserire la chiavetta bluetooth e rivviare la macchina

Associare il proprio telefono col server:
dal telefono dal menù bluetooth, nuova associazione, selezionare il server zabbix, password di default 1234

Scaricare il tool per inviare gli sms:
http://sourceforge.net/projects/bfsms

Scompattare, patchare, compilare e installare (nel nostro caso la v 0.11):
tar xvzf bfsms_v.0.11.tar.gz
cd bfsms_v.0.11
wget http://archives.alviano.com/patches/bfsms.c.patch (Questa Patch serve per avere il supporto agli sms più lunghi di 160 caratteri)
patch bfsms.c bfsms.c.patch
make
make install

Invio sms:
bfsms -s mac:address numero 'messaggio'

NB: Il mac address del bluetooth sui Nokia si trova digitando: *#2820#

Esempio:
bfsms -s 00:11:22:33:44:55 +390123456789 'messaggio'

Se si ha la necessità di usare questa funzionalità su una Virtual Machine di VmWare
bisogna che il virtualizzatore abbia caricato solo il modulo hci_usb per cui bisogna mettere in /etc/modprobe.d/blacklist i moduli rfcomm e l2cap

sulla VM invece deve avere tutti i moduli:
root@lenny:~# lsmod | grep blu
bluetooth 44996 7 rfcomm,l2cap,hci_usb

poi si può procedere con i passaggi descritti sopra.

Attenzione non tutti i telefoni funzionano.
Sul Nokia N70 non funziona.
Sul Nokia 2323 funziona.

A presto.

Non è cosa da tutti i giorni ma è possibile che un cliente abbia 2 o piu’ connessioni internet e le voglia sfruttare contemporaneamente su una stessa macchina, come fare?

Ecco qua, farò un esempio con 2 connessioni una HDSL (eth0) e una WIFI (eth1).

Questa sarà la configurazione delle interfaccie, ovviamente senza gateway (Es: /etc/network/interfaces di Debian).

auto eth0
iface eth0 inet static
address 1.1.1.2
netmask 255.255.255.0
broadcast 1.1.1.255
#gateway 1.1.1.1
network 1.1.1.0

auto eth1
iface eth1 inet static
address 2.2.2.2
netmask 255.255.255.0
broadcast 2.2.2.255
#gateway 2.2.2.1
network 2.2.2.0

Per prima cosa nel file /etc/iproute2/rt_tables bisogna aggiungere 2 tabelle di routing:

200     hdsl
201     wifi

Ora che abbiamo le due nuove tabelle non ci resta che popolarle, passo passo i comandi necessari.

Aggiungiamo le rotte per le nostre reti:

ip route add 1.1.1.0/24 dev eth0 src 1.1.1.2 table hdsl
ip route add default via 1.1.1.1 table hdsl
ip route add 2.2.2.0/24 dev eth1 src 2.2.2.2 table wifi
ip route add default via 2.2.2.1 table wifi

Aggiungiamo le regole di utilizzo:

ip rule add from 1.1.1.2 table hdsl
ip rule add from 2.2.2.2 table wifi

Aggiungiamo la loopback:

ip route add 127.0.0.0/8 dev lo   table hdsl
ip route add 127.0.0.0/8 dev lo   table wifi

Ora possiamo aggiungere la rotta di default del sistema:

ip route add default scope global nexthop via 1.1.1.1 dev eth0 weight 1 nexthop via 2.2.2.1 dev eth1 weight 1

Il weight è stato messo volutamente a 1 in modo tale che ci sia un load balancing fra i due provider, potete variare il peso di uno o dell’altro per privilegiare una linea o l’altra.

N.B. Al riavvio del sistema questi comandi spariscono, per cui vi consiglio di metterli in un file che viene eseguito all’avvio, tipo rc.local

Spero di essere stato utile a qualcuno.

A presto!

Chromium: attivati di default i Plugins ( Mac )

Dalla versione 3.0.197 rev 22209 i plugins sono attivati di default per la versione Mac per cui non c’è piu’ bisogno di usare –enable-plugins.

N.B. Switch on plugins by default for the Mac BUG=10809 TEST=Visit a sit with Flash content. Playback should work, interacting with the plugin is still buggy.

Come sempre l’ultima build si scarica da qua:

Ho provato qualche plugin:

  • Flash: funziona ma ancora instabile
  • Silverlight: non funziona
  • QuickTime: va in crash
  • DivX Web Player: va in crash

Saluti!

Un po’ di me


Omar on Twitter Omar on Facebook Omar on LinkedIn

Eventi


    RomagnaCamp

Qualche foto da Flickr

Calendar

February 2012
M T W T F S S
« Jul    
 12345
6789101112
13141516171819
20212223242526
272829