From owner-freebsd-questions@FreeBSD.ORG Tue Dec 11 04:13:36 2007 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6228816A420 for ; Tue, 11 Dec 2007 04:13:36 +0000 (UTC) (envelope-from gao@schrodinger.com) Received: from schrodinger.com (thermidore.schrodinger.com [192.156.98.99]) by mx1.freebsd.org (Postfix) with ESMTP id 3210313C448 for ; Tue, 11 Dec 2007 04:13:36 +0000 (UTC) (envelope-from gao@schrodinger.com) Received: from toni.schrodinger.com (toni.schrodinger.com [192.156.98.56]) by schrodinger.com (8.13.4/8.13.4) with ESMTP id lBB4DZtI063093; Mon, 10 Dec 2007 20:13:35 -0800 (PST) (envelope-from gao@schrodinger.com) Received: from [10.10.18.38] (sub22-20.member.dsl-only.net [63.105.22.20]) (authenticated bits=0) by toni.schrodinger.com (8.13.3/8.13.3) with ESMTP id lBB4DYom085727 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 10 Dec 2007 20:13:35 -0800 (PST) (envelope-from gao@schrodinger.com) Message-ID: <475E0E69.7090806@schrodinger.com> Date: Mon, 10 Dec 2007 20:13:29 -0800 From: Simon Gao User-Agent: Thunderbird 2.0.0.9 (X11/20071117) MIME-Version: 1.0 To: DAve References: <003e01c81cf2$27ff3840$77fda8c0$@com> <472A9D99.7000102@pixelhammer.com> In-Reply-To: <472A9D99.7000102@pixelhammer.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-3.0 (schrodinger.com [192.156.98.99]); Mon, 10 Dec 2007 20:13:35 -0800 (PST) Cc: 'User Questions' Subject: Re: Duplicate existing FreeBSD Server in VM X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Dec 2007 04:13:36 -0000 DAve wrote: > Terry Sposato wrote: > >> Hi, >> >> >> >> I have just installed a machine and have it setup running a web based CRM >> solution. I want to have an exact duplicate of this machine running as a VM >> for redundancy reasons. >> >> >> >> What is the best way to go about getting this exact machine transferred to >> the VM? Both machines exist on the same network and will be able to talk to >> each other, I have been thinking of a couple of different ways to get all my >> data across which is the easy part, but I want to match everything that is >> installed, base system, ports etc. >> >> >> >> Anyone have any ideas or point me into the right direction? >> >> > > You can use dump over ssh easily enough, here are my notes from using it > to create multiple production machines from a single test server. There > are better ways I am sure, but this is quick and easy if you are > familiar with FreeBSD installs. > > Note #1 In the first comment line I say to boot the live file system CD, > that is what you would do in the VM, just as you would normally boot an > installer CD, but use a Live filesystem CD instead. > > Note #2 I used several slices with sizes some may not agree with. It was > a choice we made for various reasons, the servers have been running for > three years. You may have more or less slices of varying sizes, adjust > the steps below to your preferences. > > Note #3 You will need to check and WRITE DOWN which slice is which mount > point, /, /var, /usr and so on. Your disks may be different if you > choose not to create a seperate /tmp, or /var. > > I'll be out of the office for a week, but you can try and adjust as > needed, it won't hurt anything and you can always overwrite and try > again. WRITE IT DOWN. > > Works for us, I've used it several times, adjusting as needed for the > system I am cloning. > > DAve > > ==================================================== > > # boot live filesystem cd > # use disklabel to check/create slices > /stand/sysinstall > /dev/ad0s1b 256mb swap > /dev/ad0s1a 256mb /mnt/ufs.1 softupdates > /dev/ad0s1e 256mb /mnt/ufs.2 softupdates > /dev/ad0s1d 256mb /mnt/ufs.3 softupdates > /dev/ad0s1f all /mnt/ufs.4 softupdates > /dev/ad1s1d 20000mb /mnt/ufs.5 > > # unmount the new slices > umount /mnt/ufs.1 > umount /mnt/ufs.2 > umount /mnt/ufs.3 > umount /mnt/ufs.4 > umount /mnt/ufs.5 > > # make newfs on each slice > newnfs /dev/ad0s1a > newnfs /dev/ad0s1e > newnfs /dev/ad0s1f > newnfs /dev/ad0s1d > newnfs /dev/ad1s1d > > # remount the slices > mount -t ufs -o rw /dev/ad0s1a /mnt/ufs.1 > mount -t ufs -o rw /dev/ad0s1e /mnt/ufs.2 > mount -t ufs -o rw /dev/ad0s1d /mnt/ufs.3 > mount -t ufs -o rw /dev/ad0s1f /mnt/ufs.4 > > # fetch the filesystems from the test server > # you will need to enable root ssh access on the test server for this. > cd /mnt/ufs.1 > ssh root@10.0.240.130 dump -0L -f - /dev/ad0s1a | restore -rf - /dev/ad0s1a > cd /mnt/ufs.2 > ssh root@10.0.240.130 dump -0L -f - /dev/ad0s1e | restore -rf - /dev/ad0s1e > cd /mnt/ufs.3 > ssh root@10.0.240.130 dump -0L -f - /dev/ad0s1f | restore -rf - /dev/ad0s1f > cd /mnt/ufs.4 > ssh root@10.0.240.130 dump -0L -f - /dev/ad0s1d | restore -rf - /dev/ad0s1d > > # change the following entries in rc.conf, remember everything is > mounted under /mnt! > # X = the ecluster number 1,2,3,4,5,6,7,8, etc. > hostname="new_server_X" > ifconfig_em0="inet 10.0.240.13X netmask 255.255.255.0" > > Reboot the new server, it should come up just fine. > > > Your instructions is very helpful. When using on 4.11, "-L" seems not working with dump. Also I have one question, I clone file system from one machine to another different type of machine. The source machine's file system is on /dev/da0s1, but destination's is on /dev/ad0s1. Then I run following to update boot loader: fdisk -B -b /boot/boot0 /dev/ad0 bsdlabel -B /dev/ad0s1 However, the cloned system can't find kernel on reboot. What am I missing? Simon