Moving to a Larger Hard Drive
Applicable to: FreeBSD 4.3
Updated: September 5, 2001
This Sheet describes the procedure I used to move my company's FreeBSD system to a larger hard drive.
- Verify that the system supports two hard drives. If not, rebuild the kernel with support for two hard drives:
# ATA and ATAPI devices device ata0 at isa? port IO_WD1 irq 14 device ata1 at isa? port IO_WD2 irq 15 device ata device atadisk # ATA disk drives
- Shutdown and install the additional drive as the slave on the primary IDE controller. Be sure to set the existing drive from 'single' to 'master.'
- Boot to single user mode:
ok boot -s
# fsck -p# mount -u /
# mount -a -t ufs
# swapon -a
- Run sysinstall:
# /stand/sysinstall
- Choose 'Configure,' then 'Fdisk' from the menu, then choose drive 'ad1.'
- In the FDISK Partition Editor, choose 'A' to use the entire disk, then choose 'W' to write the changes to disk. Press 'Q' to continue.
- Choose 'Standard' at the "Install Boot Manager" dialog box.
- Back at the sysinstall menu, choose 'Label'.
- In the Disklabel Editor, create the following partitions:
ad1s1a /mnt 512MB as UFS
ad1s1b swap 512MB as swap
ad1s1e /mnt/usr remaining as UFS
Note: To get partition 'a', tell Disklabel Editor the mount point is '/', then change it to '/mnt' using the 'M' option.
Choose 'W' to write changes to disk, then choose 'Q' to continue.
- Exit sysinstall.
- Choose 'Configure,' then 'Fdisk' from the menu, then choose drive 'ad1.'
- If the new filesystems aren't automatically mounted, mount them by hand:
# mount /dev/ad1s1a /mnt
# mount /dev/ad1s1e /mnt/usr
- Copy the existing filesystems:
# tar clf - -C / -X /mnt . | tar xpvf - -C /mnt
# tar clf - -C /usr . | tar xpvf - -C /mnt/usr
- Shutdown and remove the old hard drive. Be sure to set the new drive from 'slave' to 'single.'
- Boot to single user mode:
ok boot -s
- If softupdates are compiled into the kernel, enable soft updates on the new drive:
# tunefs -n enable /usr
- Mount the remaining filesystems:
# fsck -p
# mount -u /# mount -a -t ufs
# swapon -a
- Verify that all of the filesystems are properly mounted:
# mount
/dev/wd0s1a on / (ufs, local, writes: sync 8 async 204)
/dev/wd0s1e on /usr (ufs, local, soft-updates, writes: sync 366 async 13493)
procfs on /proc (procfs, local)
- Reboot and observe startup messages to ensure the system is functioning properly.
http://www.mostgraveconcern.com/freebsd/
Questions or Comments? Contact Us...




Post new comment