Se al momento dell'installazione di OpenSolaris (o dell'ultima release di Solaris 10) avevate a disposizione un solo disco ZFS creerà in automatico un mirror "zoppo", finchè non gli fornirete il secondo disco, se avete un disco nuovo nuovo basterà digitare:
# zpool attach -f rpool c0t0d0s0 c0t1d0s0
dove rpool è il nome del vostro pool, seguito dal device del vecchio disco e da quello del nuovo. Se invece il disco che andate ad aggiungere non è nuovo (magari proviene da una vecchia macchina o contiene una versione di Solaris che andate ad aggiornare) riceverete un bel messaggio di errore:
# zpool attach -f rpool c0t0d0s0 c0t1d0s0
cannot attach c0t1d0s0 to c0t0d0s0: device is too small
questo perchè con molta probabilità il vostro disco contiene già una label in formato EFI e questo tipo di label non "copre" totalmente la dimensione del disco, quindi occorrerà passare al formato SMI, per fare questo useremo il comando format (ho evidenziato in grassetto le scelte effettuate):
# format -e
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0t0d0 <DEFAULT cyl 8921 alt 2 hd 255 sec 63>
/pci@0,0/pci8086,25f8@4/pci1000,3150@0/sd@0,0
1. c0t1d0 <DEFAULT cyl 8915 alt 2 hd 255 sec 63>
/pci@0,0/pci8086,25f8@4/pci1000,3150@0/sd@1,0
Specify disk (enter its number): 1
selecting c0t1d0
[disk formatted]
FORMAT MENU:
disk - select a disk
type - select (define) a disk type
partition - select (define) a partition table
current - describe the current disk
format - format and analyze the disk
fdisk - run the fdisk program
repair - repair a defective sector
label - write label to the disk
analyze - surface analysis
defect - defect list management
backup - search for backup labels
verify - read and display labels
save - save new disk/partition definitions
inquiry - show vendor, product and revision
scsi - independent SCSI mode selects
cache - enable, disable or query SCSI disk cache
volname - set 8-character volume name
!<cmd> - execute <cmd>, then return
quit
format> label
[0] SMI Label
[1] EFI Label
Specify Label type[0]: 0
Ready to label disk, continue? y
format> quit
#
fatto questo potremo ripetere il comando di attach e in automatico ZFS comincerà il resilvering del disco in modo da sincronizzare i dati.
# zpool status
pool: rpool
state: ONLINE
scrub: resilver completed after 0h11m with 0 errors on Thu Apr 23 15:09:22 2009
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror ONLINE 0 0 0
c0t0d0s0 ONLINE 0 0 0
c0t1d0s0 ONLINE 0 0 0
errors: No known data errors
C'è da aggiungere una piccola nota, alcune volte è necessario cancellare tutte le vecchie partizioni presenti sul disco prima di cambiare il formato delle label, basta entrare nel sottomenu fdisk e rimuovere tutte le partizioni e poi ripetere le operazioni viste prima.
e' stata risolto il fatto che fino alla 2008.11 c'era da fare tipo:
RispondiEliminainstallgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t1d0s0
a mano dopo aver addato il secondo disco, altrimenti non aveva l'mbr all'inizio e non era quindi di boot in caso di rottura del primo disco?
(avevo letto che l'avevano nella lista di cose da fixxare...)
tnx
(come sempre keep up the good work, blog molto utile!!!)
sinceramente non ho controllato, io per sicurezza lo faccio sempre :)
RispondiEliminaUna nota sul “nato sicuro”: sembrerebbe che far girare ZFS su hardware "commodity" (o hi-end ma virtualizzato) non sia una buona idea, si rischia di perdere TUTTI i dati!!
RispondiElimina(rif: http://www.opensolaris.org/jive/thread.jspa?threadID=108213&tstart=0)
Ho seguito il thread da te segnalato, la configurazione era tutta basata su VirtualBox e personalmente non la utilizzerei come "base" per fare storage (specie di diversi TeraByte), invece ho sistemi in produzione che funzionano all'inverso (ovvero Solaris+ZFS e virtualizzazioni VirtualBox) e fino ad oggi nessun problema...
RispondiElimina