Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Jul 2005 19:07:36 +0200
From:      "Ruben Bloemgarten" <ruben@bloemgarten.demon.nl>
To:        "'Chris Roos'" <chris@seagul.co.uk>, <freebsd-questions@freebsd.org>
Subject:   RE: Migrating FreeBsd installation to another hard drive
Message-ID:  <20050706170753.4D6F543D46@mx1.FreeBSD.org>
In-Reply-To: <42CC027B.7030808@seagul.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi there, 
I had to do something similar i.e. change RAID levels, there is no need to
install anything. Just use the fixit CD. Here is my procedure : 
Ofcourse you'll have to change disk[slice] names to what suits you. NOTE: I
used tar for the /usr slice as I had some size constraints and therefore
needed some compression ( I could have piped the dump to gzip ofcourse, but
didn't). In my opinion dump&restore is the best procedure. But dd works as
well.
Regards, 
Ruben 

1. boot from CD
2. goto fixit CD
3. create new mount point 
   --> # mkdir /new_mnt
4. mount external drive /new_mnt
   --> # mount /dev/da0s1 /new_mnt
5. mount / on /mnt
   # mount /dev/ar0s1a /mnt
6. backup fstab and bsdlabel
   --> # cp /mnt/etc/fstab /new_mnt/fstab.BAK
       # bsdlabel ar0s1 > /new_mnt/bsdlabel.BAK
7. dump / 
   --> # umount /mnt
       # dump -0au -C 32 -f /new_mnt/root_dump /dev/ar0s1a
8. dump /var
   --> # dump -0au -C 32 -f /new_mnt/var_dump /dev/ar0s1e
9. tar /usr ( or only those subsystems which contain userdata
(dbase,mail,etc)
   --> # mount /dev/ar0s1f /mnt
       # cd /mnt
       # tar czf /new_mnt/usr_tar.tar.gz ./
10.unmount all mounted filesystems 
   --> # umount /mnt
       # umount /new_mnt
11. exit fixit and boot CD
12. power down
13. replace disks
14. boot to RAID config tool
15. set array to RAID0
16. reboot to CD
17. exit to FIXIT
18. erase current disklabel & create new label with one slice
    --> # dd if=/dev/zero of=/dev/ar0 bs=512 count=32
        # fdisk -BI /dev/ar0
	# dd if=/dev/zero of=/dev/ar0s1 bs=512 count=32
	# bsdlabel -w -B da0s1
19. read disklabel & note c partition value
20. mount external disk & edit saved slice (step 6)
21. write edited label to disk
22. --> # bsdlabel -R /dev/ar0s1 /new_mnt
23. --> # newfs /dev/ar0s1[a,d,e,f)
24. --> # mount /dev/ar0s1d /tmp
25. --> # export TMPDIR=/tmp
26. mount & restore /
    --> # mount /dev/ar0s1a /mnt
        # cd /mnt
        # restore rf [PATHNAME_TO_root_dump]
27. umounting / and mount & restore /var
    --> # cd ..
        # umount /mnt
        # mount /dev/ar0s1e /mnt
        # cd /mnt
        # restore rf [PATHNAME_TO_var_dump]
28. extracting usr_tar.tar.gz into /usr
    --> # cd ..
        # umount /mnt
        # mount /dev/ar0s1f /mnt
        # cd /mnt
        # tar xzvf [PATHNAME_TO_usrtar] ./
29. umount all open filesystems
    --> # umount /tmp
        # umount /mnt
        # umount /new_mnt
30.  exit single user mode and startup

-----Original Message-----
From: owner-freebsd-questions@freebsd.org
[mailto:owner-freebsd-questions@freebsd.org] On Behalf Of Chris Roos
Sent: July 06, 2005 6:11 PM
To: freebsd-questions@freebsd.org
Subject: Migrating FreeBsd installation to another hard drive

Hi,

I've recently had the job of moving a FreeBsd installation to another 
hard drive.

After quite a lot of reading I got round to following this article[1] 
using a VMWare FreeBsd instance.  In brief the article uses dump and 
restore to move the data from one mounted partition to another in single 
user mode.  It also suggests that before you do this, you perform a 
minimum install on the destination disk to ensure that it boots fine.

First time round, I did the minimum install and then followed the steps 
(minus the MAKEDEV step as I'm running 5.3R) to backup the data to the 
destination.  This all worked fine.

Second time round, I didn't do a minimum install, rather I just set-up 
the slice and partitions on the destination using sysinstall, and then 
did the dump/restore.  On booting from the destination disk this time, 
nothing happened.  I reasoned that it was because I had no boot manager 
installed and so went ahead and used boot0cfg -B to install the FreeBsd 
boot manager.  The disk now boots; however, I would prefer to use the 
equivalent of the 'Standard - Install a standard MBR (no boot manager)' 
option from sysinstall as FreeBsd is the only OS on the disk and so I 
don't need the option of booting to it or anything else.  I'm guessing 
that I would use fdisk to do this but if so am not entirely sure how. 
In addition, is this safe to perform on a disk with data or would I need 
to go through the dump/restore process again?

One final question is whether the dump/restore process is the best 
approach in this instance?  I have read about using dd but am not 
entirely sure whether this would do what I need?

Thanks in advance for any help,

Chris

[1] http://bsdvault.net/sections.php?op=viewarticle&artid=121

_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org"


-- 
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.323 / Virus Database: 267.8.9/42 - Release Date: 07/06/2005

-- 
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.323 / Virus Database: 267.8.9/42 - Release Date: 07/06/2005
 

-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.323 / Virus Database: 267.8.9/42 - Release Date: 07/06/2005
 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050706170753.4D6F543D46>