The following description shows resolutions to problems relevant to system disks on which the file systems / (root), /usr, and /var operates.
In one of the following circumstances, take the actions as indicated for the relevant situation.
(1) Create backup of root file system.
Explanation
Mirroring the system disk will protect data in case one of the physical disks crashes. However, to restore data damaged due to a critical fault as a result of multiple failures and so on or by an operational mistake, create backup data in advance.
Resolution
See "7.4.2 Backing Up [EFI]."
(2) System can be booted, but the system disk data is invalid.
Explanation
For some reason, the system disk data is invalid. You must restore data from the backup data created in advance.
Resolution
(3) System cannot be booted. (Failure of original boot disk)
Explanation
Even when you have the system disk mirrored, you may experience unsuccessful booting. For example, you may encounter such a problem when the file accessed during the booting process in the boot disk is physically damaged, or when a disk is swapped improperly.
If the console message of the unsuccessful boot disk indicates such is the case, try booting from the other boot disk, i.e. the mirror disk.
Resolution
1) From boot disk units displayed in the EFI boot manager's boot option selection screen, select a mirror disk and boot.
Among the SDX disk names, the top one is the original boot disk unit name and the others are the mirror disk names. When mirroring is configured with three-way or more multiplexing, multiple mirror disks exist. In the following example, Root1 is the original boot disk name and Root2 and Root3 are the mirror disk names.
EFI Boot Manager ver 1.10 Please select a boot option Root1 Root2 Root3 ... Use |
2) If booting is successful, find out what caused the original disk to fail, and recover the disk by swapping disks.
See
For details on disk swap, see "B.1.8 sdxswap - Swap Disk" and resolutions described in "7.3.1.2 Operation Procedure."
When the procedures above cannot resolve the problem, causes other than data errors in the original boot disk unit may exist, or data errors may also exist in the mirror disk.
If it would appear that data errors also exist in the mirror disk, see "(5) System cannot be booted. (Boot disk data damage)."
(4) System cannot be booted. (Failure of all boot disks)
Explanation
Even when you have the system disk mirrored, you may experience unsuccessful booting.
The following describes the restoration procedure when all the boot disks physically fail simultaneously.
For the following procedure, swap all the physical disks registered in a root class and restore the system disk data based on collected backups. Then, re-construct the mirroring configuration.
Also, this section explains how to perform the mirroring cancellation to boot the system without swapping a physical disk or restoring data of the system disk by assuming that booting cannot be performed by some abnormality other than a physical disk failure.
Note
Cancel the mirroring of the normal system disk by the procedure in "9.4 System Disk Mirroring Cancellation [EFI]."
Note
To perform restoration according to this procedure, you must collect the following information beforehand when setting the system disk mirroring:
Partition configuration of the system disk
Backup of the system disk
For details, see "6.5 System Disk Mirroring Settings [EFI]."
Resolution
Perform restoration according to the following procedure.
1) Swap all the physical disks registered in the root class. You must swap them according to the procedure defined for each device.
Skip this step if the disks do not have a failure.
2) Boot the system from a CD-ROM device.
3) Set the new system disk to the original partition configuration.
See
For details on the parted command, see the manual for the parted(8) command.
3-1) Start the parted command.
# parted /dev/sda |
3-2) Create the disk label (partition table) of the GPT type with the mklabel subcommand.
(parted) mklabel gpt |
3-3) Before setting the system disk mirroring, create a partition according to the partition configuration checked in step 1) in "6.5 System Disk Mirroring Settings [EFI]." Create the partition with the mkpart subcommand.
(parted) mkpart primary linux-swap 0.017 1024.000 (parted) mkpart primary ext3 1041.000 9233.000 (parted) mkpart primary ext3 9234.000 13330.000 (parted) mkpart primary ext3 13331.000 15379.000 (parted) mkpart primary ext3 15380.000 21380.000 (parted) mkpart primary ext3 21381.000 21581.000 (parted) mkpart primary fat16 21582.000 21782.000 |
3-4) Confirm that the partition configuration is the same as the one checked in step 1) in "6.5 System Disk Mirroring Settings [EFI]" with the print subcommand.
(parted) print
Disk geometry for /dev/sda: 0.000-35046.525 megabytes
Disk label type: gpt
Minor Start End Filesystem Name Flags
1 0.017 1024.000
2 1041.000 9233.000
3 9234.000 13330.000
4 13331.000 15379.000
5 15380.000 21380.000
6 21381.000 21581.000
7 21582.000 21782.000 fat16 |
Note
If a disk was not swapped in step 1), the private slice of GDS remains. At this time, if you execute the pint subcommand, the private slice of GDS is displayed. Among the partitions displayed by the print subcommand, the partitions excluding the partitions that were checked in step 1) of "6.5 System Disk Mirroring Settings [EFI]" is the private slice of GDS. In this case, delete the private slice of GDS with the rm subcommand of the parted command.
Example: When the partition number (displayed in Minor filed) is 8
(parted) rm 8 |
Note
For RHEL6(Intel64) or RHEL7(Intel64)
When a mirror destination disk is not replaced in step 1), remove all the partitions of the mirror destination disk.
Example: When the mirror destination disk is /dev/sdc
parted /dev/sdc (parted) rm 1 (parted) rm 2 (parted) rm 3 (parted) rm 4 (parted) rm 5 (parted) rm 6 (parted) rm 7 (parted) rm 8 |
3-5) Exit the parted command.
(parted) quit |
4) Restore the backup data collected in a tape medium and so on to each physical slice.
Take this step if the physical disk is swapped in step 1) or if the system disk data becomes invalid.
See
For the restoration, see the manuals of the OS, file systems to be restored and used commands.
5) Cancel the setting of the system disk mirroring.
The procedure differs depending on the OS version.
5a) For RHEL7 (Intel64)
5a-1) Mount the EFI system partition and the root partition.
In the following example, the /work/efi, /work/root, and /work/boot directories are used as temporary mount points.
# mkdir /work # mkdir /work/efi # mkdir /work/root # mkdir /work/boot # mount /dev/sda7 /work/efi # mount /dev/sda5 /work/root # mount /dev/sda6 /work/boot |
Information
If you have never performed the operation to update the initrd file (such as updating kernels) after mirroring the system disk, you can cancel the setting easily and quickly by performing the procedure "Editing procedure of the grub.cfg file when the initrd file is not updated." in Information described later instead of steps 5a-2) and 5a-3).
Execute this procedure only when you can ensure that the operation to update the initrd file has not been performed. In other cases, perform the following steps 5a-2) through 5a-12).
5a-2) Delete the information of GDS from the initrd file.
5a-2-1) Check the entry name.
Check the entry name described in the set default entry in the /work/efi/EFI/redhat/grub.cfg file.
# more /work/efi/EFI/redhat/grub.cfg ### BEGIN /etc/grub.d/00_header ### set pager=1 if [ -s $prefix/grubenv ]; then load_env fi if [ "${next_entry}" ] ; then set default="${next_entry}" set next_entry= save_env next_entry set boot_once=true else set default="GDS sysvol entry" fi |
5a-2-2) Check the initrd file name.
Check the initrd file name of the entry checked in step 5a-2-1) among the entries in the grub.cfg file.
In the following example, the initrd file name is initramfs-3.10.0-123.el7.x86_64.img.
# more /work/efi/EFI/redhat/grub.cfg |
(*1) Entry name checked in step 5a-2-1) (*2) initrd file name
5a-2-3) Create two work directories in the /work/root directory.
Create directories with different names from existing ones.
# mkdir /work/root/work_directory1 # mkdir /work/root/work_directory2 |
5a-2-4) Extract the initrd file to each work directory.
In the following procedure, extract the initrd file to the work directory created in step 5a-2-3.
If in the following procedure, the message "no space left on device" is output because the file system mounted on the /work/root does not have enough space, mount another file system with enough space. Also create work directories and then extract the initrd file.
1) Check that the initrd file contains Early CPIO image.
If "Early CPIO image" is output when the following command is executed, the initrd file contains Early CPIO image.
# /work/root/usr/bin/lsinitrd /work/boot/initramfs-3.10.0-123.el7.x86_64.img \ |
(*1) initrd file name checked in step 5a-2-2)
2) If the initrd file contains Early CPIO image, take the procedure below to extract the initrd file.
# cd /work/root/work_directory1 |
(*1) initrd file name checked in step 5a-2-2)
3) If the initrd file does not contain Early CPIO image, take the procedure below to extract the initrd file.
# cd /work/root/work_directory2 # gunzip -c /work/boot/initramfs-3.10.0-123.el7.x86_64.img | cpio -idm (*1) |
(*1) initrd file name checked in step 5a-2-2)
5a-2-5) Remove GDS drivers from extracted initrd.
# rm /work/root/work_directory2/lib/modules/3.10.0-123.el7.x86_64/extra/FJSVsdx-drvcore/sfdsksys.ko # rm /work/root/work_directory2/lib/modules/3.10.0-123.el7.x86_64/extra/FJSVsdx-drvcore/sfdsk_lib.ko |
5a-2-6) Remove shell scripts to read GDS drivers from extracted initrd.
Delete the following files if they exist:
/work/root/work_directory2/sbin/ins_sfdsksys.sh
/work/root/work_directory2/usr/lib/dracut/hooks/cmdline/01-parse-ins_sfdsksys.sh
# rm /work/root/work_directory2/sbin/ins_sfdsksys.sh |
5a-2-7) Compress edited initrd.
1) If the initrd file contains Early CPIO image in 1) of step 5a-2-4), take the procedure below to compress initrd.
# cd /work/root/work_directory1 # find . -print0 | cpio --null -H newc -o --quiet > /work/boot/initrd-new.img |
2) If the initrd file does not contain Early CPIO image in 1) of step 5a-2-4), take the procedure below to compress initrd.
# cd /work/root/work_directory2 # find . -print0 | cpio --null -H newc -o --quiet | gzip -9 > /work/boot/initrd-new.img |
5a-2-8) Delete the work directories created in the step 5a-2-3).
# cd / # rm -rf /work/root/work_directory1 # rm -rf /work/root/work_directory2 |
5a-2-9) Place the initrd file compressed in step 5a-2-7) in the EFI system partition.
Back up the initrd file checked in step 5a-2-2), and then place the initrd file compressed in step 5a-2-7) as the same name of the initrd file checked in step 5a-2-2).
# cd /work/boot # mv initramfs-3.10.0-123.el7.x86_64.img initramfs-3.10.0-123.el7.x86_64.img.gdsbak # mv /work/boot/initrd-new.img /work/boot/initramfs-3.10.0-123.el7.x86_64.img |
5a-3) Edit the grub.cfg file.
# vim /work/efi/EFI/redhat/grub.cfg |
Change the entry checked in step 5a-2-1) among the grub.cfg file entries as follows:
Example before edit
menuentry 'GDS sysvol entry' --class red --class gnu-linux --class gnu --class os --unrestricted { (*1) load_video set gfxpayload=keep insmod gzio insmod part_gpt insmod xfs insmod regexp regexp -s device '(hd[^,]+)' set root="$device,gpt2" linuxefi /vmlinuz-3.10.0-123.el7.x86_64 root=/dev/sfdsk/gdssys2 (*2) ro vconsole.keymap=jp106 crashkernel=auto vconsole.font=latarcyrheb-sun16 rhgb quiet LANG=ja_JP.UTF-8 rd.driver.post=sfdsksys (*3) initrdefi /initramfs-3.10.0-123.el7.x86_64.img } |
Example after edit
menuentry 'GDS sysvol entry' --class red --class gnu-linux --class gnu --class os --unrestricted { (*1) load_video set gfxpayload=keep insmod gzio insmod part_gpt insmod xfs insmod regexp regexp -s device '(hd[^,]+)' set root="$device,gpt2" linuxefi /vmlinuz-3.10.0-123.el7.x86_64 root=UUID=ef9cab98-5b1d-4fe2-89e6-4e1548778338 (*2) ro vconsole.keymap=jp106 crashkernel=auto vconsole.font=latarcyrheb-sun16 rhgb quiet LANG=ja_JP.UTF-8 initrdefi /initramfs-3.10.0-123.el7.x86_64.img } |
(*1) Entry name checked in step 5a-2-1) (*2) Change the root device name from the path of the GDS's logical volume to UUID. (Check UUID by executing the blkid command.) (*3) Delete the description of rd.driver.post=sfdsksys.
Information
If you have never performed the operation to update the initrd file (such as updating kernels) after mirroring the system disk in RHEL7 (Intel64) , you can cancel the setting easily and quickly by performing the following procedure instead of steps 5a-2) and 5a-3).
Check the entryname.
Check the entryname described in the set default entry in the /work/efi/EFI/redhat/grub.cfg file.
### BEGIN /etc/grub.d/00_header ###
set pager=1
if [ -s $prefix/grubenv ]; then
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="GDS sysvol entry"
fi |
Edit the grub.cfg file.
# vim /work/efi/EFI/redhat/grub.cfg |
Change the kernel image setting after setting the system disk mirroring defined in the grub.cfg file to a setting which does not mirror the system disk. The entry checkd in step 1 displayed is the kernel image setting after mirroring the system disk among entries in the grub.cfg file. Examples are shown below.
Example before edit
menuentry 'GDS sysvol entry' --class red --class gnu-linux --class gnu --class os --unrestricted { (*1) load_video set gfxpayload=keep insmod gzio insmod part_gpt insmod xfs insmod regexp regexp -s device '(hd[^,]+)' set root="$device,gpt2" linuxefi /vmlinuz-3.10.0-123.el7.x86_64 root=/dev/sfdsk/gdssys2 (*2) ro vconsole.keymap=jp106 crashkernel=auto vconsole.font=latarcyrheb-sun16 rhgb quiet LANG=ja_JP.UTF-8 rd.driver.post=sfdsksys (*3) initrdefi /initramfs-3.10.0-123.el7.x86_64.img (*4) } |
Example after edit
menuentry 'GDS sysvol entry' --class red --class gnu-linux --class gnu --class os --unrestricted {
(*1)
load_video
set gfxpayload=keep insmod gzio insmod part_gpt insmod xfs insmod regexp regexp -s device '(hd[^,]+)' set root="$device,gpt2" linuxefi /vmlinuz-3.10.0-123.el7.x86_64 root=UUID=ef9cab98-5b1d-4fe2-89e6-4e1548778338 (*2) ro vconsole.keymap=jp106 crashkernel=auto vconsole.font=latarcyrheb-sun16 rhgb quiet LANG=ja_JP.UTF-8 initrdefi /initramfs-3.10.0-123.el7.x86_64.img.gdsbak (*4) } |
(*1) Entry name checked in step 1 (*2) Change the root device name from the path of the GDS's logical volume to UUID. (Check UUID by executing the blkid command.) (*3) Delete the description of rd.driver.post=sfdsksys. (*4) Add .gdsbak for the final entry of the initrd file.
5a-4) Edit the fstab file.
# vim /work/root/etc/fstab |
Edit the mount setting lines of volumes in the root class described in the fstab file according to the partition configuration of the new system disk. Examples are shown below.
Example before edit
/dev/sfdsk/gdssys2 / ext3 defaults 1 1 /dev/sfdsk/gdssys5 /boot ext3 defaults 1 2 /dev/sfdsk/gdssys6 /boot/efi vfat defaults 0 0 /dev/sfdsk/gdssys3 /etc/opt ext3 defaults 1 2 /dev/sfdsk/gdssys32 /usr ext3 defaults 1 2 /dev/sfdsk/gdssys4 /var ext3 defaults 1 2 /dev/sfdsk/gdssys33 swap swap defaults 0 0 |
Example after edit
UUID=ef9cab98-5b1d-4fe2-89e6-4e1548778338 / ext3 defaults 1 1 UUID=d8355b07-2cae-4604-86d8-88e8fbcc5c54 /boot ext3 defaults 1 2 UUID=6580-6FA6 /boot/efi vfat defaults 0 0 UUID=965bac91-dfd0-471d-84c4-4fa10592c7c4 /etc/opt ext3 defaults 1 2 UUID=86ef50f9-aebd-4cf2-9244-24755655ffba /usr ext3 defaults 1 2 UUID=eec4b0e6-d9f7-4e3d-aee4-403f824d3f82 /var ext3 defaults 1 2 UUID=d340f796-dbcf-4e17-9876-0cd57b9f7722 swap swap defaults 0 0 |
5a-5) Edit the dracut.conf file. If the patch for PH15096 is applied, this procedure is not required.
# vim /work/root/etc/dracut.conf |
Delete the description of the GDS driver from the dracut.conf file.
Example before edit
... # install local /etc/lvm/lvm.conf lvmconf="yes" add_drivers+=" sfdsksys" (*1) |
Example after edit
... # install local /etc/lvm/lvm.conf lvmconf="yes" add_drivers+=" " (*2) |
(*1) Description of the GDS driver (*2) Leave one space for a single-byte character and delete sfdsksys.
5a-6) Edit the /etc/default/grub file.
Change the setting of GRUB_DEFAULT in the /etc/default/grub file.
Delete rd.driver.post=sfdsksys from the file as well.
# vim /work/root/etc/default/grub |
Example before edit
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT='GDS sysvol entry'
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="vconsole.keymap=jp106 crashkernel=auto
vconsole.font=latarcyrheb-sun16 rhgb quiet
rd.driver.post=sfdsksys"
GRUB_DISABLE_RECOVERY="true" |
Example after edit
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT='Red Hat Enterprise Linux Server, with Linux 3.10.0-123.el7.x86_64'
(*1)
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="vconsole.keymap=jp106 crashkernel=auto
vconsole.font=latarcyrheb-sun16 rhgb quiet
"
GRUB_DISABLE_RECOVERY="true" |
(*1) Kernel version that is included in the initrd file name checked in step 5a-2-2)
5a-7) Remove the following directories if they exist:
/work/root/usr/lib/dracut/modules.d/90k_sfdsksys
# rm -rf /work/root/usr/lib/dracut/modules.d/90k_sfdsksys |
/work/root/etc/opt/FJSVsdx/bkup/grub
# rm -rf /work/root/etc/opt/FJSVsdx/bkup/grub |
5a-8) Change the permission of the root_mknod.sh file.
# chmod 400 /work/root/etc/opt/FJSVsdx/RootMirror/root_mknod.sh |
5a-9) Delete the information of GDS configuration databases set in the EFI environment variables.
# cd /sys/firmware/efi/vars/ # cat sysvol-db2-*/raw_var > del_var |
5a-10) Unmount the EFI system partition and the root partition.
# cd / # umount /work/efi # umount /work/root # umount /work/boot # rmdir /work/efi # rmdir /work/root # rmdir /work/boot |
5a-11) Restart the system.
# shutdown -r now |
5a-12) After the system is restarted, execute the following command to update the grub.cfg file.
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg |
5b) For RHEL6(Intel64)
5b-1) Mount the EFI system partition and the root partition.
In the following example, the /work/efi and /work/root directories are used as temporary mount points.
# mkdir /work # mkdir /work/efi # mkdir /work/root # mkdir /work/boot # mount /dev/sda7 /work/efi |
Information
If you have never performed the operation to update the initrd file (such as updating kernels) after mirroring the system disk, you can cancel the setting easily and quickly by performing the procedure "Editing procedure of the elilo.conf file when the initrd file is not updated." in Information described later instead of steps 5b-2) and 5b-3).
Execute this procedure only when you can ensure that the operation to update the initrd file has not been performed. In other cases, perform the following steps 5b-2) through 5b-10).
5b-2) Delete the information of GDS from the initrd file.
5b-2-1) Check the initrd file name.
Check the initrd file name described in the N(*)th entry among the grub.conf file entries.
(*)N = default value + 1
In the following example, the initrd file name is initramfs-2.6.32-71.el6.x86_64.img.
# more /work/efi/EFI/redhat/grub.conf default=1 (*1) timeout=5 splashimage=(hd0,1)/grub/splash.xpm.gz hiddenmenu title Red Hat Enterprise Linux (2.6.32-71.el6.x86_64) root (hd0,1) kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=UUID=ef9cab98-5b1d-4fe2-89e6-4e1548778338 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=ja_JP.UTF-8 KEYBOARDTYPE=pc KEYTABLE=jp106 crashkernel=128M initrd /initramfs-2.6.32-71.el6.x86_64.img title Red Hat Enterprise Linux (2.6.32-71.el6.x86_64)_gds_sysvol (*2) root (hd0,1) kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=/dev/sfdsk/gdssys2 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=ja_JP.UTF-8 KEYBOARDTYPE=pc KEYTABLE=jp106 crashkernel=128M rdinsmodpost=sfdsksys initrd /initramfs-2.6.32-71.el6.x86_64.img (*3) |
(*1) Default value (1 in this example) (*2) Target entry (devault value +1) (the second entry in this example) (*3) initrd file name (can be "initramfs-character_string-sysvol.img" file)
5b-2-2) Create a work directory in the /work/root directory and move to it.
Create a directory with a different name from existing ones.
# mkdir /work/root/work_directory # cd /work/root/work_directory |
5b-2-3) Extract the initrd file to the work directory.
# zcat /work/boot/initramfs-2.6.32-71.el6.x86_64.img | cpio -i -c |
(*1) initrd file name checked in step 5b-2-1) (can be "initramfs-character_string-sysvol.img" file )
If the message "no space left on device" is output because the file system mounted on the /work/root does not have enough space, mount another file system with enough space. Also create a work directory and then extract the initrd file.
5b-2-4) Remove GDS drivers from extracted initrd.
For RHEL6.0 environment, or for the patch for PH15096 is applied
# rm /work/root/work_directory/lib/modules/2.6.32-71.el6.x86_64/extra/FJSVsdx-drvcore/sfdsksys.ko # rm /work/root/work_directory/lib/modules/2.6.32-71.el6.x86_64/extra/FJSVsdx-drvcore/sfdsk_lib.ko |
For RHEL6.1 or later environment, and for the patch for PH15096 is not applied
# rm /work/root/work_directory/lib/modules/2.6.32-220.el6.x86_64/weak-updates/FJSVsdx-drvcore/sfdsksys.ko # rm /work/root/work_directory/lib/modules/2.6.32-220.el6.x86_64/weak-updates/FJSVsdx-drvcore/sfdsk_lib.ko |
5b-2-5) Remove shell scripts to read GDS drivers from extracted initrd.
Delete the following files if they exist:
/work/root/work_directory/sbin/ins_sfdsksys.sh
/work/root/work_directory/cmdline/20parse-ins_sfdsksys.sh
# rm /work/root/work_directory/sbin/ins_sfdsksys.sh |
For RHEL6.0, delete the following files as well.
/work/root/work_directory/sbin/insmodpost.sh
/work/root/work_directory/cmdline/20parse-insmodpost.sh
# rm /work/root/work_directory/sbin/insmodpost.sh # rm /work/root/work_directory/cmdline/20parse-insmodpost.sh |
5b-2-6) Compress edited initrd in the cpio format.
# cd /work/root/work_directory # find . | cpio --quiet -c -o | gzip -c > /work/boot/initrd-new.img |
5b-2-7) Delete the work directory created in step 5b-2-2).
# cd / # rm -rf /work/root/work_directory |
5b-2-8) Place the initrd file compressed in step 5b-2-6) in the EFI system partition.
If the initrd file name checked in 5b-2-1) is "initramfs-kerne_lversion.img" file.
Back up the initrd file checked in 5b-2-1) first, and then locate the initrd file compressed in 5b-2-6) with the same file name as the initrd file checked in 5b-2-1).
# cd /work/boot # mv initramfs-2.6.32-71.el6.x86_64.img initramfs-2.6.32-71.el6.x86_64.img.gdsbak # mv /work/boot/initrd-new.img /work/boot/initramfs-2.6.32-71.el6.x86_64.img |
If the initrd file name checked in 5b-2-1) is "initramfs-character_string-sysvol.img" file
To avoid overwriting the existing file, use a different name from the existing file.
# mv /work/boot/initrd-new.img /work/boot/initramfs-2.6.32-71.el6.x86_64-no_sysvol.img |
5b-3) Edit the grub.conf file.
# vim /work/efi/EFI/redhat/grub.conf |
Change the N(*)th entry among the grub.conf file entries as follows:
(*)N = default value + 1
Example before edit
default=1 (*1) timeout=5 splashimage=(hd0,1)/grub/splash.xpm.gz hiddenmenu title Red Hat Enterprise Linux (2.6.32-71.el6.x86_64) root (hd0,1) kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=UUID=ef9cab98-5b1d-4fe2-89e6-4e1548778338 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=ja_JP.UTF-8 KEYBOARDTYPE=pc KEYTABLE=jp106 crashkernel=128M initrd /initramfs-2.6.32-71.el6.x86_64.img title Red Hat Enterprise Linux (2.6.32-71.el6.x86_64)_gds_sysvol (*2) root (hd0,1) kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=/dev/sfdsk/gdssys2 (*3) rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=ja_JP.UTF-8 KEYBOARDTYPE=pc KEYTABLE=jp106 crashkernel=128M rdinsmodpost=sfdsksys (*4) initrd /initramfs-2.6.32-71.el6.x86_64.img (*5) |
Example after edit
default=1 (*1) timeout=5 splashimage=(hd0,1)/grub/splash.xpm.gz hiddenmenu title Red Hat Enterprise Linux (2.6.32-71.el6.x86_64) root (hd0,1) kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=UUID=ef9cab98-5b1d-4fe2-89e6-4e1548778338 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=ja_JP.UTF-8 KEYBOARDTYPE=pc KEYTABLE=jp106 crashkernel=128M initrd /initramfs-2.6.32-71.el6.x86_64.img title Red Hat Enterprise Linux (2.6.32-71.el6.x86_64)_gds_no_sysvol (*2) root (hd0,1) kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=UUID=ef9cab98-5b1d-4fe2-89e6-4e1548778338 (*3) rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=ja_JP.UTF-8 KEYBOARDTYPE=pc KEYTABLE=jp106 crashkernel=128M (*4) initrd /initramfs-2.6.32-71.el6.x86_64.img (*5) |
(*1) Default value (1 in this example). (*2) Change the title of (devault value +1) entry (the second entry in this example) from _gds_sysvol to _gds_no_sysvol. (*3) Change the root device name from the path of the GDS's logical volume to UUID. (Check UUID by executing the blkid command.) (*4) Delete the description of rdinsmodpost=sfdsksys. (*5) If the initrd value is different from the initrd file name located in 5b-2-7), change initrd to the initrd file name locate in 5b-2-7).
Information
If you have never performed the operation to update the initrd file (such as updating kernels) after mirroring the system disk in RHEL6(Intel64), you can cancel the setting easily and quickly by performing the following procedure instead of steps 5b-2) and 5b-3).
Edit the grub.conf file.
# vim /work/efi/EFI/redhat/grub.conf |
Change the kernel image setting after setting the system disk mirroring defined in the grub.conf file to a setting which does not mirror the system disk. The N(*)th entry among the entries in the grub.conf file is the setting of the kernel image after the system disk mirroring is set.
(*)N = default value + 1
Example before edit
default=1 (*1) timeout=5 splashimage=(hd0,1)/grub/splash.xpm.gz hiddenmenu title Red Hat Enterprise Linux (2.6.32-71.el6.x86_64) root (hd0,1) kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=UUID=ef9cab98-5b1d-4fe2-89e6-4e1548778338 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=ja_JP.UTF-8 KEYBOARDTYPE=pc KEYTABLE=jp106 crashkernel=128M initrd /initramfs-2.6.32-71.el6.x86_64.img (*2) title Red Hat Enterprise Linux (2.6.32-71.el6.x86_64)_gds_sysvol (*3) root (hd0,1) kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=/dev/sfdsk/gdssys2 (*4) rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=ja_JP.UTF-8 KEYBOARDTYPE=pc KEYTABLE=jp106 crashkernel=128M rdinsmodpost=sfdsksys (*5) initrd /initramfs-2.6.32-71.el6.x86_64.img (*6) |
Example after edit
default=1 (*1) timeout=5 splashimage=(hd0,1)/grub/splash.xpm.gz hiddenmenu title Red Hat Enterprise Linux (2.6.32-71.el6.x86_64) root (hd0,1) kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=UUID=ef9cab98-5b1d-4fe2-89e6-4e1548778338 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=ja_JP.UTF-8 KEYBOARDTYPE=pc KEYTABLE=jp106 crashkernel=128M initrd /initramfs-2.6.32-71.el6.x86_64.img (*2) title Red Hat Enterprise Linux (2.6.32-71.el6.x86_64)_gds_no_sysvol (*3) root (hd0,1) kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=UUID=ef9cab98-5b1d-4fe2-89e6-4e1548778338 (*4) rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=ja_JP.UTF-8 KEYBOARDTYPE=pc KEYTABLE=jp106 crashkernel=128M (*5) initrd /initramfs-2.6.32-71.el6.x86_64.img (*6) |
(*1) Default value (1 in this example) (*2) The initrd file name before the system disk mirroring (*3) Change the title of (devault value +1) entry (the second entry in this example) from _gds_sysvol to _gds_no_sysvol. (*4) Change the root device name from the path of the GDS's logical volume to UUID. (Check UUID by executing the blkid command.) (*5) Delete the description of rdinsmodpost=sfdsksys. (*6) If the initrd value is differnt from (*2), change the initrd to the same value as (*2).
If (*2) and (*6) are the same value in "Example before edit" in step 1, change the name of the initrd file (initramfskernel_version.img.gdsbak) that is backed up by GDS when the system disk mirroring is set to the same file name as (*2) and (*6).
First, back up the initrd file. To avoid overwriting the existing file, use a different name from the existing file for the file name to be backed up (the second argement of the mv command).
# cd /work/boot # mv initramfs-2.6.32-71.el6.x86_64.img initramfs-2.6.32-71.el6.x86_64.img.bak.gdsbak |
Next, change the name of the initrd file that is backed up by GDS when the system disk mirroring is set to the same file name as (*2) and (*6).
# mv initramfs-2.6.32-71.el6.x86_64.img.gdsbak initramfs-2.6.32-71.el6.x86_64.img |
5b-4) Edit the fstab file.
# vim /work/root/etc/fstab |
Edit the mount setting lines of the volumes in the root class described in the fstab file according to the partition configuration of the new system disk. Examples are shown below.
Example before edit
/dev/sfdsk/System/dsk/root / ext3 defaults 1 1 /dev/sfdsk/System/dsk/boot /boot ext3 defaults 1 2 /dev/sfdsk/System/dsk/efi /boot/efi vfat defaults 0 0 /dev/sfdsk/System/dsk/opt /etc/opt ext3 defaults 1 2 /dev/sfdsk/System/dsk/usr /usr ext3 defaults 1 2 /dev/sfdsk/System/dsk/var /var ext3 defaults 1 2 /dev/sfdsk/System/dsk/swap swap swap defaults 0 0 |
Example after edit
UUID=ef9cab98-5b1d-4fe2-89e6-4e1548778338 / ext3 defaults 1 1 UUID=d8355b07-2cae-4604-86d8-88e8fbcc5c54 /boot ext3 defaults 1 2 UUID=6580-6FA6 /boot/efi vfat defaults 0 0 UUID=965bac91-dfd0-471d-84c4-4fa10592c7c4 /etc/opt ext3 defaults 1 2 UUID=86ef50f9-aebd-4cf2-9244-24755655ffba /usr ext3 defaults 1 2 UUID=eec4b0e6-d9f7-4e3d-aee4-403f824d3f82 /var ext3 defaults 1 2 UUID=d340f796-dbcf-4e17-9876-0cd57b9f7722 swap swap defaults 0 0 |
5b-5) Edit the dracut.conf file. If the patch for PH15096 is applied, this procedure is not required.
# vim /work/root/etc/dracut.conf |
Delete the description of the GDS driver from the dracut.conf file.
Example before edit
... # install local /etc/lvm/lvm.conf lvmconf="yes" add_drivers+=" sfdsksys" (*1) |
Example after edit
... # install local /etc/lvm/lvm.conf lvmconf="yes" add_drivers+=" " (*2) |
(*1) Description of the GDS driver (*2) Leave one space for a single-byte character and delete sfdsksys.
5b-6) Remove the following directories if they exist:
/work/root/usr/share/dracut/modules.d/96ins_sfdsksys
/work/root/usr/share/dracut/modules.d/96sfdsksys
# rm -rf /work/root/usr/share/dracut/modules.d/96ins_sfdsksys # rm -rf /work/root/usr/share/dracut/modules.d/96sfdsksys |
5b-7) Change the permission of the root_mknod.sh file.
# chmod 400 /work/root/etc/opt/FJSVsdx/RootMirror/root_mknod.sh |
5b-8) Delete the information of GDS configuration databases set in the EFI environment variables.
# cd /sys/firmware/efi/vars/ # cat sysvol-db-*/raw_var > del_var |
5b-9) Unmount the EFI system partition and the root partition.
# cd / # umount /work/efi # umount /work/root # umount /work/boot # rmdir /work/efi # rmdir /work/root # rmdir /work/boot # rmdir /work |
5b-10) Exit the rescue mode.
# exit |
5c) For RHEL4(IPF) or RHEL5(IPF)
5c-1) Mount the EFI system partition and the root partition.
In the following example, the /work/efi and /work/root directories are used as temporary mount points.
# mkdir /work # mkdir /work/efi # mkdir /work/root # mount /dev/sda7 /work/efi # mount /dev/sda5 /work/root |
Information
If you have never performed the operation to update the initrd file (such as updating kernels) after mirroring the system disk, you can cancel the setting easily and quickly by performing the procedure "Editing procedure of the elilo.conf file when the initrd file is not updated" in Information described later instead of steps 5c-2) and 5c-3).
Execute this procedure only when you can ensure that the operation to update the initrd file has not been performed. In other cases, perform the following steps 5c-2) through 5c-7).
5c-2) Delete the information of GDS from the initrd file.
5c-2-1) Check the initrd file name.
The initrd file name is described in the right-hand side of initrd= of the entry where the label value and the default value are the same among the elilo.conf file entries.
In the following example, the initrd file name is initrd-2.6.9-5.0.3.EL-sysvol_1.img.
# more /work/efi/efi/redhat/elilo.conf prompt timeout=20 default=2.6.9-5.0.3.EL_gds_sysvol (*1) relocatable image=vmlinuz-2.6.9-5.0.3.EL label=2.6.9-5.0.3.EL initrd=initrd-2.6.9-5.0.3.EL.img append="rhgb quiet root=LABEL=/" image=vmlinuz-2.6.9-5.0.3.EL label=2.6.9-5.0.3.EL_gds_sysvol (*2) initrd=initrd-2.6.9-5.0.3.EL-sysvol_1.img (*3) append="rhgb quiet root=/dev/sfdsk/System/dsk/rootVolume" |
(*1) Default label (*2) Consistent with the default label (*3) iinitrd file name
5c-2-2) Create a work directory and move to it.
Create a directory with a different name from existing ones.
# mkdir /work/root/work_directory # cd /work/root/work_directory |
5c-2-3) Extract the initrd file to the work directory.
If in the following procedure, the message "no space left on device" is output because the file system mounted on the /work/root does not have enough space, mount another file system with enough space. Also create the work directory and then extract the initrd file.
# zcat /work/efi/efi/redhat/initrd-2.6.9-5.0.3.EL-sysvol_1.img | cpio -i -c (*1) |
(*1) initrd file name checked in step 5c-2-1)
5c-2-4) Remove GDS drivers from extracted initrd.
# rm /work/root/work_directory/lib/sfdsk_lib # rm /work/root/work_directory/lib/sfdsksys |
5c-2-5) Remove shell scripts to read GDS drivers from the initrd script of the extracted initrd.
(1) Back up the init sctipt.
# cp /work/root/work_directory/init /work/efi/efi/redhat/init.org |
(2) Edit the init sctipt.
# vim /work/root/work_directory/init |
For RHEL5, Change the mkrootdev entry from the path of the / (root) logical volume to the physical slice name.
For RHEL4, this procedure is not necessary.
Example before edit
mkrootdev -t ext3 -o defaults,ro /dev/sfdsk/System/dsk/root
(*1) |
Example after edit
mkrootdev -t ext3 -o defaults,ro sda5
(*1) |
(*1) Change the mkrootdev entry from the path of the / (root) logical volume to the physical slice name
Delete all the lines which contain sfdsk.
Example of the deleted entries
mkdir -p /dev/sfdsk mkdir -p /dev/sfdsk/System mkdir -p /dev/sfdsk/System/dsk mknod /dev/sfdsk/System/dsk/efiVolume b 231 6 mknod /dev/sfdsk/System/dsk/bootVolume b 231 73 mknod /dev/sfdsk/System/dsk/optVolume b 231 71 mknod /dev/sfdsk/System/dsk/rootVolume b 231 2 mknod /dev/sfdsk/System/dsk/swapVolume b 231 72 mknod /dev/sfdsk/System/dsk/usrVolume b 231 74 mknod /dev/sfdsk/System/dsk/varVolume b 231 4 echo "Loading sfdsk" insmod /lib/sfdsk_lib insmod /lib/sfdsksys |
5c-2-6) Compress edited initrd in the cpio format.
# cd /work/root/work_directory # find . | cpio --quiet -c -o | gzip -c > /work/initrd-new.img |
Delete the work directory created in /work/root.
# cd / # rm -rf /work/root/work_directory |
5c-2-7) Place the initrd file compressed in step 5a-2-6) in the EFI system partition.
To avoid overwriting the existing file, use a different name from the existing file.
# cp /work/initrd-new.img /work/efi/efi/redhat/initrd-2.6.9-5.0.3.EL-no_sysvol_1.img |
5c-3) Edit the elilo.conf file.
# vim /work/efi/efi/redhat/elilo.conf |
Change the default value to the character string that shows the system disk is not mirrored by GDS.
Among the entries in the elilo.conf file, change the entry that contains the label value consistent with the default value as follows.
Example before edit
prompt timeout=20 default=2.6.9-5.0.3.EL_gds_sysvol (*1) relocatable image=vmlinuz-2.6.9-5.0.3.EL label=2.6.9-5.0.3.EL initrd=initrd-2.6.9-5.0.3.EL.img append="rhgb quiet root=LABEL=/" image=vmlinuz-2.6.9-5.0.3.EL label=2.6.9-5.0.3.EL_gds_sysvol (*2) initrd=initrd-2.6.9-5.0.3.EL-sysvol_1.img (*3) append="rhgb quiet root=/dev/sfdsk/System/dsk/rootVolume" (*4) |
Example after edit
prompt timeout=20 default=2.6.9-5.0.3.EL_no_sysvol (*1) relocatable image=vmlinuz-2.6.9-5.0.3.EL label=2.6.9-5.0.3.EL initrd=initrd-2.6.9-5.0.3.EL.img append="rhgb quiet root=LABEL=/" image=vmlinuz-2.6.9-5.0.3.EL label=2.6.9-5.0.3.EL_no_sysvol (*2) initrd=initrd-2.6.9-5.0.3.EL-no_sysvol_1.img (*3) append="rhgb quiet root=/dev/sda5" (*4) |
(*1) Change the default value from _gds_sysvol to _no_sysvol. (*2) Change the label value consistent with the default value before change to the value consistent with the default value after change. (*3) Change initrd to the initrd file name locate in 5b-2-7). (*4) Change the root device name from the path of the GDS's logical volume to the path of physical slice.
Information
If you have never performed the operation to update the initrd file (such as updating kernels) after mirroring the system disk in RHEL4(IPF) or in RHEL5(IPF), you can cancel the setting easily and quickly by performing the following procedure instead of steps 5c-2) and 5c-3).
Edit the elilo.conf file.
# vim /work/efi/efi/redhat/elilo.conf |
Change the kernel image setting after setting the system disk mirroring defined in the elilo.conf file to a setting which does not mirror the system disk. Among the kernel images, the one that contains the label value consistent with the default value is the kernal image after setting the mirroring of the system disk. Examples are shown below.
Example before edit
prompt timeout=20 default=2.6.9-5.0.3.EL_gds_sysvol (*1) relocatable image=vmlinuz-2.6.9-5.0.3.EL label=2.6.9-5.0.3.EL initrd=initrd-2.6.9-5.0.3.EL.img (*2) append="rhgb quiet root=LABEL=/" image=vmlinuz-2.6.9-5.0.3.EL label=2.6.9-5.0.3.EL_gds_sysvol (*3) initrd=initrd-2.6.9-5.0.3.EL-sysvol_1.img append="rhgb quiet root=/dev/sfdsk/RootClass/dsk/rootVolume" (*5) |
Example after edit
prompt timeout=20 default=2.6.9-5.0.3.EL_gds_no_sysvol (*1) relocatable image=vmlinuz-2.6.9-5.0.3.EL label=2.6.9-5.0.3.EL initrd=initrd-2.6.9-5.0.3.EL.img (*2) append="rhgb quiet root=LABEL=/" image=vmlinuz-2.6.9-5.0.3.EL label=2.6.9-5.0.3.EL_gds_no_sysvol (*3) initrd=initrd-2.6.9-5.0.3.EL.img (*4) append="rhgb quiet root=/dev/sda5" (*5) |
(*1) Change the default value from _gds_sysvol to _no_sysvol. (*2) The initrd file name before the system disk mirroring is set (*3) Change the label value consistent with the default value before change to the value consistent with the default value after change. (*4) Change initrd to the same value with the value in (*2). (*5) Change the root device name from the path of the GDS's logical volume to the path of physical slice.
5c-4) Edit the fstab file.
# vim /work/root/etc/fstab |
Edit the mount setting lines of the volumes in the root class described in the fstab file according to the partition configuration of the new system disk. Examples are shown below.
Example before edit
/dev/sfdsk/System/dsk/root / ext3 defaults 1 1 /dev/sfdsk/System/dsk/boot /boot ext3 defaults 1 2 /dev/sfdsk/System/dsk/efi /boot/efi vfat defaults 0 0 /dev/sfdsk/System/dsk/opt /etc/opt ext3 defaults 1 2 /dev/sfdsk/System/dsk/usr /usr ext3 defaults 1 2 /dev/sfdsk/System/dsk/var /var ext3 defaults 1 2 /dev/sfdsk/System/dsk/swap swap swap defaults 0 0 |
Example after edit
/dev/sda5 / ext3 defaults 1 1 /dev/sda6 /boot ext3 defaults 1 2 /dev/sda7 /boot/efi vfat defaults 0 0 /dev/sda4 /etc/opt ext3 defaults 1 2 /dev/sda2 /usr ext3 defaults 1 2 /dev/sda3 /var ext3 defaults 1 2 /dev/sda1 swap swap defaults 0 0 |
5c-5) Delete the information of GDS configuration databases set in the EFI environment variables.
# cd /sys/firmware/efi/vars/ # cat sysvol-db-*/raw_var > del_var |
5c-6) Unmount the EFI system partition and the root partition.
# umount /work/efi # umount /work/root # rmdir /work/efi # rmdir /work/root # rmdir /work |
5c-7) Exit the rescue mode.
# exit |
6) Add the new boot disk to a boot option of the EFI boot manager.
The procedure differs depending on the OS version.
6a) For RHEL6 (Intel64) or RHEL7 (Intel64)
6a-1) Select [Boot Maintenance Manager] in the boot option selection screen of the EFI boot manager.
6a-2) Select [Boot Option] (for PRIMEQUEST 1000 series) or [Boot Options] (for PRIMEQUEST 2000 series) in the Boot Maintenance Manager screen.
6a-3) Select [Add Boot Option] in the Boot Options screen.
6a-4) When the Add Boot Option screen is displayed, add the new boot disk to the boot option.
Select the device corresponding to /dev/sda from the device list.
For the method to recognize the device, see the manual of EFI.
After the contents in the root directory of the selected disk are displayed, select "EFI."
After the contents in the EFI directory are displayed, select "redhat."
After the contents in the redhat directory are displayed, select "grub.efi" (RHEL6) or "shim.efi" (RHEL7).
Select "Input the description."
Input a character string used for a label.
For example, input "New_sda" here.
Select "Commit Changes and Exit."
Input [Esc] to exit [Boot Maintenance Manager].
6a-5) Select [Boot Manager] in the boot option selection screen of the EFI boot manager.
6a-6) Select the label name input in 6. of step 6a-4) in the option selection screen and boot the system.
6b) For RHEL4(IPF) or RHEL5(IPF)
6b-1) Select [Boot option maintenance menu] in the boot option selection screen of the EFI boot manager.
6b-2) Select [Add a Boot Option] in the Main Menu screen.
6b-3) When the Add a Boot Option screen is displayed, add the new boot disk to the boot option.
Select the device corresponding to /dev/sda from the device list.
For the method to recognize a device, see the manual of EFI.
After the contents in the root directory of the selected disk are displayed, select "EFI."
After the contents in the EFI directory are displayed, select "redhat."
After the contents in the redhat directory are displayed, select "elilo.efi."
For the inquiry of Edit this Boot Option or Create a new one? [E-Edit N-New]:, input "N."
For the inquiry of Enter New Description:, input a character string to display as a selection target (boot option name) in the boot option selection screen.
For the inquiry of Enter BootOption Data Type [A-Ascii U-Unicode N-No BootOption]:, input "N."
For the inquiry of Save [Y-Yes N-No]:, input "Y."
Select [Exit] to exit [Add a Boot Option].
6b-4) Select [Exit] to exit the Main Menu screen.
6b-5) Select the boot option name input in 6. of step 6b-3) in the option selection screen and boot the system.
7) Delete the SDX disk items from the boot option of the EFI boot manager.
See
For details on the efibootmgr command, see the manual of efibootmgr command.
7-1) Check the current setting of the EFI boot manager.
# efibootmgr
BootCurrent: 0000
Timeout: 5 seconds
BootOrder: 0001,0002,0000
Boot0000* sda
Boot0001* RootDisk1
Boot0002* RootDisk2 |
In this example, the SDX disk items are RootDisk1 of the number 0001 and RootDisk2 of the number 0002.
7-2) Delete the SDX disk items from the boot option.
# efibootmgr -B -b 0001 BootCurrent: 0000 Timeout: 5 seconds BootOrder: 0002,0000 Boot0000* sda Boot0002* RootDisk2 # efibootmgr -B -b 0002 BootCurrent: 0000 Timeout: 5 seconds BootOrder: 0000 Boot0000* sda |
8) Reconfigure the system disk mirroring.
See
For details on the setting methods, see "6.5 System Disk Mirroring Settings [EFI]."
(5) System cannot be booted. (Boot disk data damage)
Explanation
For some reason, the system disk data is invalid. You must restore data from the backup data created in advance. If restoring data from the mirror disk was unsuccessful, follow the procedures shown below.
Resolution
(6) System cannot be booted. (Removing errata kernel) [RHEL7]
Explanation
After an errata kernel has been removed in an environment where the system disk is mirrored, and if the grub.cfg file is not updated by using the grub2-mkconfig command before the system is restarted, the system may not be started.
See
For notes on removing an errata kernel, see "7.16 Removing Errata Kernel [RHEL7]."
Resolution
To start the system, select the boot entry of "GDS sysvol entry for Red Hat Enterprise Linux Server, ..." format from the boot option selection screen of the EFI boot manager.
After the system is started, execute the grub2-mkconfig command to update the grub.cfg file.
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
If no boot entry exists in step 1 above, follow "(4) System cannot be booted. (Failure of all boot disks)" to restore the system. The disk is not necessary to be replaced at this time.
(7) System disk mirroring failed to be set. [RHEL7]
Explanation
While mirroring the system disk, a pop up message "Unmirroring system disk" may be displayed immediately after a pop up message "Mirroring system disk" is displayed.
In this case, the system disk mirroring fails to be set.
At the same time, the following message is output in the /var/log/messages file.
[Message]
kernel: efivars: set_variable() failed: status=-28 systemd-udevd: inotify_add_watch(X, /dev/sdXX, XX) failed: No such file or directory
This phenomenon occurs when available NVRAM is low.
Resolution
Add efi_no_storage_paranoia to the GRUB_CMDLINE_LINUX entry in the /etc/default/grub file.
(Example)
GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/root (...) crashkernel=auto efi_no_storage_paranoia"
Execute the grub2-mkconfig command.
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
Restart the system.
# shutdown -r now
Set the system disk mirroring
See
For how to set the system disk mirroring, see "6.5 System Disk Mirroring Settings [EFI]."
(8) System is not started after system disk is unmirrored. [RHEL6 or later]
Explanation
After the system disk is unmirrored, if the physical disk name (sdX) of the system disk is changed due to the device name change caused by a disk failure or other reason, a panic occurs when the system is started. In this case, system cannot be started.
This symptom occurs when GDS 4.3A40 or earlier is used, and the patch for PH04098 is not applied.
Resolution
Start the system from the CD-ROM device.
Mount the EFI system partition and the root partition of the system disk.
(Example)
In the example below, the EFI system partition is /dev/sda1 and the root partition is /dev/sda3 and they are mounted on the mount point created in the /work directory.
# mkdir /work # mkdir /work/efi # mkdir /work/root # mount /dev/sda1 /work/efi # mount /dev/sda3 /work/root |
Check the slice UUID of the system disk.
(Example)
When the system disk is /dev/sda.
# blkid | grep /dev/sda |
Rewrite the physical slice name in the fstab file to UUID.
(Example)
When the mount point of the root partition is /work/root.
# vim /work/root/etc/fstab |
Example before edit
/dev/sda3 / ext4 defaults 1 1 /dev/sda2 /boot ext4 defaults 1 2 /dev/sda1 /boot/efi vfat umask=0077,shortname=winnt 0 0 /dev/sda4 swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 |
Example after edit
UUID=5e259be1-7f86-4be8-99c2-5d35226fe1af / ext4 defaults 1 1 UUID=734f4577-7fc9-4125-9fe5-e15a68ff7421 /boot ext4 defaults 1 2 UUID=1E52-6CDC /boot/efi vfat umask=0077,shortname=winnt 0 0 UUID=47c05f17-157f-4266-8670-15bea1543d8b swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 |
For RHEL6, edit the grub.conf file.
5-1) Check the default value.
(Example)
When the mount point of the EFI system partition is /work/efi.
# cat /work/efi/EFI/redhat/grub.conf |
5-2) Rewrite the root device name to UUID.
Rewrite the root device name described in the N(*)th entry to UUID.
(*)N = default value + 1
(Example)
When the mount point of the EFI system partition is /work/efi.
# vim /work/efi/EFI/redhat/grub.conf |
Example before edit
title Red Hat Enterprise Linux (2.6.32-431.el6.x86_64)_gds_no_sysvol
root (hd0,1)
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/sda3
rd_NO_LUKS rd_NO_MD KEYBOARDTYPE=pc KEYTABLE=jp106
LANG=ja_JP.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet crashkernel=256M
nmi_watchdog=0 pcie_hp=nomsi trace_event=block:*,irq:*,mce:*,
sched:*,signal:*,workqueue:*,scsi:* trace_buf_size=25165824
initrd /initramfs-2.6.32-431.el6.x86_64.img |
Example after edit
title Red Hat Enterprise Linux (2.6.32-431.el6.x86_64)_gds_no_sysvol
root (hd0,1)
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro
root=UUID=5e259be1-7f86-4be8-99c2-5d35226fe1af
rd_NO_LUKS rd_NO_MD KEYBOARDTYPE=pc KEYTABLE=jp106
LANG=ja_JP.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet crashkernel=256M
nmi_watchdog=0 pcie_hp=nomsi trace_event=block:*,irq:*,mce:*,
sched:*,signal:*,workqueue:*,scsi:* trace_buf_size=25165824
initrd /initramfs-2.6.32-431.el6.x86_64.img |
For RHEL6, delete all the partitions of the disk that was the mirror destination of the system disk.
(Example)
When the mirror destination disk of the system disk is /dev/sdb.
# parted /dev/sdb (parted) print Model: LSI MR SAS 6G 1GB (scsi) Disk /dev/sdb: 299GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 1049kB 211MB 210MB fat16 boot 2 211MB 735MB 524MB ext4 3 735MB 54.4GB 53.7GB ext4 4 54.4GB 67.3GB 12.9GB linux-swap(v1) (parted) rm 1 (parted) rm 2 (parted) rm 3 (parted) rm 4 (parted) quit |
Start the system from the system disk.