Latest FOG 0.33b
-
Single, one disk multiple partitions.
-
Is this is multi-boot system (Windows and Linux?)
-
Yes. Well, NTFS and ext partitions, as windows isn’t installed yet.
-
That’s a kink I’ve yet to figure out. It has to create the partitions before it tries to restore the partitions. I don’t know how this is completed as the scripts used for the deploy process are:
[code] elif [ “$imgType” = “mps” ]; then
# Restore multipartion for single drive
echo -n " * Looking for Hard Disks…“;
#disk=fogpartinfo --list-devices 2>/dev/null | cut -d' ' -f 1
getHardDisk;
echo “Done”;
echo " * Using Hard Disk: $hd”;if [ -n "$hd" ] then # check image if [ -d "$imagePath" ] then tmpMBR="${imagePath}/d1.mbr"; if [ -f "$tmpMBR" ] then echo -n " * Restoring MBR..............................."; dd if=$tmpMBR of=$hd &>/dev/null if [ "$osid" == "50" ] then fdisk $hd &>/dev/null << EOFLINUXFIX
w
EOFLINUXFIX
fi
echo “Done”;echo -n " * Checking hard disks........................."; runPartprobe; echo "Done"; parts=`fogpartinfo --list-parts $hd 2>/dev/null` diskLength=`expr length $hd`; for part in $parts do partNum=${part:$diskLength}; echo " * Processing Partition: $part (${partNum})"; sleep 1; imgpart="${imagePath}/d1p${partNum}.img"; if [ "$osid" == "50" ]; then echo " * Preparing linux filesystem..."; parted -s $hd -a opt &>/dev/null << EOFPTD
mkfs
yes
$partNum
fat32
q
EOFPTD
runPartprobe;
sleep 10;
fi
if [ -f “$imgpart” ]; then
if [ “$mc” = “yes” ]; then
if [ “$partNum” == “2” ] && [ “$osid” == “6” ]; then
udp-receiver --nokbd --portbase ${port} --mcast-rdv-address ${storageip} 2>/dev/null | partclone.restore -O $part -N -f 1 2>/tmp/status.fog
elif [ “$partNum” == “3” ] && [ “$osid” == “6” ]; then
udp-receiver --nokbd --portbase ${port} --mcast-rdv-address ${storageip} 2>/dev/null | partclone.restore -O $part -N -f 1 2>/tmp/status.fog
else
udp-receiver --nokbd --portbase ${port} --mcast-rdv-address ${storageip} 2>/dev/null | partclone.restore -O $part -N -f 1 2>/tmp/status.fog
fi
else
export FOGSTATS=“1”;
if [ “$partNum” == “2” ] && [ “$osid” == “6” ]; then
pigz -d -c < $imgpart | partclone.restore -O $part -N -f 1 2>/tmp/status.fog
elif [ “$partNum” == “3” ] && [ “$osid” == “6” ]; then
pigz -d -c < $imgpart | partclone.restore -O $part -N -f 1 2>/tmp/status.fog
else
pigz -d -c < $imgpart | partclone.restore -O $part -N -f 1 2>/tmp/status.fog
fi
fi
else
echo " * Partition File missing: $imgpart";
sleep 9;
fi
sleep 1;
clearScreen;
echo " * Image Restored";
done
if [ “$osid” == “50” ]
then
echo " * Restore Linux swap paritions:“;
swaps=LANG=C fdisk -l | grep swap | cut -d' ' -f1 2>/dev/null
;
IFS=’
';
for x in $swaps
do
echo " * Restoring partition: $x”;
mkswap $x &>/dev/null
donefi echo ""; echo " * Task complete!"; echo ""; else handleError "Image Store Corrupt: Unable to locate MBR."; fi else handleError "Unable to locate image store."; fi else handleError "Fatal Error: Disk device not found!"; fi[/code]
You’ll notice it doesn’t create the partitions itself, it uses the MBR of the system to generate the partition table for this block.
My guess is something is wrong with the DD command creating the backup MBR during the upload process.
-
I don’t understant the osid variable, if it’s multipartition and it can hold multiple os, for what is $osid?
I can’t test until monday, but, it’s supposed to exist a [FONT=Consolas]/tmp/status.fog where I can check errors?[/FONT]
-
/tmp/status.fog is the location for the progress information on the client side. fog.statusreporter looks at the data in the file, sends it to the fogserver then clears it out for the next iteration.
The osid, I think, is more for specialized cases. If its a pure linux system it needs to create the parts in the right places before upload can begin, hence the OSID in place for 50. Otherwise, it doesn’t appear to care.
-
[quote=“Tom Elliott, post: 21867, member: 7271”]r1137 released.
Had to make tweak to blkid in fog script. Should work more fluidly with this method.
From the commit comments: “Make (hopefully) final tweak in partclone stuffs on fog script. Not done updating fog script, just hopefully done with partclone tweaks.”
I hope you know that just means I’m done, at least for now, with partclone methods. I will continue editing the fog script, and I hope to use partclone for dd (raw) imaging types in the future.[/quote]
i tryed to do a upload of a pc with:
sda1 ntfs
sda2 ext4
sda3 swapthe first partition works, and also the swap.
the ext4 partition don’t work, i think the cause is because blkid command returns ext2 ext3 ext4 and the partclone.extfs command is not called.
So i created 3 symlink in /usr/sbin on the client:
ln -s partclone.extfs partclone.ext2
ln -s partclone.extfs partclone.ext3
ln -s partclone.extfs partclone.ext4but not works.
is possible to modify the script to make 3 different log in /var/log/partclone_[DATETIME].log ? to debug? i find only the 3th launch of partimage in the log
-
can you give me exact output of blkid for ext4 stuff?
-
[quote=“Tom Elliott, post: 21886, member: 7271”]can you give me exact output of blkid for ext4 stuff?[/quote]
i added ${partNum} to /tmp/status.fog, now i see what appens, and what command is launched for 2nd partclone commandif not sufficient i add also debug at zero level to partimage arguments
-
[quote=“fabritrento, post: 21888, member: 21607”]i added ${partNum} to /tmp/status.fog, now i see what appens, and what command is launched for 2nd partclone command
if not sufficient i add also debug at zero level to partimage arguments[/quote]
the error is when says calculating bitmap progress
contenent of /var/log/blkid.tab:
<device DEVNO=“0x0801” TIME=“1390579226.27383” UUID=“E6282FE0282FAF0D” TYPE=“ntfs”>/dev/sda1</device>
<device DEVNO=“0x0802” TIME=“1390579226.67856” UUID=“48b78e27-9a6e-4aab-a9b2-a4d2a50026f8” TYPE=“ext4”>/dev/sda2</device>
<device DEVNO=“0x0803” TIME=“1390579226.131478” UUID=“65b19640-5de4-4e1b-ba5e-105f6dbcc8cc” TYPE=“swap”>/dev/sda3</device> -
Hey Tom,
So it looks like
Basic task > Advanced > Inventory hardware does not work properly when the computer reboots it give invilad mac address and screws up the database. I have learned my lession and now make backups of all of my databases
Also any reason why DNS won’t resolve the host names in the data base if i can ping them successfully?
-
Because DNS records needs to be attached somewhere. Your basic network generally doesn’t store the DNS Hostnames. Windows DNS Servers tend to attach the netbios name and stores it within the dns server which is why it works in command prompt. So theoretically, this would work if your DNS Server IP is the same dns ip you use on your fog server AND the main DNS (/etc/resolv.conf) on your fog server uses this dns as well.
The other caveat to that is the Windows systems need the firewall elements either off, or enabled for hostname translation.
-
@Fabritreno,
My guess is the fstype isn’t working completely correct at this point.
ext4 should be able to find bitmap, but it could also be that the partitions are in LVM format and the extra parts you’re getting errors on don’t contain the bitmap information because they’re, technically, not in containment of bitmap.
-
[quote=“fabritrento, post: 21891, member: 21607”]the error is when says calculating bitmap progress
contenent of /var/log/blkid.tab:
<device DEVNO=“0x0801” TIME=“1390579226.27383” UUID=“E6282FE0282FAF0D” TYPE=“ntfs”>/dev/sda1</device>
<device DEVNO=“0x0802” TIME=“1390579226.67856” UUID=“48b78e27-9a6e-4aab-a9b2-a4d2a50026f8” TYPE=“ext4”>/dev/sda2</device>
<device DEVNO=“0x0803” TIME=“1390579226.131478” UUID=“65b19640-5de4-4e1b-ba5e-105f6dbcc8cc” TYPE=“swap”>/dev/sda3</device>[/quote]i resolved editing the partclone row, and cut the “-N -f 1” occurences (ncurses interface and refresh to 1). in this way (i don’t understand why at the moment) works
-
Please see attached for 2 files which resolve ( I hope ), the problems with capone.
they are
/fog/management/plugins/run.php
and
/fog/service/capone.php[url=“/_imported_xf_attachments/0/517_run.zip?:”]run.zip[/url]
-
tom,
is there a problem with how long the pc name can be?
-
Can be 15 characters long. It auto truncates to 15. It also checks that the hostname doesn’t already exist why?
-
because I have a computer named scanningstation and when I do that and submit a task it messes up the database I had to restore maybe three times now because of it I am trying to figure out what actually triggers it. I am not sure if it is because I am trying to enter the pc manually or if its something else.
-
jbsclm,
It appears that the FOG_NFS_DATADIR is removed from the database in this current version. My guess is it’s expected to get the information of this from the storage node class file. More dynamic I suppose but easy to miss. I’m sorry I missed it while coding, I didn’t know it wasn’t in the database anymore.
I’ve just modified the capone.php service file to use the Capone class and obtain the information relevant to how this worked.
-
r1140 released.
Should fix run.php and capone.php only in the proper order now.
Hopefully this helps you out jbsclm. Please test it, there’s a lot of differences.