Copia de disco a disco (Solaris)
Este procedimiento es para la copia de disco a disco.
Como suposición general tomo :c0t0d0 es el disco original a reemplazar y c0t1d0 es el nuevo disco
El primer procedimiento aplica si los dos discos son iguales
1) coloco el disco
2) una vez que levanta el equipo y lo puedo ver con el format hago lo siguiente:
# prtvtoc /dev/dsk/c0t0d0s2 > /tmp/vtoc
# fmthard -s /tmp/vtoc /dev/rdsk/c0t1d0s2
3) genero los nuevos filesystems
# newfs -m 1 /dev/rdsk/c0t1d0s0
# newfs -m 1 /dev/rdsk/c0t1d0s1
# newfs -m 1 /dev/rdsk/c0t1d0s3
( repito el procedimiento por cada uno de los slice utilizados)
4) copio la información bloque a bloque:
# cpio if=/dev/rdsk/c0t0d0s0 of=/dev/rdsk/c0t1d0s0 bs=5120k
# cpio if=/dev/rdsk/c0t0d0s1 of=/dev/rdsk/c0t1d0s1 bs=5120k
# cpio if=/dev/rdsk/c0t0d0s3 of=/dev/rdsk/c0t1d0s1 bs=5120k
Esto funciona solamente si el disco no tiene sectores de hardware defectuosos o bloques dañados que han quedado inaccesibles.
Si los discos son de diferentes tamaños debo utilizar el siguiente procedimiento:
b1) con el comando format accedemos al nuevo disco y realizamos las particiones tomando en cuenta dar mayor espacio que el que teniamos asignados en el disco anterior.
b2) con el comando newfs repito el procedimiento anterior para la creación de filesystems
b3) luego montamos el primer slice en el /mnt de la siguiente forma:
# mount /dev/dsk/c0t1d0s0 /mnt
y copiamos ahora si mediante el ufsdump de la siguient forma:
(suponiendo que el slice 0 es el /)
# cd /
# ufsdump -0f -. | (cd /mnt ; ufsrestore -rf - )
este comando copia todo lo que hay en el / mediante el ufsrestore al slice montado en el /mnt
Una vez copiado todo desmonto el /mnt y procedo de la misma forma con el siguiente slice
# cd /
# umount /mnt
(supongo que el slice 1 es el /o)
# mount /dev/dsk/c0t1d0s1 /mnt
# cd /o
# ufsdump -0f -. | (cd /mnt ; ufsrestore rf -)
y así repito el procedimiento hasta el ultimo filesystem
Si en cualquiera de estos dos procedimientos me da errores por los bloques del disco dañado o por inconsistencias de los datos debo utilizar el tar en vez del ufsdump y ufsrestore o el cpio de la siguiente forma:
# cd /
# mount /dev/dsk/c0t1d0s0 /mnt
# tar cvf -. | (cd /mnt ; tar xvf - )
reemplazo esta parte del procedimiento como proceda en cada caso.
