martedì 23 aprile 2013

Abbiamo la synology, che cosa ci facciamo?

A parte gli utilizzi tipici di una nas personalmente ho trovato molto utile dotare la synology di un boot server che mi permettesse di installare diversi sistemi operativi, cosi' come diverse live e programmi di utilita' varia come memtest dban e sysresccd, il progetto e' ancora un work in progress ma le basi sono gettate, quindi mi sembra che io possa illustrare come ho implementato il tutto.
Naturalmente non e' tutta farina del mio sacco ma mi sono limitato a prendere pezzi in giro per la rete e a metterli insieme per soddisfare le mie esigenze.

La particolarita' della synology e' l'estrema semplicita' nel gestire i dischi compresi i target iscsi per questo ho voluto provare a vedere se potevo per esempio, installare un sistema operativo su un target iscsi senza tribolarci troppo, questo howto si riferisce in particolare a questa specifica esigenza.
Ingredienti:
Una synology,una linuxbox una connessione internet,iso di windows da 2008 in poi, tempo e pazienza.
Consiglio, anche se non e' indispensabile, dotarsi di virtualizzatore come per esempio virtual box io personalmente uso vmware workstation che e' vero essere a pagamento, ma, almeno nel mio caso, e' adattissimo allo scopo e mi semplifica non poco le prove.

Un breve cenno ai pezzi che ci servono, come software assumo che abbiate installato e correttamente configurato i pacchetti dhcp e dns nella synobox, dovete anche abilitare il servizio tftpd che si trova tra i servizi ftp/sftp io l'ho configurato cosi' 


Come potete vedere ho scelto come nome per la root-folder del tftpd la cartella tftproot ma giusto perche' si chiama cosi' negli ambienti unix, ovviamente voi potete scegliere il nome che volete.
Notate anche la dicitura "caricatore di avvio" altri non e' che il file che sara' caricato dalla macchina che fara' il boot da rete, come si ottiene questo file? 
Adesso passiamo alla parte piu' "tecnica" della faccenda, cioe' a compilare quel file che ci servira' per far partire tutta la faccenda, e' richiesta una minima manualita' con linux.
Spostiamoci sulla linuxbox e se non l'avete fatto dovete installare i pacchetti che servono per compilare, ossia gcc, librerie varie, ed il pacchetto syslinux , gogolate per sapere come si fa' in base alla distro che usate, personalmente uso centos, ma qualunque distro va' bene.
Logghiamoci come root nella linuxbox.


Posizioniamoci in una folder che abbiamo creato o per esempio in /opt e digitiamo il comando che vedete 



Come potete Vedere il comando non fa altro che sincronizzare il tree GIT con quello del sito, ovviamente non essendoci un tree copia tutto.



Posizioniamoci nella cartella ipxe/src/ e digitiamo il comando make, dopo qualche minuto e dopo una serie di messaggi a video, avremo terminato la compilazione, a questo punto il file che ci serve che si chiama undionly.kpxe e' stato compilato ed e' presente nella cartella ipxe/src/bin cosi' come evidenziato dal comando ls undionly.kpxe 



Non ci rimane che copiarlo in tftproot della synology, ma dobbiamo conoscere il percorso completo, nel mio caso e' /volume1/tftproot/ il comando per copiare da una macchina unix ad un altra macchina unix e' scp 
Come potete vedere il comando e' semplicissimo, praticamente dice: copia il file undionly.kpxe in root@nome-o-ip-host:/cartella/di/destinazione il root@ prima del nome serve perche' stiamo facendo una secure copy usando ssh, quindi, una volta dato invio vi chiedera' la password di root che nel caso della synology e' uguale a quella di admin.
L'uso della linux box e' finito qui quindi possiamo passare a sistemare i file di configurazione del dhcp serve della synology.
Colleghiamoci in ssh sulla synology e spostiamoci nella cartella /etc/dhcpd/ come potete vedere dando un ls ( analogo al comando dir del dos ) vedrete una sequela di file cerchiamo di spiegare cosa significano.

La struttura dei file e' la seguente dhcpd- e il nome dei settings a cui si riferiscono, come potete notare c'e' un file relativo al dns uno alla eth0 e via dicendo, a noi interessa il file dhcpd-eth0-qxe.conf perche' questo nome? 
Piccola spiegazione, il file dhcpd-conf che e' quello di configurazione del servizio, viene composto leggendo il contenuto di tutti i file dhcpd-qualcosa-qualcosa.conf, mentre viene deciso se includere o meno tali informazioni, leggendo il contenuto del file dhcpd-qualcosa-qualcosa.info al cui interno c'e' semplicemente scritto se includerlo o meno.
Per comodita' e per tenere separati i settaggi ho semplicemente aggiunto i 2 file, cioe', dhcpd-eth0-qxe.info e dhcpd-eth0-qxe.conf  cosi' da sapere dove mettere le mani.
Vediamo cosa c'e' scritto nel file dhcpd-eth0-qxe.conf
il Comando per editare i file e' vi nome file 

La prima riga controlla se il client ha fornito nella l'opzione 175 che e'relativa alle estensioni iPXE/gPXE nel caso tagga questa richiesta come specifica per iPXE/gPXE 
la seconda riga dice di spedire il file bootstrap.ipxe se la richiesta viene da un client iPXE/gPXE 
La terza riga crea una classe chiamata iPXE per tutte le richieste che contengono l'opzione 175 ossia ipxe, perche' usare un nome? perche' e' piu' facile :D
ovviamente tale file lo dovete creare voi nella cartella /etc/dhcpd 
per comodita' vi posto le righe


dhcp-match=ipxe,175
dhcp-boot=tag:ipxe,bootstrap.ipxe
dhcp-vendorclass=set:ipxe,iPXE

Copiatele e incollatele dentro al file, salvate e siete a posto.
Nell'altro file, ossia dhcpd-eth0-qxe.info e' presente solo una riga che e' questa 

enable="yes"

copiatela cosi' come e' doppi apici compresi, praticamente, per il discorso dei file fatto precedentemente, significa includi nel dhcpd.conf anche il contenuto del file dhcpd-eth0-qxe.conf.
Perche' non possiamo scrivere il tutto dentro al file dhcpd.conf? perche' ad ogni riavvio del servizio il file viene rigenerato secondo il metodo specificato sopra, quindi ogni modifica fatta al suo interno che non viene da questi file, andrebbe persa.
Abbiamo bisogno di effettuare una modifica ulteriore al dhcp.
Siccome questo servizio non supporta il dynamic update del dns, per avere un hostname valido dobbiamo dire al dhcp che quando una richiesta arrivera' da un particolare mac address, assegnare a questo specifico host uno specifico hostname, ed un specifico ip, questo ci servira' in seguito per discriminare l'host che fa' il boot in modo da associargli il corretto target iscsi, vediamo come si fa.
Per prima cosa dobbiamo conoscere il mac address della scheda di rete montata sull host che vogliamo installare, per conoscere tale indirizzo ci sono diverse strade, la prima e' smontare la scheda e guardare se c'e' un etichetta con su scritto mac= l'indirizzo ha una forma come questa  00:0c:29:03:4e:3f  sono 6 cifre esadecimali se c'e' questa etichetta, segnatevi questo indirizzo su un pezzo di carta.
La seconda opzione implica l'utilizzo di una distro live di linux con cui fare il boot, una volta fatto il boot aprite un terminale e digitate il comando ifconfig 
Avrete un output come questo:


DuDeStation> ifconfig
eth0      Link encap:Ethernet  HWaddr A0:B3:CC:E9:49:6A
          inet addr:192.168.3.9  Bcast:192.168.3.255  Mask:255.255.255.0
          inet6 addr: fe80::a2b3:ccff:fee9:496a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:167961 errors:0 dropped:0 overruns:0 frame:0
          TX packets:172027 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:63703541 (60.7 MiB)  TX bytes:117213020 (111.7 MiB)
          Interrupt:18


la riga Link encap:Ethernet  HWaddr A0:B3:CC:E9:49:6A vi dice il mac-address, quindi segnatelo in minuscolo, una volta conosciuto questo parametro dobbiamo dire al dhcp di assegnare uno specifico hostname e uno specifico ip a questo mac-address, questo si fa' dal menu' configurazione del dhcp nella synology.



Come potete vedere e' facilissimo, basta cliccare su aggiungi e riempire i campi come indicato.
Messo da parte il dhcp veniamo ai file di configurazione di iPXE
bootstrap.ipxe 
ecco il contenuto.

#!ipxe 
set boot-url tftp://dudestation.dude.local 
# setta la variabile boot-url con potocollo e nomehost.dom della synology
set bootstrap-url ${boot-url}/bootstrap
# setta la variabile bootsrap-url con tftp://dudestation.dude.local/bootstrap
set menu-url ${boot-url}/menu.ipxe
# setta la variabie menu-url con tftp://dudestation.dude.local/menu.ipxe
# che altri non e' il file di menu' da cui tutto e' pilotato.
# Boot <boot-url>/bootstrap/hostname-<hostname>.ipxe
# if hostname DHCP variable is set and script is present
isset ${hostname} && chain --replace --autofree ${bootstrap-url}/hostname-${hostname}.ipxe && exit ||
# Boot <boot-url>/bootstrap/uuid-<UUID>.ipxe
# if uuid SMBIOS variable is set and script is present
isset ${uuid} && chain --replace --autofree ${bootstrap-url}/uuid-${uuid}.ipxe && exit ||
# Boot <boot-url>/bootstrap/mac-01-02-03-04-05-06.ipxe if script is present
chain --replace --autofree ${bootstrap-url}/mac-${mac:hexhyp}.ipxe && exit ||
# Boot <boot-url>/bootstrap/bus-01-80-86-10-0e.ipxe if PCI Intel adapter
# is present and script is present
chain --replace --autofree ${bootstrap-url}/bus-${busid:hexhyp}.ipxe && exit ||
# Boot <boot-url>/menu.ipxe script if all other options have been exhausted
chain --replace --autofree ${menu-url}


Gli altri commenti li lascio in inglese perche' sono autoesplicativi.il file e' disponibile qui quindi i maggiori ringraziamenti vanno a chi l'ha scritto e non a me.
Veniamo al file menu.ipxe vero motore del tutto, siccome e' molto lungo vi consiglio di reperirlo all indirizzo sopra riportato mi limitero' a mostrare le righe che dobbiamo modificare per adattarle al nostro ambiente.

#!ipxe
# boot-url is set in bootstrap.ipxe
# Setup some basic convenience variables
set menu-timeout 5000
set submenu-timeout ${menu-timeout} 
set base-iqn iqn.2000-01.com.synology 
set base-iscsi iscsi:dudestation.dude.local::::${base-iqn} 
# Set initiator-iqn to either hostname or mac
isset ${hostname} && set initiator-iqn ${base-iqn}:${hostname} || set initiator-iqn ${base-iqn}:${mac}
# Ensure we have menu-default set to something
isset ${menu-default} || set menu-default exit

La riga in grassetto si riferisce alla parte standard della generazione dei target iscsi come vedremo in seguito.
La riga subito sotto altri non e' che l fqdn(*) della synology
(*) fqdn = fully qualified domain name ossia pasta.carbonara.com
la riga dove c'e' scritto isset non e' altro che un controllo con diverse condizioni messe in or tra di loro i simboli "||" significano appunto or
cosa dice? se e' passato da iPXE l'hostname l'iqn diverra'
iqn.2000-01.com.synology:$hostname
altrimenti l'iqn sara' iqn.2000-01.com.synology:macaddress 

I due file, ossia boostrap.ipxe e menu.ipxe devono risiedere nella cartella /volume1/tftproot o in quella che avete designato come tftproot.
Ci siamo quasi, ora e' giunta l'ora di definire il target iscsi  da associare ad un host specifico, per determinare il nome, consiglio di usare la dicitura da me usata, siccome la definzione di target esula da questo howto la salto e mi limito a farvi vedere come ho settato io il nome 



Come potete osservare il target si chiama  
iqn.2000-01.com.synology:test-iscsi.boot.windows7

Perche' ho scelto questo tipo naming? per rispecchiare il tipo di naming che e' gia' definito  nella parte di menu' che si occupa di installare windows dentro al target iscsi la parte e' cosi' definita.


:windows7-install
echo Starting Windows 7 x64 installer for ${initiator-iqn}
# Hook iSCSI drive
set root-path ${base-iscsi}:${hostname}.boot.windows7
sanhook ${root-path} || goto failed
# Start Windows 7 installer DVD
sanboot --no-describe --drive 0x81 #${boot-url}/windows-7/w7-ent-64.iso || goto failed
# Better solution, according to Oliver Rath on the mailing-list
# Requires massive amounts of RAM, though
#initrd ${boot-url}/windows-7/ultimate-x64.iso
#chain ${boot-url}/memdisk iso raw || goto failed
goto start


Notate la riga set root-path ${base-iscsi}:${hostname}.boot.windows7

cosa dice? dice di settare il root-path  componendolo secondo le variabili impostate, come potete vedere c'e' a variabile ${hostname} ecco il perche' della associazione mac-address ip e nome host, subito dopo troviamo .boot.windows7 che e' la parte che possiamo variare come ci pare e piace, ma dobbiamo ricordarci che deve riflettere il settaggio che andremo ad effettuare quando generiamo l iscsi target.
a questo punto abbiamo settato tutto a modo, non ci resta che provare a vedere cosa succede, e qui debbo spendere 2 parole.
Normalmente e' il tftp che si occupa di spedire file al host che ne fa' richiesta, ma siccome abbiamo a che fare con una iso abbastanza corposa potremmo usare anche l http, ma io personalmente ancora non l'ho implementato se decidete di farlo dovete mettere su un web-server e rendere visibile un www-folder al cui interno ci mettere i file menu.ipxe, bootstrap.ipxe la cartella bootstrap che serve per far partire in automatico gli host gia' installati, e una folder conterra' TUTTE le immagini di installazione che potete desumere dal fle menu.ipxe siccome ne prevede un fottio io mi sono limitato a windows ma usando un diverso sistema che ora vado a spiegarvi.
al primo boot e selezionando installing windows 7 installing accadra' che l'installazione fallira' perche' non ho definito il protocollo http per dargli in pasto la iso, ma, c'e' una soluzione, semplicemente dovete settare la macchina in modo che faccia il boot da rete e dopo da cdrom inserendo nel cdrom il dvd di windows, oppure, come nel mio caso, collegare la iso alla macchina virtuale, e' indispensabile che la boot sequence sia 
rete
cdrom
hdd 
in questo modo si evita di implementare il protocollo http che pero' ho in agenda di provare.
Mi sono dimenticato di fare un precisazione se si usa un virtualizzatore.
il cdrom virtuale deve essere configurato come ide0, nel caso di vmware non collegate la iso alla macchina virtuale spenta, fatela partire, quando siete nel menu prima di fare una scelta, collegate la iso al cdrom virtuale in modo che la procedura si trovi la iso sotto il naso quando fallisce il boot da iscsi.

64 commenti:

  1. grazie mille, nei miei esperimenti mi sono dimenticato qualcosina, ora che ho un quadro più completo mi cimento subito

    RispondiElimina
    Risposte
    1. Ciao Burghy spero vivamente che la guida funzioni, se noti qualche passaggio poco chiaro o peggio che proprio non si capisce, fammelo notare in modo che io possa correggerlo.
      Buon lavoro!

      Elimina
    2. Ciao sono PISUKE2k6.
      GRANDIOSO. Ecco le parole per definire il tutto.
      Ho dei dubbi che ti elenco
      1) ho visto che in suna riga hai ... set base-iscsi iscsi:dudestation.dude.local::::${base-iqn.. . Deduco che dudestation sua la tua synology... se si devi evidenziare che è un parametro da cambiare..
      2) il mio problema è che da dhcp server lo fa il router netgear visto che ho ip fissi per mac adress tra cui la stampante di rete. Mi sembra che facendo fare da dhcp server alla synology devo diaabilitarlo dal netgear obbligandomi a tenere sempre acceso 24h il nas... tu che dici?

      Seriesvi poi a mettere degli screen shot sulla partenza pc iscsi target per vedere come parte l installazione sarebbe il top.
      Per adesso grazie mille

      Elimina
  2. Hai ragione, correggo quella parte
    Per quanto riguarda il dhcp purtroppo devi usarne uno solo, di solito i router non permettono di fare dhcp relay perche' se lo facessero potresti lasciare acceso il dhcp sul router ed impostare come dhcp la synology.
    Se intendi usare questa soluzione devi necessariamente lasciare accesa la synology e far fare tutto a lei, come hai potuto vedere e' estremamente semplice assegnare le prenotazioni ai mac-address.

    RispondiElimina
  3. ciao

    continuo la riflessione sul discorso router /dhcp che magari potra essere utile a qualcuno.
    il mio router ha impostato gli indirizzi ip lan a partire da 10.0.0.1 e penso che questo devo lasciarlo stare.
    se disabilito il dhcp server e' ovvio che il pc esempio che si collega prende un ip a caso a meno che non metta un ip fisso sul pc esempio.. fin qui corretto?
    ipotizzando di mettere ip fisso 10.0.0.99 sulla stampante di rete, disabilitando il dhcp router del netgear ed avendo il nas come dhcp server (ma avendo il nas spento) in teoria non c'e' nessuno che attribuisce il dhcp ma, il pc esempio e la stampante di rete sono raggiungibili con il loro ip (avendolo attribuito fisicamente sulla stampante e sulla sk rete del pc)?
    spero di essere stato chiaro.
    se cosi fosse potrei disabilitare il dhcp dal netgear . attivarlo sul synology, mettere ip fissi alle macchine della rete .. cosi anche quando il nas fosse spento gira tutto lo stesso.

    grazie per l aiuto

    RispondiElimina
  4. esattamente, se assegni ip fissi alle macchine queste non richiederanno nessun ip, quindi stampanti, pc, e quant'altro avranno i loro bei parametri, ogni oggetto che non ha ip lo richiedera' al dhcp, nel caso sia in funzione sulla synology sara' questa che lo assegnera'.

    RispondiElimina
  5. allora ho iniziato a mettere ip fissi su tutti i miei pc /stampante ecc. disabilitato dhcp sul router.
    funziona tutto .
    passo successivo... ipotizzando router/gateweay 10.0.0.1 . 255.255.255.0 subnet mask. dns primario 8.8.8.8 secondario 8.8.4.4 .
    ho un dubbio

    sul synology in tftp/pxe dove dice server DNS devo mettere l indirizzo del nas (10.0.0.7) oppure altro?
    grazie

    RispondiElimina
    Risposte
    1. Chi fa' da DNS? se hai installato il pacchetto dns sulla synology allora la synology altrimenti quelli di google.
      Se non usi la synology come dns, devi ricordarti di sostituire nel file bootstrap.ipxe il nome host con l'indirizzo ip

      Elimina
    2. ciao. se dns lo fa il gateway è indifferente mettere google 8.8.8.8 . netgear router 10.0.0.1 ?grazie

      Elimina
    3. In quel caso e' indifferente, io siccome lascio accesa la nas sempre ho installato il pacchetto dns e faccio fare tutto a lei, mi semplifica molto il lavoro.

      Elimina
  6. ciao e ancora grazie.
    sto prendendo appunti per fare il tutto nel week end.
    ho dubbi su questa cosa.
    il mio nas si chiama terastation. quindi

    bootstrap:
    ...
    set boot-url tftp://terastation.local
    ...

    menu.ipxe
    ...
    setbase-iqn iqn.2001-01.com.synology (nome iscsi)
    setbase-iscsi iscsi:terastation.local::::${base-iqn}

    sono gli unici parametri da cambiare oppure devo modificare altro?

    ancora grazie.. genio!!!!

    RispondiElimina
  7. hai fatto tutto a modino :D si i parametri che hai inserito sono quelli giusti, fammi sapere come va'.
    Tieni presente che l'installazione di windows7 via iso reperita dal boot server funziona solo col protocollo http, io ho usato un sistema diverso che ho spiegato nella guida, nel frattempo sto provando anche l http e se funziona bene lo aggiungo alla guida, per ora sto incontrando qualche problema.
    Ancora una cosa, il protocollo tftp non e' il massimo in efficienza e controllo degli errori, ma per file piccoli, va' benissimo.
    La particolarita di iPXE e' che supporta http, ftp, AoE ISCSI e anche FCoE
    Troppe informazioni? :D dai, prova e fammi sapere.

    RispondiElimina
  8. grande. tutto chiaro. volevo sottpporti una sfida/domanda. ma se alposto di una fresh install di wkndows 7 si sposta il contenuto di c:\ del pc da rendere diskless.... dici che win avrebbe problema di indirizzi vari o ci sta che funzioni?

    RispondiElimina
    Risposte
    1. C'e' il problema del boot disk, l'installazione su c:\ si riferisce al disco fisico del pc dove e' installato, se la devi spostare su un iscsci devi prima cambiare il driver del disco di sistema altrimenti non funzionera' nulla in quanto quell installazione puntera' sempre al c:\ della macchina fisica che per ovvi motivi non e' uguale ad un target iscsi.

      Elimina
  9. Immaginavo fosse cosi. Bello ilrestyle del blog!

    RispondiElimina
    Risposte
    1. Grazie, comunque se non ricordo male c'e' la possibilita' di cambiare hardware del disco dovrei fare delle ricerche.
      Mi sembra che con acronis sia possibile clonare un disco di sistema su hadrware diverso,diciamo che se pesco la iso di acronis posso aggiungerla al menu e vedere se riesco a fare qualcosa, diciamo che sarebbe fico se dal menu' fosse possibile clonare direttamente il pc con cui hai fatto il boot su un target iscsi tra quelli disponibili.

      Elimina
  10. Aggiornamento, si puo' fare con acronis universal restore

    RispondiElimina
    Risposte
    1. no io intendo hardware identico. cioe' clono mio hd. stacco hd. parto con macchina diskless via tftp e faccio girare il contenuto che precedentemente era sul disco tolto..

      Elimina
    2. Dove lo metti il contenuto del disco clonato? non e' che puoi fare il boot via tftp di una immagine di svariati giga, da qualche parte questa immagine deve risiedere perche se no ti serve una macchina con tanta ram quanto l'immagine stesso piu' un delta per farla andare.
      Io avevo capito che volevi clonare una macchina fisica, trasferire il contenuto dentro al target iscsi e far partire la stessa macchina ma con il target iscsi al posto del disco fisico.

      Elimina
  11. si hai capito bene. mi ero espresso male.

    adesso ho installato centos su un hd farlocco . poi procedo.
    bello come os snello e veloce come i vecchi ubuntu

    RispondiElimina
  12. Centos e' la mia distro, anche se preferisco Gentoo per smanettare.
    Se intendi spostare il contenuto di una macchina funzionante su la stessa ma iscsi allora acronis e' quello che ti serve, ti permette di fare restore su hardware diverso preoccupandosi di sistemare HAL ( Hardware Abstraction Layer) e driver del disco.

    RispondiElimina
  13. adesso mi ci mette serio. per adesso ho compilato il file e girato sul nas. il resto a domani.
    grazie .. finalmente ho trovato qualcuno che ha capito le vere potenzialita di un nas sionlogy..

    RispondiElimina
    Risposte
    1. Be' ci sarebbe anche dell altro :D ma e' fuori dalla mia portata, c'e' un progetto che si chiama openchange che sarebbe il clone di exchange ma open-source, oppure c'e' un altro progetto di vmware che fa' la stessa cosa, se si riuscisse ad installarlo sulla nas sarebbe come avere un exchange senza eschange, c'e' qualcosa di simile anche tra i pacchetti ufficiali, si chiama zarafa ma non ho ben capito come funziona.

      Elimina
  14. ciao
    ci sto lavorando ancora un po. dunque ho sto dubbio.
    ho messo ai pc ip fisso, disabilitato dhcp del router.
    adesso sono in dhcpserver del syno
    ho abilitato dhcp server, in elenco subnet ip iniziale 10.0.0.2 finale 10.0.0.99, subnet 255.255.255.0, gateway 10.0.0.1. i dns ho messo quelli di google.
    ho provato a prenotare un ip (10.0.0.2 quello del pc amd che sto usando che ha impostato quell indirizzo ip manuale) ma mi dice mac adress errato.
    domanda: i pc e tutto quello in cui ho impostato un ip manualmente NON DEVO PRENOTARLO NELLA SYNOLOGY o sbaglio qualcosa.. ?
    se vuoi degli screen non so come postarli qui...
    grazie

    RispondiElimina
  15. e se inserisco un altro ip /mac adress di pc spento mi da lo stesso errore.

    RispondiElimina
  16. No, non devi prenotarli, devi semplicemente escludere quegli ip dal range che intendi distribuire.
    la prenotazione degli ip funziona come il tavolo in pizzeria, il tavolo e' l'ip, mentre il nome e' il mac address, immaginiamo che tu telefoni in pizzeria dicendo: sono il signor 00:aa:b:cc:dd:ee , la pizzeria ti risponde: benvenuto signor 00:aa:b:cc:dd:ee il suo tavolo e' questo: 192.168.1.127, come vedi la prenotazione funziona solo se ti presenti col mach address, quando invece setti l'ip fisso e' come se tu arrivassi in pizzeria col tuo tavolo 192.168.1.127 quindi capisci da te che se la pizzeria ha gia' assegnato il posto del tuo tavolo a qualcuno, c'e' qualche errore.
    Probabilmente hai inserito un mac-address non valido,in che forma l'hai inserito?

    RispondiElimina
  17. ciao. sto ancora ridendo per la pizzeria. che paragone perfetto.
    cmq ho inserito l ip nel formato zz:aa:ss:aa:ww:qq e quindi corretto.
    ho riavviato la disk station e mi li ha accettati.
    ad ogni dispositivo a cui ho associato un ip fisso ho specificato nel synology dhcp server di attribuire a quel prodotto con specifico macadress l ip fisso gia impostato.

    RispondiElimina
    Risposte
    1. ciao
      sono andato un po avanti editandio menu e boot strap. ho riavviato pc per farlo partire da network ma va in connection timeout ..
      trova il bootstrap ipxe. ma hostname, uuid, ecc.. vanno in timeout..
      manca qualcosa nel file configurazione?
      bootstrap

      #!ipxe

      set boot-url tftp://terastation.local
      set bootstrap-url ${boot-url}/bootstrap
      set menu-url ${boot-url}/menu.ipxe

      # Boot /bootstrap/hostname-.ipxe
      # if hostname DHCP variable is set and script is present
      isset ${hostname} && chain --replace --autofree ${bootstrap-url}/hostname-${hostname}.ipxe && exit ||


      file menu

      #!ipxe

      # boot-url is set in bootstrap.ipxe

      # Setup some basic convenience variables
      set menu-timeout 5000
      set submenu-timeout ${menu-timeout}
      set base-iqn iqn.2001-01.com.synology
      set base-iscsi iscsi:terastation.local::::${base-iqn}


      direi che sono quasi alla fine.
      ma una volta sistemata sta cosa... se io ho 2 pc diversi entrambi via network fanno il boot dalla mesedima cartella ma come li re indirizzo a 2 iscsi diversi?

      grazie per la pazienza.
      spero questi miei dubbi e le tue risposte siano di aiuto a chi in futuro vorra fare questo esperimento.

      Elimina
  18. Be' almeno era chiaro :D comunque non c'era bisogno di prenotare gli ip che sono fissi, si usano le prenotazioni per quelle macchine che non possono avere settaggi statici quindi si dice al dhcp di assegnare quello specifico ip a quella specifica macchina quando ne fa' richiesta.
    Per le macchine che invece supportano la definzione dei parametri, basta escludere quegli ip dal range di distribuzione.

    RispondiElimina
  19. scusa ma non capisco. cosa c'e' nei files bootstrap e menu che mi danno timeout?

    RispondiElimina
    Risposte
    1. Questo commento è stato eliminato dall'autore.

      Elimina
    2. In teoria no da quello che vedo sembra che non ti carichi il file bootstrap.ipxe che a suo volta carica il file menu.ipxe, puoi postarmi il file /etc/dhcpd/dhcpd-eth0-pxe.conf

      Elimina
    3. Ho capito, e' un problema di risoluzione del nome da parte della macchina che fa' il boot.
      Nella definizione dei parametri del dhcp probabilmente gli passi il dns di google o non glielo passi affatto, in entrambi i casi non riesce a trovare la macchina terastation.local, quindi, al posto del nome della synology mettici l'indirizzo ip nel file bootstrap.ipxe.

      "set boot-url tftp://dudestation.dude.local"

      questa stringa diventera' set boot-url tftp://10.0.0.1

      Elimina
  20. ho risolto modificando cosi bootstrap.ipxe

    set boot-url tftp://10.0.0.7

    adesso come faccio ad editare e far partire install windows 7? oppure creare 2 iscsi target per 2 macchine diverse con 2 diverse install di windows 7?

    sono troppo carico!

    RispondiElimina
  21. allora, innanzitutto crea i target iscsi e sempre nel file bootstrap.ipxe sostituisci il nome terastation con l'indirizzo ip
    crea il target iscsi secondo il naming che ho specificato nell how-to ossia
    ${base-iscsi}:${hostname}.boot.windows7
    come puoi vedere hostname e' appunto l'hostname della machcina quindi il target completo sara'
    iqn.2000-01.com.synology:test1.boot.windows7
    e l'altro sara'
    iqn.2000-01.com.synology:test2.boot.windows7

    Un altra cosa, l'ipxe non prevede il boot della iso via tftp quindi devi operare un trucco in proposito.
    configura la macchina che intendi installare in modo che faccia prima il boot da rete e poi da DVD, infilagli il dvd dentro e fai il boot, scegli install, il download della iso fallira', ma continuera' a fare il boot dal DVD che all interno.

    RispondiElimina
    Risposte
    1. il trick dvd l ho capito ed e' geniale.
      in pratica il file avendo delle variabili (come nel caro basic) in base a chi fa la richiesta va a richiedere un iqn.2000-01.com.synology:suonome.bootwindows7..

      corretto?

      ma non mi entra in testa una cosa.
      se su un pc voglio usare win 7 ubuntu centOS e sul secondo pc voglio usare win 7 ubuntu centOS devo creare 6 iscsi target?

      Elimina
    2. esattamente, chiede il target composto da iscsi:10.0.0.1::::iqn.2000-01.com.synology:hostname.boot.win7
      C'e' anche un altra soluzione, invece di fare 6 target puoi usarne 2 ma partizionarli e con un boot loader decidi cosa far partire, tieni presente che a livello sistema operativo sono a tutti gli effetti dei dischi e come tali li puoi trattare.

      Elimina
    3. ciao e buona domenica.

      dunque il boot da rete lo fa. ma quando scelgo boot from windows 7
      dice:
      booting windows 7 from iscsi iqn.2001-01.com.synology:AmdX6
      registered san device 0x80
      boot from san device 0x80 failed
      unregistered san device 0x80
      booting failed ,dropping to shell

      poi

      iPXE>

      e si ferma

      devo fare il dvd trick o c'e' qualcosa d'altro che non va?
      grazie

      Elimina
  22. Questo commento è stato eliminato dall'autore.

    RispondiElimina
  23. non puoi, altrimenti c'e' da inventarsi come discriminare i target iscsi che vorresti collegare alla macchina, ma c'e' una trucco, se guardi nel menu.ipxe alla voce :boot-windows7 noterai che prima lancia un comando che si chiama san-hook praticamente gli dice collegarsi a quel target come disk 0x80 e poi fare il boot, se definisci enne target iscsi puoi collegarli con lo stesso sistema, installi un boot loader sul primo disco e con quello scegli cosa far partire visto che i target iscsi sono visti come dischi scsi quindi, sotto linux /dev/sda /dev/sdb e via dicendo, ovviamente devi modificare il file di menu' del boot loader in modo che punti ai giusti dischi.

    RispondiElimina
  24. Questo commento è stato eliminato dall'autore.

    RispondiElimina
    Risposte
    1. ciao . scusa ma il commento e' finito sopra il tuo.. che ne dici??

      poi hai dritte per iniziare a vedere il discorso http.

      Elimina
  25. poi semmai riesco vorrei sapere visto che ho installato che procedura devo usare con acronis...

    RispondiElimina
  26. Ciao, dunque, si devi fare il trick del dvd altrimenti non va', con acronis non saprei visto che non l'ho mai usato, ma in sostanza da quello che ho letto devi prima fare l'immagine del sistema che intendi spostare su iscsi, poi far partire acronis sul sistema destinatario con ipxe associandogli un target, infine fare il restore su hardware differente.

    RispondiElimina
  27. ho provato il trick ma non va. nel senso faccio boot order net dvd.
    selseziono boot dvd ma va nella scritta .iPXE>.....

    RispondiElimina
    Risposte
    1. Sembra che non cerchi neanche di partire da dvd... la scritta che hai postato come ultima foto non la vedo...

      Elimina
    2. Per acronis una volta installato parti con pc dai f11 e puoi montare anche iscsi

      Elimina
  28. mmm, no, devi lasciare che fallisca il boot da iscsi poi, dovrebbe passare a DVD almeno a me con una machcina virtuale funziona.

    RispondiElimina
    Risposte
    1. Boh.proba magari con mwcchina reale. ... cmq e se volessi provare con centos come si fa? Cmq stnology sono i numeri uno

      Elimina
  29. Allora, io l'http l'ho implementato ma non so perche' mi fallisce il download della iso di windows7, per Centos e' piu' facile, ci sono tonnellate di documenti che spiegano come si fa.
    In sostanza si tratta di usare l'immagine di boot per il boot via rete, poi, fargli montare via nfs una directory dove c'e' il contenuto della iso, se non vuoi automatizzare l'installazione, basta questo, altrimenti devi farti un file che si chiama ks.cfg che sarebbe il file di kickstart da cui parte l'installazione automatica.
    Sono ottimi prodotti i synology io l'ho fatto acquistare ad un mio cliente e conto di implementarci una soluzione xendesktop per avere desktop virtuali accessibili da ogni parte del mondo.
    E' il mio lavoro, faccio il sistemista

    RispondiElimina
    Risposte
    1. bravo. avevo capito che eri compentente. per me invece e' un hobby. ma mi sono gia spinto mooolto oltre.
      cmq se hai link o qualcosa leggo la documentazione. faro altre prove nei prossimi giorni...

      Elimina
    2. mi dispiacerebbe arrendermi adesso che sono alla fine...

      Elimina
    3. ciao. ho provato a creare una virtual machine con virtual box. ma ho lo stesso problema.
      ti posto i 2 files di configurazione.. riesci a vedere un errore? sto uscendo matto ... :)

      #!ipxe

      # boot-url is set in bootstrap.ipxe

      # Setup some basic convenience variables
      set menu-timeout 5000
      set submenu-timeout ${menu-timeout}
      set base-iqn iqn.2000-01.com.synology
      set base-iscsi iscsi:10.0.0.7::::${base-iqn}

      # Set initiator-iqn to either hostname or mac
      isset ${hostname} && set initiator-iqn ${base-iqn}:${hostname} || set initiator-iqn ${base-iqn}:${mac}

      # Ensure we have menu-default set to something
      isset ${menu-default} || set menu-default exit



      #!ipxe

      set boot-url tftp://10.0.0.7
      set bootstrap-url ${boot-url}/bootstrap
      set menu-url ${boot-url}/menu.ipxe

      # Boot /bootstrap/hostname-.ipxe
      # if hostname DHCP variable is set and script is present
      isset ${hostname} && chain --replace --autofree ${bootstrap-url}/hostname-${hostname}.ipxe && exit ||

      # Boot /bootstrap/uuid-.ipxe
      # if uuid SMBIOS variable is set and script is present
      isset ${uuid} && chain --replace --autofree ${bootstrap-url}/uuid-${uuid}.ipxe && exit ||

      # Boot /bootstrap/mac-01-02-03-04-05-06.ipxe if script is present
      chain --replace --autofree ${bootstrap-url}/mac-${mac:hexhyp}.ipxe && exit ||

      # Boot /bootstrap/bus-01-80-86-10-0e.ipxe if PCI Intel adapter
      # is present and script is present
      chain --replace --autofree ${bootstrap-url}/bus-${busid:hexhyp}.ipxe && exit ||

      # Boot /menu.ipxe script if all other options have been exhausted
      chain --replace --autofree ${menu-url}

      Elimina
  30. Ciao

    Ci ho perso un ora anche ieri ma niente....

    RispondiElimina
  31. Ciao, scusa il ritardo ma ero fuori per il 1° maggio, mi puoi spiegare cosa accade in dettaglio? fai il boot via rete, scegli di installare windows7 , l'installazione fallisce, a questo punto dovrebbe partire il dvd se hai settato la macchina per fare il boot prima da rete e poi da dvd, da me funziona cosi'

    RispondiElimina
  32. ciao e grazie. ho scritto anche sul sito di ipxe ma mi hanno detto di leggere i manuali.
    fa il boot via rete. e va tutto bene arrivo a vedere il menu anche da virtual machine.
    boot priority net cd hd.
    ma il dvd non deve stare in una cartella particolare come specificato nel menu.ipxe?

    RispondiElimina
    Risposte
    1. esattamente ho scritto qui.
      http://forum.ipxe.org/showthread.php?tid=6891&pid=9095#pid9095

      Elimina
    2. SE PER CASO MI FORNISCI UNA MAIL TI MANDO GLI SCREENSHOT

      Elimina
    3. Dunque, secondo il file menu.ipxe si, ma solo se usi l http come protocollo, sanboot non supporta il tftp quindi devi usare o l http o l ftp per permettere il download della iso nella macchina, col mio "trucco" si puo' evitare questo passaggio.

      Elimina
  33. No, la iso del sistema operativo la devi collegare al dvd virtuale della vm la mia mail e': dude68@tiscali.it

    RispondiElimina
    Risposte
    1. Grazie.ti mandero degli screen.cmq il mio obiettivo non è la macchina virtuale ma il pc reale.... li iltrick dlel dvd non è attuabile se non con disco fisico. Ma io non riesco a vedere proprio la schermata di installazione....

      Elimina
    2. http://ipxe.org/howto/winpe

      Scusaa.. come mai non hai scelto qursta procedura?

      Elimina
    3. ho visto che hai commentato anche il mio commento sul forum (whisper74) e ti hanno suggerito di usare questa procedura.. ci hai provato?

      Elimina
  34. ciao. volevo poi sapere se ci hai rimesso mano.
    buona serata

    RispondiElimina