====== Differences ====== This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
debian_aoe_migrate [2007/08/24 14:57] bengen point out choice of real disk or chrooted image |
debian_aoe_migrate [2007/09/30 09:02] (current) bengen |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Migrating Debian GNU/Linux 4.0 (etch) or later to an AoE target ====== | + | This page has been moved to [[sanboot:debian_and_ubuntu]] |
- | You can either work witha an installation | + | |
- | - that is running off a physical disk on a client machine or | + | |
- | - a loopback-mounted disk image running as a ''chroot(8)'' environment | + | |
- | + | ||
- | Install the ''aoetools'' package and a kernel image that includes the | + | |
- | ''aoe'' driver, i.e. one of the ''linux-image-2.6.18-*'' drivers | + | |
- | that ship with Debian/etch. | + | |
- | + | ||
- | Create two scripts as shown below | + | |
- | * ''/etc/initramfs-tools/hooks/aoetools'' will copy the ''aoe'' kernel module and ''/sbin/aoe-discover'' to the initial ramdisk. | + | |
- | * ''/etc/initramfs-tools/scripts/local-top/aoetools'' is copied to the ram disk and run at boot-time, just before the root filesystem is mounted. If the root device string looks like an AoE target, it brings up all recognized Ethernet interfaces and activates the AoE driver. | + | |
- | + | ||
- | After you have made sure that ''/etc/initramfs-tools/initramfs.conf'' | + | |
- | contains the line | + | |
- | BUSYBOX=y | + | |
- | you can update the initial ramdisk: | + | |
- | # update-initramfs -u -k all | + | |
- | + | ||
- | FIXME Create/update ''/etc/fstab'' | + | |
- | + | ||
- | FIXME Create/update ''/boot/grub/menu.lst'' | + | |
- | + | ||
- | If the modifications were applied to a physical disk on the client | + | |
- | machine, you can now [[santransfer|transfer]] the contents of your | + | |
- | physical disk to the SAN target. | + | |
- | + | ||
- | If the image you wish to export to client systems was modified directly,, | + | |
- | just make the contents of that image [[sanexport|available]]. | + | |
- | + | ||
- | ==== Hints ==== | + | |
- | * If the system hangs before the root device has been mounted, passing ''break=mount'' on the command line will spawn a shell before `scripts/local-top/aoetools' is run. This should allow for further debugging. | + | |
- | + | ||
- | + | ||
- | ===== Configuration files ===== | + | |
- | ==== /etc/initramfs-tools/hooks/aoetools ==== | + | |
- | <code bash> | + | |
- | #!/bin/sh | + | |
- | + | ||
- | set -e | + | |
- | + | ||
- | PREREQ="" | + | |
- | + | ||
- | prereqs() | + | |
- | { | + | |
- | echo "$PREREQ" | + | |
- | } | + | |
- | + | ||
- | case $1 in | + | |
- | prereqs) | + | |
- | prereqs | + | |
- | exit 0 | + | |
- | ;; | + | |
- | esac | + | |
- | + | ||
- | . /usr/share/initramfs-tools/hook-functions | + | |
- | + | ||
- | [ -x /sbin/aoe-discover ] && copy_exec /sbin/aoe-discover /sbin | + | |
- | manual_add_modules aoe | + | |
- | </code> | + | |
- | + | ||
- | ==== /etc/initramfs-tools/scripts/local-top/aoetools ==== | + | |
- | <code bash> | + | |
- | #!/bin/sh | + | |
- | + | ||
- | set -e | + | |
- | + | ||
- | PREREQ="" | + | |
- | + | ||
- | prereqs() | + | |
- | { | + | |
- | echo "$PREREQ" | + | |
- | } | + | |
- | + | ||
- | case $1 in | + | |
- | prereqs) | + | |
- | prereqs | + | |
- | exit 0 | + | |
- | ;; | + | |
- | esac | + | |
- | + | ||
- | case $ROOT in | + | |
- | /dev/etherd/e*) | + | |
- | INTERFACES=`awk -F: '/eth[0-9]*:/ { print $1 }' < /proc/net/dev` | + | |
- | for i in $INTERFACES; do | + | |
- | echo Bringing up interface $i for AoE | + | |
- | ifconfig $i up | + | |
- | done | + | |
- | sleep 5 | + | |
- | modprobe aoe | + | |
- | aoe-discover | + | |
- | ;; | + | |
- | esac | + | |
- | </code> | + |