Configurazione dei Dischi Virtuali delle VM Xen
14 Aprile 2018- DESCRIZIONE
- SINTASSI
- Parametri posizionali
- Altri parametri e bandiere
- Parametri COLO
- Parametri, prefissi e sintassi deprecati
DESCRIZIONE
xl-disk-configuration – Sintassi di configurazione del disco XL
SINTASSI
Questo documento specifica l’opzione di configurazione del disco in formato file xl config. Ha la seguente forma:
disk = [ 'DISKSPEC', 'DISKSPEC', ... ]
dove ognuno DISKSPEC
è in questa forma:
[<key>=<value>|<flag>,]*,
[<target>, [<format>, [<vdev>, [<access>]]]],
[<key>=<value>|<flag>,]*
[target=<target>]
Ad esempio, queste stringhe sono equivalenti:
/dev/vg/guest-volume,,hda
/dev/vg/guest-volume,raw,hda,rw
format=raw, vdev=hda, access=rw, target=/dev/vg/guest-volume
raw:/dev/vg/guest-volume,hda,w (deprecated, see below)
Come sono questi:
/root/image.iso,,hdc,cdrom
/root/image.iso,,hdc,,cdrom
/root/image.iso,raw,hdc,devtype=cdrom
format=raw, vdev=hdc, access=ro, devtype=cdrom, target=/root/image.iso
raw:/root/image.iso,hdc:cdrom,ro (deprecated, see below)
Questi potrebbero essere specificati nel file di configurazione del dominio in questo modo:
disk = [ '/dev/vg/guest-volume,,hda', '/root/image.iso,,hdc,cdrom' ]
Più formalmente, la stringa è una serie di coppie di parole chiave / valori separate da virgola, flag e parametri posizionali. I parametri che non sono parole chiave nulle e che non contengono simboli “=” vengono assegnati ai parametri posizionali finora non specificati, nell’ordine seguente. I parametri posizionali possono anche essere specificati esplicitamente per nome.
Ogni parametro può essere specificato al massimo una volta, come parametro posizionale o come parametro denominato. I valori predefiniti si applicano se il parametro non è specificato, o se è specificato con un valore vuoto (sia in modo posizionale che esplicito).
Gli spazi bianchi possono apparire prima di ogni parametro e saranno ignorati.
Parametri posizionali
- bersaglio
-
- Descrizione
- Blocca il percorso del dispositivo o del file immagine. Quando viene usato come percorso, / dev verrà anteposto se il percorso non inizia con un ‘/’.
- Valori supportati
- N / A
- Valori deprecati
- N / A
- Valore di default
- Nessuna. Mentre nella maggior parte dei casi viene fornito un percorso, esiste un’eccezione: per un dispositivo cdrom, la mancanza di questo attributo implicherebbe un’unità disco cdrom vuota.
- Sintassi speciale
- Quando questo parametro è specificato per nome, cioè con la
target=
sintassi nel file di configurazione, consuma tutto il resto degliDISKSPEC
spazi bianchi inclusi. Quindi in tal caso deve venire per ultimo. Questo è consentito anche se un valore vuoto per il target è già stato specificato come parametro posizionale. Questo è l’unico modo per specificare una stringa di destinazione contenente metacaratteri quali virgole e (in alcuni casi) due punti, che altrimenti verrebbero interpretati erroneamente.I nomi dei parametri e dei flag futuri inizieranno con una lettera ascii e contengono solo caratteri alfanumerici, trattini e caratteri di sottolineatura ascii e non saranno legali come vdevs. Le destinazioni che potrebbero corrispondere a quella sintassi non dovrebbero essere specificate come parametri posizionali.
- formato
-
- Descrizione
- Specifica il formato del file immagine.
- Valori supportati
- grezzo, qcow, qcow2, vhd, qed
- Valori deprecati
- Nessuna
- Valore di default
- crudo
- vdev
-
- Descrizione
- Dispositivo virtuale visto dall’ospite (indicato anche come designazione dell’unità ospite in alcune specifiche). xen-VBD-interfaccia (7)
- Valori supportati
- hd [x], xvd [x], sd [x] ecc. Si prega di fare riferimento alle specifiche sopra per ulteriori dettagli.
- Valori deprecati
- Nessuna
- Valore di default
- Nessuno, questo parametro è obbligatorio.
- accesso
-
- Descrizione
- Informazioni di controllo accessi specificate. Se il dispositivo a blocchi viene fornito o meno al guest in modalità di sola lettura o di lettura-scrittura, dipende da questo attributo.
- Valori supportati
ro
,r
(specifica solo lettura)rw
,w
(specifica lettura / scrittura)- Valori deprecati
- Nessuna
- Valore di default
rw
a meno che non sia devtype = cdrom, nel qual casor
Altri parametri e bandiere
- devtype = DEVTYPE
-
- Descrizione
- Qualifica il tipo di dispositivo virtuale.
- Valori supportati
- cd rom
- Valori deprecati
- Nessuna
- Obbligatorio
- No
- cd rom
- Alias di convenienza per “devtype = cdrom”.
- backend = DOMAIN-NAME
-
- Descrizione
- Designa un dominio back-end per il dispositivo
- Valori supportati
- Nomi di dominio validi
- Obbligatorio
- No
Specifica il dominio di back-end a cui questo dispositivo deve connettersi. Il valore predefinito è il dominio 0. La specifica di un altro dominio richiede l’impostazione di un dominio del driver che non rientra nell’ambito di questo documento.
- backendtype = TYPE
-
- Descrizione
- Specifica l’implementazione del back-end da utilizzare
- Valori supportati
- phy, tap, qdisk
- Obbligatorio
- No
- Valore di default
- Determina automaticamente quale back-end usare.
Questo non influisce sulla vista del guest sul dispositivo. Controlla quale implementazione software del driver backend Xen viene utilizzata.
Non tutti i driver di back-end supportano tutte le combinazioni di altre opzioni. Ad esempio, “phy” non supporta formati diversi da “raw”. Normalmente questa opzione non dovrebbe essere specificata, nel qual caso libxl determinerà automaticamente il backend più adatto.
- script = SCRIPT
- Specifica che la destinazione non è un normale percorso host, ma piuttosto informazioni da interpretare dal programma eseguibile SCRIPT , (cercato in / etc / xen / scripts , se non contiene una barra).
Questi script sono normalmente chiamati “block- SCRIPT “.
- direct-io-safe
-
- Descrizione
- Disabilita la soluzione alternativa a O_DIRECT
- Valori supportati
- assente, presente
- Obbligatorio
- No
- Valore di default
- assente (la soluzione potrebbe essere abilitata)
Esiste un errore di durata della memoria in alcuni kernel del dominio (dom0) che possono causare arresti anomali quando si utilizza O_DIRECT. Il bug si verifica a causa di una mancata corrispondenza tra la durata visibile del backend delle pagine utilizzate per il protocollo di rete Xen PV e quella prevista dal sottosistema di rete del kernel back-end. Ciò può causare arresti anomali quando si utilizzano determinati backend con determinati archivi sottostanti.
Vedi: http://lists.xen.org/archives/html/xen-devel/2012-12/msg01154.html
Per questo motivo, (questa versione di) il toolstack di Xen libxl disabilita O_DIRECT quando si utilizza il backend Xen PV (
qdisk
) basato su qemu .Tuttavia, questa soluzione alternativa ha implicazioni in termini di prestazioni e ridimensionamento ed è necessaria solo se il dispositivo sottostante è un filesystem di rete. Se il dispositivo sottostante non lo è, allora è bene disabilitarlo; questo è ciò che questa opzione è per.
Questa opzione richiede semplicemente che la soluzione alternativa sia disabilitata. (Tuttavia, non tutte le versioni di backend che utilizzano la soluzione alternativa comprendono questa opzione, quindi questa è la soluzione migliore).
È importante notare che se si sta memorizzando il disco della VM su un filesystem di rete o su un dispositivo di blocco di rete (NFS o ISCSI) potrebbe non essere sicuro usare questa opzione. Altrimenti specificarlo è sicuro e può dare migliori prestazioni.
Se in futuro il bug viene corretto correttamente questa opzione verrà quindi ignorata silenziosamente.
- scartare / non-scartare
-
- Descrizione
- Richiedi che il backend pubblicizzi il supporto degli scarti sul frontend
- Valori supportati
- scartare, non scartare
- Obbligatorio
- No
- Valore di default
- scartare
Un’impostazione di consulenza per il driver di back-end, che specifica se annunciare il supporto degli scarti (TRIM, UNMAP) al front-end. Il vero vantaggio di questa opzione è di essere in grado di forzarlo via piuttosto che via. Può essere usato per disabilitare la “perforatura” per i backend basati su file che sono stati intenzionalmente creati non sparsi per evitare la frammentazione del file.
Parametri COLO
- colo
- Abilita COLO HA per il disco. Per una migliore comprensione della replica dei blocchi su QEMU, fare riferimento a: http://wiki.qemu.org/Features/BlockReplication Si noti che le impostazioni di configurazione di COLO devono essere considerate instabili. Potrebbero cambiare in modo incompatibile nelle versioni future di Xen.
- colo-host
-
- Descrizione
- Indirizzo dell’host secondario
- Obbligatorio
- Sì quando COLO è abilitato
- colo-port
-
- Descrizione
- Porta secondaria Eseguiremo un server nbd sull’host secondario e il server nbd ascolterà questa porta.
- Obbligatorio
- Sì quando COLO è abilitato
- colo-export
-
- Descrizione
- Eseguiremo un server nbd sull’host secondario, exportname è il nome di esportazione del disco del server nbd.
- Obbligatorio
- Sì quando COLO è abilitato
- attivo-disk
-
- Descrizione
- Questo è usato dal secondario. La scrittura degli ospiti secondari verrà memorizzata in questo disco.
- Obbligatorio
- Sì quando COLO è abilitato
-
- Descrizione
- Questo è usato dal secondario. Memorizza il contenuto originale che viene modificato dalla VM principale.
- Obbligatorio
- Sì quando COLO è abilitato
Parametri, prefissi e sintassi deprecati
I moduli deprecati sono accettabili e si intendono compatibili con xend e xl da xen 4.1. In futuro potrebbero stampare un avvertimento. È probabile che il supporto per i parametri e le sintassi deprecati vengano eliminati nelle future versioni di xl.
Esiste il supporto per una vecchia sintassi deprecata per DISKSPEC
:
[<format>:][<target>],<vdev>[:<devtype>],<access> (deprecated)
Questa sintassi supporta anche i prefissi deprecati, descritti di seguito. Questi si trovano anteposto al parametro format – es tap:aio:qcow:
.
- formato
-
- Descrizione
- Specifica il formato (deprecato)
- Valori supportati
- raw: qcow2: vhd:
Nelle versioni xend e precedenti di libxl era necessario specificare il formato con un prefisso. Per compatibilità, questi tre prefissi sono riconosciuti come specificando il formato corrispondente. Sono equivalenti
format=FORMAT
o alle specifiche del formato (senza due punti) come parametro posizionale. - copione
-
- Descrizione
- Specifica lo script (deprecato)
- Valori supportati
- iscsi: nbd: enbd: drbd:
Nelle versioni xend e precedenti di libxl era necessario specificare lo “script” (vedi sopra) con un prefisso. Per compatibilità, questi quattro prefissi sono riconosciuti come specificando lo script corrispondente. Essi sono equivalenti a
script=block-SCRIPT
. - deprecato-prefix
-
- Descrizione
- Prefisso deprecato, ignorato
- Valori supportati
- tapdisk: tap2: aio: ioemu: file: phy:
Sono stati richiesti vari prefissi da xend e versioni precedenti di libxl per far funzionare i dispositivi a blocchi. In alcuni casi queste opzioni annullerebbero il tipo di back-end, ma in altri casi verrebbero ignorate in favore del “funzionamento”; in altri casi sarebbe necessario specificare alcuni di questi, ad esempio:
tap:aio:/some/path...
Tutti questi prefissi ora sono spogliati e ignorati.
Formato mancante e destinazione vuota
È inoltre supportata la seguente sintassi:
,<vdev>:<devtype>,<access> (deprecated)
Questo è solo per compatibilità con la sintassi di xend per i CDdrom vuoti, che è (per esempio) ,hdc:cdrom,r
.