#1809 Issue closed
: udevsettle command not found, server hangs¶
Labels: support / question
, fixed / solved / done
manums1983 opened issue at 2018-05-17 01:53:¶
Relax-and-Recover (ReaR) Issue Template¶
Fill in the following items before submitting a new issue
(quick response is not guaranteed with free support):
-
ReaR version ("/usr/sbin/rear -V"):
2.3 git -
OS version ("cat /etc/rear/os.conf" or "lsb_release -a" or "cat /etc/os-release"):
NAME="SLES" VERSION="12-SP2" VERSION_ID="12.2" PRETTY_NAME="SUSE Linux Enterprise Server 12 SP2" ID="sles" ANSI_COLOR="0;32" CPE_NAME="cpe:/o:suse:sles:12:sp2"
- ReaR configuration files ("cat /etc/rear/site.conf" or "cat /etc/rear/local.conf"):
# Begin example setup for SLE12-SP2 with default btrfs subvolumes. # Since SLE12-SP1 what is mounted at '/' is a btrfs snapshot subvolume # see https://github.com/rear/rear/issues/556 # and since SLE12-SP2 btrfs quota via "snapper setup-quota" is needed # see https://github.com/rear/rear/issues/999 # You must adapt "your.NFS.server.IP/path/to/your/rear/backup" at BACKUP_URL. # You must decide whether or not you want to have /home/* in the backup. # It depends on the size of your harddisk whether or not /home is by default # a btrfs subvolume or a separated xfs filesystem on a separated partition. # You may activate SSH_ROOT_PASSWORD and adapt the "password_on_the_rear_recovery_system". # For basic information see the SLE12-SP2 manuals. # Also see the support database article "SDB:Disaster Recovery" # at http://en.opensuse.org/SDB:Disaster_Recovery # In particular note: # There is no such thing as a disaster recovery solution that "just works". # Regarding btrfs snapshots: # Recovery of btrfs snapshot subvolumes is not possible. # Only recovery of "normal" btrfs subvolumes is possible. # On SLE12-SP1 and SP2 the only exception is the btrfs snapshot subvolume # that is mounted at '/' but that one is not recreated but instead # it is created anew from scratch during the recovery installation with the # default first btrfs snapper snapshot subvolume path "@/.snapshots/1/snapshot" # by the SUSE tool "installation-helper --step 1" (cf. below). # Other snapshots like "@/.snapshots/234/snapshot" are not recreated. # Create rear recovery system as ISO image: OUTPUT=USB #OUTPUT=ISO # Store the backup file via NFS on a NFS server: BACKUP=NETFS #BACKUP=DP # BACKUP_OPTIONS variable contains the NFS mount options and # with 'mount -o nolock' no rpc.statd (plus rpcbind) are needed: #BACKUP_OPTIONS="nfsvers=3,nolock" # If the NFS server is not an IP address but a hostname, # DNS must work in the rear recovery system when the backup is restored. BACKUP_URL=usb:///dev/disk/by-label/REAR-000 # Keep an older copy of the backup in a HOSTNAME.old directory # provided there is no '.lockfile' in the HOSTNAME directory: NETFS_KEEP_OLD_BACKUP_COPY=yes # Have all modules of the original system in the recovery system with the # same module loading ordering as in the original system by using the output of # lsmod | tail -n +2 | cut -d ' ' -f 1 | tac | tr -s '[:space:]' ' ' # as value for MODULES_LOAD (cf. https://github.com/rear/rear/issues/626): #MODULES_LOAD=( ) # On SLE12-SP1 and SP2 with default btrfs subvolumes what is mounted at '/' is a btrfs snapshot subvolume # that is controlled by snapper so that snapper is needed in the recovery system. # In SLE12-SP1 and SP2 some btrfs subvolume directories (/var/lib/pgsql /var/lib/libvirt/images /var/lib/mariadb) # have the "no copy on write (C)" file attribute set so that chattr is required in the recovery system # and accordingly also lsattr is useful to have in the recovery system (but not strictly required): REQUIRED_PROGS=( "${REQUIRED_PROGS[@]}" snapper chattr lsattr ) # Snapper setup by the recovery system uses /usr/lib/snapper/installation-helper # that is linked to all libraries where snapper is linked to # (except libdbus that is only needed by snapper). # "installation-helper --step 1" creates a snapper config based on /etc/snapper/config-templates/default COPY_AS_IS=( "${COPY_AS_IS[@]}" /usr/lib/snapper/installation-helper /etc/snapper/config-templates/default ) # Files in btrfs subvolumes are excluded by 'tar --one-file-system' # so that such files must be explicitly included to be in the backup. # Files in the following SLE12-SP2 default btrfs subvolumes are # in the below example not included to be in the backup # /.snapshots /var/crash # but files in /home are included to be in the backup. # You may use a command like # findmnt -n -r -o TARGET -t btrfs | grep -v '^/$' | egrep -v 'snapshots|crash' # to generate the values: BACKUP_PROG_INCLUDE=( /var/cache /var/lib/mailman /var/tmp /var/lib/pgsql /usr/local /opt /var/lib/libvirt/images /boot/grub2/i386-pc /var/opt /srv /boot/grub2/x86_64-efi /var/lib/mariadb /var/spool /var/lib/mysql /tmp /home /var/log /var/lib/named /var/lib/machines ) BACKUP_PROG_EXCLUDE=( "${BACKUP_PROG_EXCLUDE[@]}" "/var/crash" "/export/Doc" "/export/archive" "/usr/sap/hostctrl" "/home/oracle" "/home/oraprd" "/oracle" "/oracle/PRD" "/oracle/PRD/12102" "/oracle/PRD/mirrlogA" "/oracle/PRD/oraarch" "/oracle/PRD/origlogB" "/oracle/client" "/oracle/oraprd" "/oracle/stage" "/oracle/PRD/mirrlogB" "/oracle/PRD/origlogA" "/oracle/PRD/sapreorg" "/sapmnt/PRD" "/sapmnt/PRD/exe" "/usr/sap/PRD" "/usr/sap/SMD" "/usr/sap/tmp" "/oracle/PRD/sapdata1" "/oracle/PRD/sapdata2" "/oracle/PRD/sapdata3" "/oracle/PRD/sapdata4" "/oracle/PRD/sapdata5" "/oracle/PRD/sapdata6") EXCLUDE_RECREATE=( "${EXCLUDE_RECREATE[@]}" "fs:/var/crash" "fs:/export/Doc" "fs:/export/archive" "fs:/usr/sap/hostctrl" "fs:/home/oracle" "fs:/home/oraprd" "fs:/oracle" "fs:/oracle/PRD" "fs:/oracle/PRD/12102" "fs:/oracle/PRD/mirrlogA" "fs:/oracle/PRD/oraarch" "fs:/oracle/PRD/origlogB" "fs:/oracle/client" "fs:/oracle/oraprd" "fs:/oracle/stage" "fs:/oracle/PRD/mirrlogB" "fs:/oracle/PRD/origlogA" "fs:/oracle/PRD/sapreorg" "fs:/sapmnt/PRD" "fs:/sapmnt/PRD/exe" "fs:/usr/sap/PRD" "fs:/usr/sap/SMD" "fs:/usr/sap/tmp" "fs:/oracle/PRD/sapdata1" "fs:/oracle/PRD/sapdata2" "fs:/oracle/PRD/sapdata3" "fs:/oracle/PRD/sapdata4" "fs:/oracle/PRD/sapdata5" "fs:/oracle/PRD/sapdata6" ) # The following POST_RECOVERY_SCRIPT implements during "rear recover" # btrfs quota setup for snapper if that is used in the original system: POST_RECOVERY_SCRIPT=( 'if snapper --no-dbus -r $TARGET_FS_ROOT get-config | grep -q "^QGROUP.*[0-9]/[0-9]" ; then snapper --no-dbus -r $TARGET_FS_ROOT set-config QGROUP= ; snapper --no-dbus -r $TARGET_FS_ROOT setup-quota && echo snapper setup-quota done || echo snapper setup-quota failed ; else echo snapper setup-quota not used ; fi' ) # This option defines a root password to allow SSH connection # whithout a public/private key pair SSH_ROOT_PASSWORD="password" # Let the rear recovery system run dhclient to get an IP address # instead of using the same IP address as the original system: #USE_DHCLIENT="yes" # End example setup for SLE12-SP2 with default btrfs subvolumes.
-
System architecture (x86 compatible or POWER and/or what kind of virtual machine):
x86_64 -
Are you using BIOS or UEFI or another way to boot?
UEFI -
Brief description of the issue:
The server getting hung after it boots from the boot image which created by rear. Noticed it is an udevsettle issue.
Debug log captured:
++ grep -v grep ++ grep -q systemd-udev ++ my_udevtrigger ++type -p udevadm ++ udevadm trigger +++ ps --no-headers -C systemd ++[[ -n 1? 00:01:23 systemd ]] ++ sleep 1 ++ my_udevsettle ++ type -p udevadm ++ udevadm settle -- timeout=10 ++ udevsettle /etc/scripts/system-setup.d/00-fumction.sh: line 16: udevsettle: command not found ++ udevadm trigger --action=add ++ echo-n 'waiting for udev ...' waiting for udev ... ++ sleep 1 ++ my_udevsettle ++ type -p udevadm ++ udevadm settle --timeout=10 ++ echo done. done. ++ modeprobe -q dm-mod Press ENTER to run 41-load-special-modules.sh
- Work-around, if any: NO
manums1983 commented at 2018-05-17 02:05:¶
I have attached a dmesg out put. Appreciate you help in resolving
this.
gesprd1_ilo_logs_may2018 - Copy
(2).txt
[32m[ 2437.614241] [0m[33mhpsa 0000:02:00.0[0m: logical_reset scsi 0:1:0:0: Direct-Access HP LOGICAL VOLUME RAID-0 SSDSmartPathCap- En- Exp=1 qd=0
manums1983 commented at 2018-05-17 14:13:¶
work around:
Set the values "rd.udev.event-timeout=300 verbose showopts" in the Relax
and recover setparams. Then the restore is started using the command
"rear -d -Dv recover" from a putty session got successful.
The value ( rd.udev.event-timeout=300) given from the below tech note.
https://www.suse.com/support/kb/doc/?id=7022681
would there be any way we can put the value persistent in a rear script
to avoid the hang issue during the boot up.
jsmeix commented at 2018-05-17 14:16:¶
I wonder about the
/etc/scripts/system-setup.d/00-fumction.sh: line 16: udevsettle: command not found
message because there is no file in ReaR called 00-fumction.sh
.
In ReaR there is only this file:
usr/share/rear/skel/default/etc/scripts/system-setup.d/00-functions.sh
@manums1983
do you shomehow have a file 00-fumction.sh
or is that a typo?
Please post your
usr/share/rear/skel/default/etc/scripts/system-setup.d/00-f*
files here.
FYI:
udevsettle
is a very old way that is theer only as last fallback
nowadays udevadm settle
is used.
manums1983 commented at 2018-05-17 14:19:¶
That is a typo error. it is actually "00-functions.sh". please see in
the screenshots.
jsmeix commented at 2018-05-17 14:19:¶
You can add arbitrary kernel command line parameters for booting the
rescue/recovery system
by setting the KERNEL_CMDLINE config variable, see the documentation in
default.conf.
[Export of Github issue for rear/rear.]