Image Format

Version 8 (Constantinos Venetsanopoulos, 11/24/2011 11:34 am)

1 1 Nikos Skalkotos
h1. Image Format
2 1 Nikos Skalkotos
3 8 Constantinos Venetsanopoulos
The image format is a required OS Provider parameter and snf-image will complain if not found
4 8 Constantinos Venetsanopoulos
Right now we support 3 different types of image formats:
5 8 Constantinos Venetsanopoulos
* @extdump@
6 8 Constantinos Venetsanopoulos
* @ntfsdump@
7 8 Constantinos Venetsanopoulos
* @diskdump@
8 1 Nikos Skalkotos
9 4 Nikos Skalkotos
h2. extdump & ntfsdump
10 4 Nikos Skalkotos
11 4 Nikos Skalkotos
Those two formats are raw copies (using dd) of partitions hosting Linux systems on ext{2,3,4} and Windows systems on ntfs filesystems respectively.
12 4 Nikos Skalkotos
13 5 Nikos Skalkotos
Partitions hosting a Windows or Linux system that are suitable for dumping should have the following properties:
14 1 Nikos Skalkotos
* Be the first partition in the filesystem
15 5 Nikos Skalkotos
* The OS they host should not depend on any other partitions
16 1 Nikos Skalkotos
* Start at sector 2048
17 1 Nikos Skalkotos
* Have a bootloader installed in the partition
18 5 Nikos Skalkotos
* Have the root device in /etc/fstab specified in a persistent way, using UUID or LABEL (for extdump only)
19 3 Nikos Skalkotos
20 4 Nikos Skalkotos
h3. Known Issues
21 1 Nikos Skalkotos
22 1 Nikos Skalkotos
* For linux systems, having grub installed in the partition is fragile and things can go wrong when resizing the partitions, especially when shrinking.
23 3 Nikos Skalkotos
* Swap space is not supported.
24 3 Nikos Skalkotos
* More complicated partition schemes are not supported.
25 3 Nikos Skalkotos
26 1 Nikos Skalkotos
h2. diskdump
27 1 Nikos Skalkotos
28 7 Nikos Skalkotos
Diskdump is a newer format that overcomes most of the aforementioned issues. This format is a raw copy (dd) of a whole disk.
29 1 Nikos Skalkotos
30 7 Nikos Skalkotos
This design decision has the following benefits:
31 5 Nikos Skalkotos
* Swap partitions are supported
32 5 Nikos Skalkotos
* The system may use multiple partitions:
33 5 Nikos Skalkotos
** dedicated partitions for /boot, /home etc in linux
34 5 Nikos Skalkotos
** system and boot partition in Windows
35 7 Nikos Skalkotos
* There are no restrictions on starting sectors of partitions
36 5 Nikos Skalkotos
37 8 Constantinos Venetsanopoulos
Although diskdump is a lot more flexible than the older formats, there are still some rules to follow:
38 5 Nikos Skalkotos
* All devices in fstab should be specified by persistent names (UUID or LABEL)
39 6 Nikos Skalkotos
* LVMs and extended partitions should be avoided.
40 6 Nikos Skalkotos
** The support for extended partitions is partial. snf-image does not support resizing logical partitions.
41 6 Nikos Skalkotos
** Logical volumes are not supported at all
42 6 Nikos Skalkotos
* In Linux disks only ext{2,3,4} filesystems are supported
43 6 Nikos Skalkotos
44 6 Nikos Skalkotos
h3. Image Properties
45 6 Nikos Skalkotos
46 8 Constantinos Venetsanopoulos
In order for snf-image to be able to properly configure an image of @diskdump@ format, it needs to be passed a set of image properties:
47 1 Nikos Skalkotos
48 8 Constantinos Venetsanopoulos
* *OSFAMILY={linux,windows}*
49 6 Nikos Skalkotos
This specifies whether the image is a Linux or a Windows Image
50 6 Nikos Skalkotos
51 8 Constantinos Venetsanopoulos
* *ROOT_PARTITION={1,2,3,4}*
52 6 Nikos Skalkotos
This specifies the partition number of the root partition. As mentioned earlier, for now we only support primary partitions
53 1 Nikos Skalkotos
54 6 Nikos Skalkotos
* *USERS="username1 username2...."*
55 8 Constantinos Venetsanopoulos
This is a list of users, whose password will be reset by snf-image.
56 8 Constantinos Venetsanopoulos
57 8 Constantinos Venetsanopoulos
All image properties are passed to snf-image through the @img_properties@ OS parameter. The @img_properties@ parameter is *mandatory* when trying to deploy an image of @diskdump@ format. @img_properties@ should be a json file dumped as a string. When trying to deploy an image of type @{ext,ntfs}dump@ then @img_properties@ are not necessary.