Is it possible to clone a SCSI drive to SCSI2SD
#18
RE: Is it possible to clone a SCSI drive to SCSI2SD
(01-03-2022, 07:02 AM)weblacky Wrote:  
(01-03-2022, 06:50 AM)mamed Wrote:  Easier than pie with the below script I just did this actually. After fx my drive to root  I just loaded the script everything and I mean everything is automatic after it’s done you can just swap it or even out it in a different machine.
insert second disk, "fx" it to be a root disk, run this script (as in save it, name it "clone", as root do "./clone 2" if your new disk will have scsi id of 2, then type 0 if its on scsi controller 0):

#!/bin/sh
# program to copy root & usr partitions and create a new bootable disk
# Note that this script is limited to SCSI drives, and only those
# on controller 2.
# It makes the root & usr filesystem on partition 0 & 6 for destination drive
# and install sash, ide & fx in the volume header of  the destination drive.

if [ $# -eq 0 ]
then
      echo "Usage $0 [disk_number]"
      exit 1
elif [ $1 -eq 1 ]
then
      echo "The disk number needs to be greater than 1."
      exit 1
elif [ $1 -le 1 ]
then
      echo "The disk number needs to be greater than 1."
      exit 1
else
      NUM=$1
fi

echo "\nSource SCSI (system)disk 1"
echo "\nDestination SCSI controller:  \c"
read SCSI_C
echo "\nDestination SCSI Controller channel "$SCSI_C" disk "$NUM""
echo "\007OK? (n)\c"
      read answer
      case "$answer" {
      y|Y|yes|Yes|YES) ;;
      *) echo "\007\n\nAbort"; exit 1;;
      }


echo "\nChecking SCSI disk"$NUM".."
hinv -c disk | grep -s "unit $NUM on SCSI controller $SCSI_C" > /dev/null 2>&1
if [ $? -ne 0 ]
then echo SCSI disk $NUM not found on controller $SCSI_C
      exit 1
fi

(prtvtoc -s -h /dev/rdsk/dks"$SCSI_C"d"$NUM"vol | grep "0.*xfs" ) > /dev/null 2>&1
if [ $? != 0 ]
then
      echo "reformat disk $NUM on SCSI controller $SCSI_C\n"
echo "for a system disk (no partition 0 found)"
      exit 1
fi

/etc/fsstat /dev/dsk/dks"$SCSI_C"d"$NUM"s7 > /dev/null 2>&1
s7=$?
/etc/fsstat /dev/dsk/dks"$SCSI_C"d"$NUM"s6 > /dev/null 2>&1
s6=$?
/etc/fsstat /dev/dsk/dks"$SCSI_C"d"$NUM"s0 > /dev/null 2>&1
s0=$?
if [ $s7 -ne 3 -o $s6 -ne 3 -o $s0 -ne 3 ]
then
      echo "\007SCSI controller $SCSI_C disk $NUM appears to\n"
echo "have a valid filesystem, overwrite it? (n)\c"
      read answer
      case "$answer" {
      y|Y|yes|Yes|YES) ;;
      *) echo Disk $NUM not added; exit 1;;
      }
fi
#-------------------------------------------------

echo "\nStart disk clone..."
umount /d
mkdir /d
mkfs -d name=/dev/rdsk/dks"$SCSI_C"d"$NUM"s0 -l internal,size=2048b -b size=1k
labelit /dev/rdsk/dks"$SCSI_C"d"$NUM"s0 / sgi
mount /dev/dsk/dks"$SCSI_C"d"$NUM"s0 /d
df -k
echo "\ncopy root partition..."
cd /; xfsdump -l 0 -J - / | (cd /d; xfsrestore - .)

fsstat /dev/usr 1> /dev/null 2>&1
stat=$?
if [ $stat = 2 ]
then
      mkdir /d/usr
      mkfs -d name=/dev/rdsk/dks"$SCSI_C"d"$NUM"s6 -l internal,size=2048b -b
size=1k
      labelit /dev/rdsk/dks"$SCSI_C"d"$NUM"s6 /usr sgi
      mount /dev/dsk/dks"$SCSI_C"d"$NUM"s6 /d/usr
      df -k
      echo "\ncopy usr partition..."
      cd /usr; xfsdump -l 0 -J - /usr | (cd /d/usr; xfsrestore - .)
fi

echo "\ninstalling sash, ide & fx in volume header....."
if [ ! -r /stand/sash ]; then /etc/dvhtool -v get sash /stand/sash /dev/rdsk/dks0d1vh ;fi
if [ ! -r /stand/fx  ]; then /etc/dvhtool -v get fx  /stand/fx  /dev/rdsk/dks0d1vh ;fi
if [ ! -r /stand/ide  ]; then /etc/dvhtool -v get ide  /stand/ide  /dev/rdsk/dks0d1vh ;fi

/etc/dvhtool -v c /stand/sash sash /dev/rdsk/dks"$SCSI_C"d"$NUM"vh
/etc/dvhtool -v c /stand/ide ide /dev/rdsk/dks"$SCSI_C"d"$NUM"vh
/etc/dvhtool -v c /stand/fx fx /dev/rdsk/dks"$SCSI_C"d"$NUM"vh
echo "\nNew disk number SCSI:"$SCSI_C" disk:"$NUM" ready to use."

echo "\nDONE....."
exit 0


Only small comments I have are:

1. Please either probe or prompt for XFS block size as small disks should be using 512 while larger disks use 4096.
2. See about using DVHTOOL to also bring along IDE (diags) correctly.
and how would we do that?Smile

O2 O2O2
mamed
Octane

Trade Count: (0)
Posts: 112
Threads: 29
Joined: Jan 2021
Location: Canada
Find Reply
01-03-2022, 03:52 PM


Messages In This Thread
Is it possible to clone a SCSI drive to SCSI2SD - by KayBee - 02-17-2020, 10:31 PM
RE: Is it possible to clone a SCSI drive to SCSI2SD - by Raion - 02-18-2020, 12:31 AM
RE: Is it possible to clone a SCSI drive to SCSI2SD - by dexter1 - 02-18-2020, 05:25 PM
RE: Is it possible to clone a SCSI drive to SCSI2SD - by KayBee - 02-19-2020, 05:54 AM
RE: Is it possible to clone a SCSI drive to SCSI2SD - by Raion - 02-19-2020, 06:23 AM
RE: Is it possible to clone a SCSI drive to SCSI2SD - by chulofiasco - 02-19-2020, 03:21 PM
RE: Is it possible to clone a SCSI drive to SCSI2SD - by KayBee - 02-19-2020, 06:27 AM
RE: Is it possible to clone a SCSI drive to SCSI2SD - by callahan - 02-24-2020, 01:17 AM
RE: Is it possible to clone a SCSI drive to SCSI2SD - by KayBee - 02-24-2020, 05:19 PM
RE: Is it possible to clone a SCSI drive to SCSI2SD - by TommyBoy - 03-23-2020, 10:20 PM
RE: Is it possible to clone a SCSI drive to SCSI2SD - by Raion - 03-23-2020, 10:32 PM
RE: Is it possible to clone a SCSI drive to SCSI2SD - by callahan - 03-25-2020, 12:40 AM
RE: Is it possible to clone a SCSI drive to SCSI2SD - by Raion - 03-25-2020, 01:27 AM
RE: Is it possible to clone a SCSI drive to SCSI2SD - by callahan - 12-20-2021, 04:56 PM
RE: Is it possible to clone a SCSI drive to SCSI2SD - by Raion - 12-20-2021, 05:33 PM
RE: Is it possible to clone a SCSI drive to SCSI2SD - by mamed - 01-03-2022, 06:50 AM
RE: Is it possible to clone a SCSI drive to SCSI2SD - by weblacky - 01-03-2022, 07:02 AM
RE: Is it possible to clone a SCSI drive to SCSI2SD - by mamed - 01-03-2022, 03:52 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)