From d000d3de4d55d3a8fde29dc57877016036d76312 Mon Sep 17 00:00:00 2001 From: Antoine Ginies Date: Thu, 4 Feb 2010 14:24:50 +0000 Subject: update the doc --- docs/ka_method/doc-duplication.xml | 84 ++++++++++++++++---------------------- 1 file changed, 36 insertions(+), 48 deletions(-) (limited to 'docs') diff --git a/docs/ka_method/doc-duplication.xml b/docs/ka_method/doc-duplication.xml index 43bf5c207..ba4013504 100644 --- a/docs/ka_method/doc-duplication.xml +++ b/docs/ka_method/doc-duplication.xml @@ -1,12 +1,13 @@
- Clone a node using KA method + Clone a node/computer using KA method Clone a computer over the network Goal of duplication is to easily deploy a computer over network without taking care of numbers of computer. In this documentation, we call golden node the node we want to clone. - We can duplicate SCSI or IDE hard drive, and duplication support multiple filesystem (reiserfs, ext2, ext3, xfs, jfs). + We can duplicate SCSI or IDE hard drive, and duplication support multiple filesystem (reiserfs, ext2, ext3, ext4, xfs, jfs). + WARNING: all data on client nodes will be erased ! We ducplicate partitions of HDD' golden node, and the process will do a fdisk command on the client node, so ALL YOUR DATA will be erased on client nodes. KA method @@ -21,7 +22,6 @@ KA method doesn't support RAID software you can only clone Linux filesystems (if you want to duplicate another kinf of FS, it's up to you to modify the scripts) - you can only duplicate same kind of HDD (IDE or SCSI) @@ -33,21 +33,21 @@ The clone process works in three steps - PXE boot to retrieve stage1: the computer boot on PXE mode, retrieve vmlinuz and an initrd. The computer is in stage1 mode, and is able to get the stage2 throug KA. Network is up. - get stage2: the computer gets the stage2 with KA method. The stage2 contains all necessary tools to recognize your hardware (the most important things is to detect your HDD), and all necessary tools to finalize the cloning process. - Duplication process: the computer auto-probes needed modules to be able to access to HDD. A basic log server is launched on the client node to be able to run command and get status of the KA duplication process. + PXE boot to retrieve stage1: the computer boot on PXE mode, retrieve vmlinuz and an initrd image. The computer is in stage1 mode, and is able to get the stage2 throug KA. Network is up. + get stage2: the computer gets the stage2 with the KA method. The stage2 contains all necessary tools to recognize your hardware (the most important things is to detect your HDD and your network card), and all necessary tools to finalize the cloning process. + Duplication process: the computer auto-probes needed modules to be able to access the HDD. A basic log server is launched on the client node to be able to run command and get status of the KA duplication process. The computer reconfigure the modprobe.conf and restore the booloader (grub or lilo) Needed files - All needed files are available on Mandriva Linux cooker. + All needed files are available in Mandriva Linux cooker. install/stage2/rescue.sqhfs: this is the stage2 file with all needed files to detect and probe modules, and launch the third step of the duplication process. This file will be used on the golden node. isolinux/alt0/vmlinuz: linux kernel, needed in the /var/lib/tftpboot/X86PC/linux/images/ directory of the PXE server - isolinux/alt0/all.rdz: stage1 and all needed modules. + isolinux/alt0/all.rdz: stage1 and all needed modules and tools. @@ -76,7 +76,7 @@ label local label kamethod KERNEL images/vmlinuz APPEND initrd=images/all.rdz ramdisk_size=64000 vga=788 \ - automatic=method:ka,interface:eth0,network:dhcp root=/dev/ram3 rw rescue kamethod + automatic=method:ka,interface:eth0,network:dhcp root=/dev/ram3 rw kamethod At boot prompt no you can boot: @@ -143,8 +143,8 @@ prompt_timeout=2 # what services to provide, priority in ordering # CSA = Client System Architecture # service=,,,, -service=X86PC,0,2,linux,Mandrake Linux x86 -service=IA64PC,0,2,linux,Mandrake Linux IA64 +service=X86PC,0,2,linux,Mandriva Linux x86 +service=IA64PC,0,2,linux,Mandriva Linux IA64 service=X86PC,0,0,local,Local boot # tftpd base dir @@ -255,18 +255,20 @@ subnet NET.0 netmask 255.255.255.0 { The rescue.sqfs file You need the rescue disk (wich contains the /ka directory), - and mount it loop in /mnt/ka. + Just extract this file, and copy all directory in /mnt/ka. -mkdir /mnt/ka -mount -o loop -t squashfs rescue.sqfs /mnt/ka +[root@guibpiv ~]# mkdir /mnt/ka +[root@guibpiv ~]# cd /mnt/ka/ +[root@guibpiv ka]# unsquashfs rescue.sqfs +[root@guibpiv ka]# mv squashfs-root/* . +[root@guibpiv ka]# ls +bin/ dev/ etc/ ka/ lib/ modules/ proc/ sbin/ squashfs-root/ tmp/ usr/ var/ + - Go in the /mnt/ka/ka directory, and see all new files available. All those files are needed - to do a KA duplication process. We will explain now the rule of each of them. If you want - to modify the content of this rescue disk (add scripts...), mount it in a tempory directory, and copy the content - into the /mnt/ka directory. + Go in the /mnt/ka/ka directory, and see all new files available. All those files are needed to do a KA duplication process. We will explain now the rule of each of them.i You can modify all them, those files will be copied onto the directory /tmp/stage2 of the client node. ka-d.sh @@ -276,7 +278,7 @@ mount -o loop -t squashfs rescue.sqfs /mnt/ka -h, --help : display this message -n num : specify the number of (destination) nodes -x dir : exclude directory - -X sdb : exclude sdb for the replication + -X sdb|sdc : exclude sdb for the replication -m drive : copy the master boot record (for windows) of this drive -M drive file : use 'file' as master boot record (must be 446 bytes long) for the specified drive -D partition : also copy partition 'partition' @@ -284,7 +286,7 @@ mount -o loop -t squashfs rescue.sqfs /mnt/ka -d delay : delay beteween the release of 2 clients (1/10 second) -r 'grub|lilo' : choose the bootloader (you can add mkinitrd options) - ie: ka-d.sh -n 3 -p sda /tmp/desc -X sdb -r 'grub --with=ata_piix --with=piix' + ie: ka-d.sh -n 3 -p sda /tmp/desc -X 'sdb|sdc' -r 'grub --with=ata_piix --with=piix' @@ -321,24 +323,20 @@ mount -o loop -t squashfs rescue.sqfs /mnt/ka ka-d-server - The ka-d-server binary file is used to be a KA golden node server. - Like the ka-d-client the session arguments is an important parameter (-s session_name). - The code source is available in the ka-deploy-0.92 SRPM. + The ka-d-server binary file is used to be a KA golden node server. Like the ka-d-client the session arguments is an important parameter (-s session_name). The session name will be getstage2 to retrieve the stage2 (after the PXE boot) and will be kainstall1 at duplication process step. If you want to do more than one duplication process of nodes at the same time, you should synchronize the ka_sesion name between the server and the client. The code source is available in the ka-deploy SRPM. ka_replication.sh - Script launched on the KA client (after getting stage2 and probing modules), to do the full process of the - Ka duplication. + Script launched on the KA client (after getting stage2 and probing modules), to do the full process of the Ka duplication. This script call other scripts to prepare the node (prepare_node.sh), configure the bootloader (make_initrd_grub or make_initrd_lilo). store_log.sh - Basic script to store the log of the KA duplication process on an FTP server. Adjust to feet your need, and uncomment - the line #store_log.sh in the /mnt/ka/ka/ka_replication.sh file. + Basic script to store the log of the KA duplication process on an FTP server. Adjust to feet your need, and uncomment the line #store_log.sh in the /mnt/ka/ka/ka_replication.sh file. @@ -350,30 +348,24 @@ mount -o loop -t squashfs rescue.sqfs /mnt/ka make_initrd_grub - Restore and reload the Grub bootloader in the /mnt/disk directory. It's a very basic script, and perhaps - use the restore_bootloader of the Mandriva Linux Rescue should be a better idea. - + Restore and reload the Grub bootloader in the /mnt/disk directory. It's a very basic script, and perhaps use the restore_bootloader of the Mandriva Linux Rescue should be a better idea. make_initrd_lilo - Restore and reload the lilo bootloader in the /mnt/disk directory. Again it's a very basic script, perhaps we should use the - restore_bootloader of the Mandriva Linux Rescue. + Restore and reload the lilo bootloader in the /mnt/disk directory. Again it's a very basic script, perhaps we should use the restore_bootloader of the Mandriva Linux Rescue. prepare_node.sh - This script remove in the futur system the old network's udev rules, old dhcp cache files, launch the script gen_modprobe_conf.pl to - regenerate an uptodate /etc/modprobe.conf in the new system, and launch the script to restore the bootloader. - If you want to do more action on the installed, system, you can modify this script. + This script remove in the futur system the old network's udev rules, old dhcp cache files, launch the script gen_modprobe_conf.pl to regenerate an up to date /etc/modprobe.conf in the new system, and launch the script to restore the bootloader. If you want to do more action on the installed, system, you can modify this script. send_status.pl - Very basic perl script to open the port 12345, and paste the content of the /tmp/ka* file. It also - permit the execution of commands on node, if user send a message from the golden node with the exec prefix. + Very basic perl script to open the port 12345, and paste the content of the /tmp/ka* file. It also permit the execution of commands on node, if user send a message from the golden node with the exec prefix. @@ -387,8 +379,7 @@ mount -o loop -t squashfs rescue.sqfs /mnt/ka The golden node, KA server - Now, it is time to build a description of the node partitions. You can use the script - /mnt/ka/ka/fdisk_to_desc as root user, or your favorite text editor, + Now, it is time to build a description of the node partitions. You can use the script /mnt/ka/ka/fdisk_to_desc as root user, or your favorite text editor, you can write a file like this one: @@ -405,7 +396,7 @@ logical linux fill sizes accoding to your system. - Type the following to start the ka replication server as root user: + Type the following to start the ka replication server as root user on the golden node: - Now the node is waiting for the rest of the nodes to start replication. + Now the golden node is waiting for clients nodes to start replication. @@ -457,8 +448,7 @@ Socket 5 on port 30764 on node40.guibland.com ready. DEFAULT kamethod - So, next time a node boots, the PXE server will force the - node to boot using the kamethod. + So, next time a node boots, the PXE server will force the node to boot using the kamethod entry. @@ -480,16 +470,14 @@ Socket 5 on port 30764 on node40.guibland.com ready. Once all the nodes have found the KA server, the first duplication process will start. This step duplicates the - rescue_stage2 from the /mnt/ka directory - of the golden node, in the client's nodes memory (/dev/ram3). Then, nodes chroot their - memories (the /tmp/stage2 directory), and launch the drvinst command from the rescue disk, to probe all needed their modules (drivers). - Then, the second step of the duplication starts. + stage2 from the /mnt/ka directory + of the golden node, in the client's nodes memory (/dev/ram3 formated as ext2). Then, nodes chroot their memories (the /tmp/stage2 directory), and launch the drvinst command from the stage2, to probe all needed their modules (drivers). Then, the second step of the duplication starts. The duplication process will clone your drives following the description you have made (/tmp/desc of the golden node). Nodes will rewrite their partition table, then format their filesystems (ReiserFs, XFS, - ext2/3, JFS). All new partitions will be mounted in the /mnt/disk directory. + ext2/3/4, JFS). All new partitions will be mounted in the /mnt/disk directory. Then, the drive duplication process will begin. On a fast Ethernet switch you can reach speeds of 10MBytes/sec. -- cgit v1.2.1