-
Notifications
You must be signed in to change notification settings - Fork 170
Capture_Linux_Image_from_running_node_to_create_a_stateless statelite_image
Table of Contents
{{:Design Warning}}
This feature aims to capture the image from running node to create a stateless/statelite image. Currently it support Linux only.
There're many available capture utility candidates, including cpio, tar, pax and afio. These utilites handle the files as the targets to be archieved and they are capable of excluding specific files and/or directories from the targets. They are even create a single archive which contains files from multiple file systems.
Note: the cpio utility was standardized in POSIX. 1-1988, and was dropped from the later version, starting with POSIX. 1-2001 due to its 8 GB filesize limit. The POSIX standardized pax utility can be used to read and write cpio archives instead.
-
In order to capture the Linux image, we need to specify one diskful Linux node.
-
We also need one file to contain the files excluded from the image, the files and directories in this file will be excluded.
-
The diskful Linux node should be managed by xCAT, because xdsh and xdcp are necessary.
-
Following the existing genimage code to generate stateless image:
/bin/find . ! -path './xxxx*' |cpio -H newc -o |gzip -c - > /tmp/rootimg.gz
-
Use the xdcp command to copy the rootimg.gz file from the specified diskful node to the MN.
-
Extract the contents of rootimg.gz to /install/netboot////rootimg
-
Run the command genimage
-
Run the packimage or liteimg command
-
Run the _nodeset osimage=
capimage node [ -p|--profile <profile> ]
Requirements:
- The node here should be one diskful Linux node;
- -p is optional, the user can specify the profile name for the statelite/stateless image to be created; if not specified, the current profile attribute of the node will be used for the image to be created.
Some files/directories should be excluded when capturing the diskful Linux image from the running node, or else capturing will be failed. In my investagation, the following directories should be excluded:
/tmp/
/proc/
/sys/
/dev/
/xcatpost/
/install/
-
Parse the paramaters of the capimage command, get the node name and the profile name;
-
Build the command
/bin/find / ! -path './tmp*' ! -path './proc*' ! -path './sys*' ! -path './dev*' ! -path './xcatpost*' ! -path './install*' |cpio -H newc -o |gzip -c - > /tmp/rootimg.gz
-
Use xdsh and the command above to capture and generate the image on the specified diskful node.
-
Use xdcp to copy the /tmp/rootimg.gz file from the specified diskful node
-
Extract the contents of rootimg.gz to the /install/netboot////rootimg directory on MN.
-
Create the directories excluded when capturing the image
/tmp/ /proc/ /sys/ /dev/
The next steps will be documented.
- Run the genimage command
- Run the liteimg/packimage command
- Run the nodeset osimage=
It seems the root image captured from the diskful node requires many memory capabilities. For example, I captured the image from the diskful Linux node, which is installed by xCAT; then I tried to boot one LPAR with this image, but it always failed until I updated the memory capability to 5120MB. Here is output of the df -h command, you can see the usage of the memory in the stateless mode:
[root@945n02 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
test_ppc64 2.5G 2.3G 190M 93% /
tmpfs 2.5G 0 2.5G 0% /dev/shm
tmpfs 10M 192K 9.9M 2% /tmp
tmpfs 10M 0 10M 0% /var/tmp
- Mar 08, 2023: xCAT 2.16.5 released.
- Jun 20, 2022: xCAT 2.16.4 released.
- Nov 17, 2021: xCAT 2.16.3 released.
- May 25, 2021: xCAT 2.16.2 released.
- Nov 06, 2020: xCAT 2.16.1 released.
- Jun 17, 2020: xCAT 2.16 released.
- Mar 06, 2020: xCAT 2.15.1 released.
- Nov 11, 2019: xCAT 2.15 released.
- Mar 29, 2019: xCAT 2.14.6 released.
- Dec 07, 2018: xCAT 2.14.5 released.
- Oct 19, 2018: xCAT 2.14.4 released.
- Aug 24, 2018: xCAT 2.14.3 released.
- Jul 13, 2018: xCAT 2.14.2 released.
- Jun 01, 2018: xCAT 2.14.1 released.
- Apr 20, 2018: xCAT 2.14 released.
- Mar 14, 2018: xCAT 2.13.11 released.
- Jan 26, 2018: xCAT 2.13.10 released.
- Dec 18, 2017: xCAT 2.13.9 released.
- Nov 03, 2017: xCAT 2.13.8 released.
- Sep 22, 2017: xCAT 2.13.7 released.
- Aug 10, 2017: xCAT 2.13.6 released.
- Jun 30, 2017: xCAT 2.13.5 released.
- May 19, 2017: xCAT 2.13.4 released.
- Apr 14, 2017: xCAT 2.13.3 released.
- Feb 24, 2017: xCAT 2.13.2 released.
- Jan 13, 2017: xCAT 2.13.1 released.
- Dec 09, 2016: xCAT 2.13 released.
- Dec 06, 2016: xCAT 2.9.4 (AIX only) released.
- Nov 11, 2016: xCAT 2.12.4 released.
- Sep 30, 2016: xCAT 2.12.3 released.
- Aug 19, 2016: xCAT 2.12.2 released.
- Jul 08, 2016: xCAT 2.12.1 released.
- May 20, 2016: xCAT 2.12 released.
- Apr 22, 2016: xCAT 2.11.1 released.
- Mar 11, 2016: xCAT 2.9.3 (AIX only) released.
- Dec 11, 2015: xCAT 2.11 released.
- Nov 11, 2015: xCAT 2.9.2 (AIX only) released.
- Jul 30, 2015: xCAT 2.10 released.
- Jul 30, 2015: xCAT migrates from sourceforge to github
- Jun 26, 2015: xCAT 2.7.9 released.
- Mar 20, 2015: xCAT 2.9.1 released.
- Dec 12, 2014: xCAT 2.9 released.
- Sep 5, 2014: xCAT 2.8.5 released.
- May 23, 2014: xCAT 2.8.4 released.
- Jan 24, 2014: xCAT 2.7.8 released.
- Nov 15, 2013: xCAT 2.8.3 released.
- Jun 26, 2013: xCAT 2.8.2 released.
- May 17, 2013: xCAT 2.7.7 released.
- May 10, 2013: xCAT 2.8.1 released.
- Feb 28, 2013: xCAT 2.8 released.
- Nov 30, 2012: xCAT 2.7.6 released.
- Oct 29, 2012: xCAT 2.7.5 released.
- Aug 27, 2012: xCAT 2.7.4 released.
- Jun 22, 2012: xCAT 2.7.3 released.
- May 25, 2012: xCAT 2.7.2 released.
- Apr 20, 2012: xCAT 2.7.1 released.
- Mar 19, 2012: xCAT 2.7 released.
- Mar 15, 2012: xCAT 2.6.11 released.
- Jan 23, 2012: xCAT 2.6.10 released.
- Nov 15, 2011: xCAT 2.6.9 released.
- Sep 30, 2011: xCAT 2.6.8 released.
- Aug 26, 2011: xCAT 2.6.6 released.
- May 20, 2011: xCAT 2.6 released.
- Feb 14, 2011: Watson plays on Jeopardy and is managed by xCAT!
- xCAT OS And Hw Support Matrix
- Oct 22, 2010: xCAT 2.5 released.
- Apr 30, 2010: xCAT 2.4 is released.
- Oct 31, 2009: xCAT 2.3 released. xCAT's 10 year anniversary!
- Apr 16, 2009: xCAT 2.2 released.
- Oct 31, 2008: xCAT 2.1 released.
- Sep 12, 2008: Support for xCAT 2 can now be purchased!
- June 9, 2008: xCAT breaths life into (at the time) the fastest supercomputer on the planet
- May 30, 2008: xCAT 2.0 for Linux officially released!
- Oct 31, 2007: IBM open sources xCAT 2.0 to allow collaboration among all of the xCAT users.
- Oct 31, 1999: xCAT 1.0 is born!
xCAT started out as a project in IBM developed by Egan Ford. It was quickly adopted by customers and IBM manufacturing sites to rapidly deploy clusters.