wiki:FAQ

Version 23 (modified by bruno, 12 years ago) (diff)

--

Q1/ You have problems with tape and mondo?

Try setting the blocksize Use -b 8192 with mondoarchive command and then during restore use at the CLI the following:

mt -f /dev/st0 setblk 8192 

Different drives use different default block sizes, so experimentation with the number may be required.

Q2/ Why isn't mondorescue working for fedora core 4 and XFS?

Answer provided by Paulius Pazera (ppp_at_glds.com)
'strip xfs.ko' causes problems, makes module unloadable. Had to disable StripExecutable? in /sbin/mindi to make it work. Most like it's fc4 issues.

Q3/ Can I use mondorestore in a Microsoft Virtual Server environment?

Answer provided by Albert Smith (albert.smith_at_genexservices.com)
I have had sucess doing a mondo restore into Microsoft Virtual Server using IDE instead of SCSI. Apparently the virtual scsi controller does not play nice with RHEL3 or 4 using the AIC7XXX or AIC7XXX_OLD it goes into a continual reset.

Since I was coming from a SCSI enviornment to an IDE enviornment I had to boot via the mondorescue iso and go into Expert mode.

Build all LVM and non LVM partitions manually including swap devices and format them. Then load mondorestore and choose the interactive mode.

Modify the mountpoints to point to the new hard drive in this case hda
DO NOT FORMAT THE MOUNTPOINTS
DO NOT ALLOW MONDO TO PARTITION EITHER

Then perform the restore it should all work fine. It did for me.

Q4/ How do I create my mindi Failsafe kernel?

First you need to work with a kernel+modules supporting your hardware both at backup and at restore time. Then copy your kernel under /usr/share/mindi/vmlinuz and create a tar file compressed with bzip2 called lib.tar.bz2 containing all your modules from /lib Example:

# cd /usr/share/mindi 
# cp /boot/vmlinuz-x.y.zz vmlinuz 
# tar cfj lib.tar.bz2 /lib/modules/x.y.zz 

(where x.y.zz is your kernel version)

Q5/ How do I restore my mondorescue set on a new hardware platform?

First you need to understand that mondoarchive will create your bootable backup set using your running kernel, or the one you precise or a failsafe kernel. Then, whatever you choose, that kernel should be able to support during the boot phase of your mondorestore step your new hardware. Which means either you create a monolithic kernel containing all the drivers needed for that (mainly IDE, SATS, SCSI, RAID controller and/or network drivers if PXE or NFS restore) or you ensure that the right drivers will be loaded during the restore phase by adding them to your /etc/modules.conf file or whatever it is for your distribution.

A detailed documentation describing such a process is available at http://mondorescue.berlios.de/docs/HOWTO-_Deploy_Linux_from_SCSI_to_SATA.pdf

Thanks to Francois-Xavier.Horel_at_hp.com.

Q6/ Does mondorescue handle LVM2 ?

Answer reported by Klaus Ade Johnstad <klaus_at_skolelinux.no>. Short answer is Yes. Now if you encounter a problem with it, it might be due to the fact that older versions of mondorescue didn't support correctly the usage of /dev/mapper/vg*. So you needed to adapt your /etc/fstab in order to make mondorescue happy, as here:

Original /etc/fstab:

/dev/mapper/vg_system-lv_var /usr ext3 defaults 0 2 
/dev/mapper/vg_system-lv_usr /var ext3 defaults 0 2 

Modified /etc/fstab:

/dev/vg_system/lv_usr /usr ext3 defaults 0 2 
/dev/vg_system/lv_var /var ext3 defaults 0 2 

Q7/ Why does mondo 2.10/mindi 1.10 gives an error message ?

These versions are NOT maintained anymore and should NOT be used. Refer to the development paragraph upper.

Q8/ Can I restore some folders from an ISO image without burning it and booting from the CD?

Sure, Run /usr/sbin/mondorestore from the command-line prompt (without booting from the CD) then you should be able to select ISOs as a source & choose the files to restore. (Answer from Hugo Rabson hugorabson_at_sbcglobal.net) Sure, Loop mount the iso image, then find the files you need in the afio balls and restore them. (Answer from Mark Nienberg mark_at_tippingmar.com)

Q9/ Can I manually restore a Linux server with an mdadm-created RAID1?

Note that with mondo > 2.2.1 this should not be required.

Solution provided by Christian von Stebut <christian_at_von.stebut.org> While the steps worked for me, please keep in mind that I'm not a guru. So if you have any suggestions for improvement, please tell me. You'll find some remarks and todos in the notes, please add, delete and comment to your liking.

Basically, I add mdadm and some other files to the image and start restoring manually using "expert". Once the RAID has been manually created, I then continue with an interactive restore, being careful not to partition and format the disks again. At the end follows a manual grub installation - I haven't gotten it to work automatically.

Here are the steps:

Pre-Backup Phase

Save partition tables

t0e1:~# sfdisk -d /dev/sda > /sda_ptable 
t0e1:~# sfdisk -d /dev/sdb > /sdb_ptable 

Add Needed Files to mindi Bootimage

Edit /etc/mindi/deplist.txt

18 #----------------- STUFF ADDED BY THE USER ---------------------------- 
19 #---vvvv vvvv vvvv list your stuff here! vvvv vvvv vvvv 
20 # 
21 mdadm grub grub-install sfdisk /sda_ptable /sdb_ptable 
22 # 
23 #---^^^^ ^^^^ ^^^^ list your stuff here! ^^^^ ^^^^ ^^^^ 
24 #---------------------------------------------------------------------- 

(Not sure about the following. The LVMFILES: without # looked strange, so I added one)

89 #--------- For all you LVM users out there, much love ----------------- 
90 #LVMFILES: 

Start mondoarchive

t0e1:~# mkdir -p /var/backups/mondo/t0e1/051025_2327 
t0e1:~# mondoarchive -9 -Oi -s4500m -S /tmp -T /tmp -F -E "/tmp /mnt /backup /var/backups" -d /backup/t0e1/051025_2327 

Restore Phase Restore Image on Target Server Boot "expert"

Modify /tmp/mountlist.txt Get rid of "/dev/sda(i) raid raid number" entries There should only be the /dev/md(i) entries left.

Create RAID1 Devices

Zero Superblock If old disks, which have previously been a member of another array, are used to build the new array, then the superblock present on the disks has to be deleted. This can be done with mdadm --zero-superblock DEVICE. On the VM, PATA disks are used, so DEVICE = /dev/hd{a,b}{1,2,3,4} On a real machine with SATA disks, DEVICE = /dev/sd{a,b}{1,2,3,4} For example

mdadm -zero-superblock /dev/hda1 

The disks need to be partitioned, with a type of fd (Linux raid). To create the partitions with sfdisk:

sfdisk /dev/hda < /sda_ptable 
sfdisk /dev/hdb < /sdb_ptable 

!ToDo: sfdisk doesn't like the partition and will not create without --force. If forced, it will grumble about partitions not ending at cylinder boundaries. How to automate correctly? (Maybe have a look at how mondo does it presently)

Remark: sfdisk --no-reread can be used to disregard existing file systems on disks.

Now the raid devices can be created:

mdadm --create --run /dev/md0 --level 1 --raid-devices=2 /dev/sda1 /dev/sdb1 
mdadm --create --run /dev/md1 --level 1 --raid-devices=2 /dev/sda2 /dev/sdb2 
mdadm --create --run /dev/md2 --level 1 --raid-devices=2 /dev/sda3 /dev/sdb3 
mdadm --create --run /dev/md3 --level 1 --raid-devices=2 /dev/sda4 /dev/sdb4 

Remark (excerpt from "mdadm --create --help): Before devices are added, they are checked to see if they already contain raid superblocks or file systems. They are also checked to see if the variance in device size exceeds 1%. If any discrepancy is found, the user will be prompted for confirmation before the array is created. The presence of a '--run' can override this caution

!ToDo: This will take some time. If scripted, how does one detect the end of the process?

Remark: Resync on t0e1: about 25 min; resync on virtual machine: about 35 min.

Remark: Failure due to not enough disk space on VS. If there is not enough space left on the Virtual Server disk to grow the 2nd disk during resync, the process will fail and the disk in question is marked as failed. Steps to recover:

  1. Get enough disk space on VS.
  2. Remove failed drive from array with "mdadm --manage /dev/md3 -r /dev/hdb4"
  3. Add drive back to array with "mdadm /dev/md3 -a /dev/hdb4"

Format RAID1 Devices

mkfs.ext2 /dev/md0 
mkswap /dev/md1 
mkfs.ext2 /dev/md2 
mkfs.ext2 /dev/md3 

Restore System Interactively

Start interactive restore

mondorestore

  1. Interactive
  2. DVD
  3. Check mountlist, shouldn't need any changes, because it was adjusted in a previous step. The mountlist should just contain /dev/md(i) entries. Continue with "Yes"
  4. Do NOT partition
  5. Do NOT format
  6. Do copy all data to disk (estimated time: about 32 min)
  7. Do NOT install boot loader (this will be done manually)
  8. Do Label Disks (not sure on this one)

Install and configure Grub

Mount the restored devices

Edit /tmp/mountlist.txt to get rid of everything except the /dev/md(i) entries.

pico /tmp/mountlist.txt 

Mount the restored disks

/mondo/mount-me 

Prepare chroot

mount -t proc proc /mnt/RESTORING/proc 
cd /mnt/RESTORING 
chroot /mnt/RESTORING 

Install grub with grub

grub 
root (hd0,0) 
setup (hd0) 
root(hd1,0) 
setup (hd1) 
quit 

Check /boot/grub/menu.lst Check the file just to make sure it contains the entries needed to boot from raid. This should be the case, because the original system booted off raid.

Adjust /etc/mdadm/mdadm.conf Delete all lines except the first in /etc/mdadm/mdadm.conf First line should be something like

DEVICE /dev/sda* /dev/sdb* (or DEVICE /dev/hda* /dev/hdb*) 
mdadm -detail -scan >> /etc/mdadm/mdadm.conf 

Reboot

Remove image disk from machine

Leave chroot

exit

Unmount restored disks

cd / 
/mondo/unmount-me 

Restart System

Exit

Q10/ Does mondo work with SuSE distributions?

Yes, but you may need help from mike. Look at DistributionPackaging

Q11/ Does mondo work with Debian distributions?

Yes, your best bet are the official Debian packages. Andree, the Debian maintainer, is usually also on the mailing list. Look at DistributionPackaging

Q12/ Why doesn't my LVM based system re-boot correctly after restore?

On older version (pre-2.2.1) It may be due to the fact that grub has not been restored correctly. Use the hint of Q9 for grub re-instalation. In short:

grub --batch 
root (hd0,0) 
setup (hd0) 

Q13/ After restore my Windows installation on NTFS is not bootable. I get an error saying "A disk read error occurred. Press Ctrl+Alt+Del to restart.". How do I get my windows back?

The solution for this is to use gparted (and possibly qtparted) to make the NTFS filesystem slightly smaller and then extend it to the partition size :again. The underlying issue is apparently that fdisk is writing incorrect :partition information. A proper fix is being worked on.

Q14/ I am getting the following error when running mondoarchive

"* glibc detected * free(): invalid next size (fast): 0x00000000005496a0 *" (or similar hex value). It hangs after that. What can I do? ==

This is a problem that may appear on Debian systems when the newt interface of mondoarchive is used. The workaround is to install package libfribidi0. See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=351367 for more in-depth information.

Other users may want to patch their mondo code (< 2.2.1) at libmondo-archive.c line 1083 by removing the free(tmp) which is at that line in that file.

Q15/ I need a pair of 1440kb boot + root floppies but they are not getting created. How can I get them?

There are in fact two things involved here: A bug in mindi and lack of documentation.

Before SVN revision 381 (branches) and 382 (trunk),respectively, mindi would delete 1440kb floppy images right after creation. So, this is fixed in mindi 1.0.7. Secondly, mindi may need to be forced to create 1440kb boot and root floppies. For this purpose, 'FORCE_DUAL_FLOPPIES=no' needs to be changed to 'FORCE_DUAL_FLOPPIES=yes' in mindi (around line 73 or so).

Q16/ Why does mondoarchive takes so long to backup my system?

It may be due to a huge sparse /var/log/lastlog file. In order to trim it, do the following (as root):

# rm -f /var/log/lastlog 
# touch /var/log/lastlog 
# chmod 600 /var/log/lastlog 

Above change looks like the coders method. Now the sysadmin method (the lazy one :) ) :

# > /var/log/lastlog

to avoid that issue in the future you may want to remove the nfsnobody user from /etc/passwd (uid -1)

Q17/ Why does mondoarchive fail saying "No space left on device" although df reports heaps of free space?

You may have run out of inodes on your filesystem. You can check this with "df -i"

Q18/ Why does mindi seg fault on Ubuntu?

There is a bug in the coreutils package in Ubuntu see https://launchpad.net/distros/ubuntu/+source/coreutils/+bug/42264 and https://launchpad.net/distros/ubuntu/+source/coreutils/+bug/36036

Setting LC_ALL=C seem to fix the problem.

Solution provided by Yannick PEDRON.

Q19/ Why is there is no x86_64 RPM packages ? Should I use i386 RPM packages instead ?

I do not have regular access to an x86_64 machine for the moment. But you should NOT use i386 packages, as you'll encounter compatibility issues. You should instead download the src.rpm and rebuild them as per DistributionPackaging On Debian, you have x86_64 packages made as well as i386 packages.

Q20/ I get error messages like size 4096, block-18446744071562067968, b_blocknr=2147483648 what is the problem ?

You may be using a default minimum blocksize for RAM disks of 4k (Fedora kernel 2.6.18* and higher, e.g., RHEL5, ...) so try to add ramdisk_blocksize=1024 to your boot command at boot prompt of isolinux when booting your mondorescue media.

For example:

boot: interactive ramdisk_blocksize=1024

Another way to solve it is to edit the file /usr/sbin/mindi and add the ramdisk_blocksize to the line of additional boot parameters. Then make a new backup.

Solution provided by Kathy Durkin

Q21/ Why doesn't mindi work correctly on Ubuntu Dapper ?

It has been noticed that (K)(X)Ubuntu have seemed to stop including the

mtools package in their standard distros from Dapper onwards so those who use Ubuntu will have to "apt-get install mtools".

Solution provided by James D. Robinson

Q22/ Why doesn't mondorestore work correctly on OpenSuSE 10.2 ?

First, It seems that OpenSUSE 10.2 packaged mondo and mindi but did not include the now required mindi-busybox. Get it from ftp://ftp.mondorescue.org/suse/10.2 Second, ext2 capability isn't included in the OpenSuSE 10.2 kernel. Up to version 1.2.1 of mindi you may want to apply the following patch to /usr/sbin/mindi:

--- /usr/sbin/mindi     2007-01-20 17:05:51.000000000 +0100
+++ mindi       2007-01-20 17:04:52.000000000 +0100
@@ -2485,10 +2485,16 @@
        echo -en "..."
        dd if=/dev/zero of=$tempfile bs=1k count=$ramdisk_size &> /dev/null || Die "Not enough room for temporary ramdisk
(TurnTgzIntoRdz)"
        echo -en "..."
-       mke2fs -b 1024 -m 1 -i 2048 -F $tempfile >> $LOGFILE 2>> $LOGFILE
+#
+#      Changed 2 lines to make mindi work on OpenSuse 10.2, which has no ext2 support buildin
+#      so we use minix for the initrd. Jacob Wiersma (jw) 20.01.2007
+#
+#      mke2fs -b 1024 -m 1 -i 2048 -F $tempfile >> $LOGFILE 2>> $LOGFILE
+       mkfs.minix  $tempfile >> $LOGFILE 2>> $LOGFILE
        echo -en "..."
        mkdir -p $mountpoint
-       mount -t ext2 -o loop $tempfile $mountpoint || Die "Cannot loopmount $tempfile to $mountpoint! The reason may be
missing support for loopfs or ext2 (or both) in the running kernel."
+#      mount -t ext2 -o loop $tempfile $mountpoint || Die "Cannot loopmount $tempfile to $mountpoint! The reason may be
missing support for loopfs or ext2 (or both) in the running kernel."
+       mount -t minix -o loop $tempfile $mountpoint || Die "Cannot loopmount $tempfile to $mountpoint! The reason may be
missing support for loopfs or ext2 (or both) in the running kernel."
        echo -en "..."
        old_pwd=`pwd`
        cd $mountpoint

Solution reported by Jacob Wiersma

Q23/ My mondorestore disk doesn't boot how can I debug and get the log file ?

When debugging a mondorestore problem of this kind, it can be useful to also burn and use the mindi.iso image created by mindi in the archive process.

Solution provided by JeffS

Q24/ Why isn't mondoarchive not working on Mandriva 2007.1 ?

Up to 2.2.x, mondoarchive was using mkisofs and cdrecord as tools to manage ISO images. These tools are not provided anymore on Mandriva 2007.1 and have been replaced by tools from cdrkit.

You may want to turn around the problem by doing:

ln -sf /usr/bin/genisoimage /usr/local/bin/mkisofs
ln -sf /usr/bin/wodim /usr/local/bin/cdrecord

Q25/ Why is the network broken after restoring on Debian Etch ?

Could be a bug that mangles some file(s) in /etc/udev. Check this file

/etc/udev/rules.d/z25_persistent-net.rules

and verify that eth0 is assigned to the correct hardware address, that is MAC serial number.

Other files that may need verification, if they exist are

/etc/udev/rules.d/25-iftab.rules
/etc/iftab

Q26/ Why is my kernel doing a panic at restore time, when it works perfectly at archive time ?

Currently mindi forces the acpi mode to off. Version 3.x will allow you to change that in a configuration file. In the mean time if this causes a problem with your hardware platform, edit /usr/sbin/mindi and change the variable ADDITIONAL_BOOT_PARAMS at the begining to read:

ADDITIONAL_BOOT_PARAMS="apm=off devfs=nomount noresume selinux=0 barrier=off"