Top
PRIMECLUSTER Global Disk Services  Configuration and AdministrationGuide 4.7

D.1.11 File System Error

For file system related errors, in one of the following circumstances, take the actions as indicated for the relevant situation.

(1) Restoring the file system created on the local volume

Explanation

This is the procedure to restore the file system created on the volume of the local class by using the fsck(8) command.

Take the same procedure when using the xfs_repair(8) command to restore the xfs file system.

Resolution

If the file system is located on the local volume, how to execute the fsck(8) command is equal to when restoring the file system created on the physical slice, with following three exceptions.

The following example shows the procedure when the class name is Class1, the volume name is Volume1, the mount point is /mount_point, and the file system type is ext4.

  1. Stop applications that use the target file system.

  2. Unmount the target file system if it is mounted.

    # umount /mount_point
  3. Start the target volume.

    If the volume is already started, skip this step.

    # sdxvolume -N -c Class1 -v Volume1
  4. Execute the fsck(8) command.

    When executing the fsck(8) command, specify the device special file of the target volume.

    # fsck -t ext4 /dev/sfdsk/Class1/dsk/Volume1

    See

    For more information such as fsck(8) command options, see the manual page of fsck(8).

(2) Restoring the file system created on the shared volume

Explanation

This is the procedure to restore the file system created on the volume of the shared class by using the fsck(8) command.

Take the same procedure when using the xfs_repair(8) command to restore the xfs file system.

Resolution

If the file system is located on the shared volume, how to execute the fsck(8) command is equal to when restoring the file system created on the physical slice, with following three exceptions.

The following example shows the procedure when the class name is Class1, the volume name is Volume1, the mount point is /mount_point, and the file system type is ext4.

Take any one of the following two procedures suitable for each case:

  1. The class is not registered to the cluster application.

  2. The class is registered to the cluster application.

a. The class is not registered to the cluster application.
  1. On all the nodes in the class scope, stop the applications that use the target file system.

  2. On all the nodes in the class scope, unmount the target file system.

    # umount /mount_point
  3. On all the nodes in the class scope, stop the target volume.

    Log in to any one of the nodes in the class scope, and execute the sdxvolume -F -e allnodes command.

    # sdxvolume -F -c Class1 -v Volume1 -e allnodes
  4. Start the target volume on any one of the nodes in the class scope.

    # sdxvolume -N -c Class1 -v Volume1
  5. Execute the fsck(8) command on the node where the volume has been started in step 4.

    When executing the fsck(8) command, specify the device special file of the target volume.

    # fsck -t ext4 /dev/sfdsk/Class1/dsk/Volume1

    See

    For more information such as fsck(8) command options, see the manual page of fsck(8).

b. The class is registered to the cluster application.
  1. Stop the applications that use the target class.

    See

    For how to stop the cluster application, see "PRIMECLUSTER Installation and Administration Guide."

  2. Start the target volume on any one of the nodes in the class scope.

    # sdxvolume -N -c Class1 -v Volume1
  3. Execute the fsck(8) command on the node where the volume has been started in step 2.

    When executing the fsck(8) command, specify the device special file of the target volume.

    # fsck -t ext4 /dev/sfdsk/Class1/dsk/Volume1

    See

    For more information such as fsck(8) command options, see the manual page of fsck(8).

  4. Stop the target volume on the node where the volume has been started in step 2.

    # sdxvolume -F -c Class1 -v Volume1

(3) Restoring the file system created on the root volume

Explanation

This is the procedure to restore the file system created on the volume of the root class by using the fsck(8) command.

Take the same procedure when using the xfs_repair(8) command to restore the xfs file system.

Resolution

a. Any file systems except / (root), /usr, and /var

For file systems except / (root), /usr, and /var, how to restore the file system is equal to when restoring the file system created on the local class volume.

For details on the procedure, see "(1) Restoring the file system created on the local volume."

b. / (root), /usr, and /var file systems

The / (root), /usr, and /var file systems cannot be unmounted during system operation. In this case, to execute the fsck(8) command, boot the system from the CD-ROM drive. Boot the system from the CD-ROM drive, execute the fsck(8) command for one of the mirrored physical slices, and then copy the data from that physical slice to another physical slice.

When taking this procedure to restore the file system created on the volume of the root class, check the following items when the system disk is registered to the root class, and write down them for later reference.

  • Physical disk information of the system volume

  • Slice number of the system volume

For details, see "6.5.4 Checking Physical Disk Information and Slice Numbers."

  1. Turn on the server, and insert the installation CD into the CD-ROM drive.

  2. From boot devices displayed in the boot option selection screen of the EFI boot manager, select the CD-ROM device, and boot the system in rescue mode. For details, see the OS manual.

    Note

    Do not mount a file system when booting in rescue mode in an environment where the system disk is mirrored.

  3. Check the physical slice name of the target file system to be restored among the / (root), /usr, and /var file systems.

    For the grep command arguments, specify the physical disk information confirmed in "6.5.4 Checking Physical Disk Information and Slice Numbers."

    # ls -l /sys/block/sd* | grep 0000:06:02.0 | grep 0:0:0
                                  (*1)                (*1) 
    lrwxrwxrwx  1 root root 0 Jun  1  2005 /sys/block/sda ->\
                                                      (*2) 
    ../devices/pci0000:02/0000:02:1f.0/0000:06:02.0/host2/\
    target0:0:0/0:0:0:0/block/sda
    
    # ls -l /sys/block/sd* | grep 0000:06:02:0 | grep 0:2:0
                                  (*1)                (*1) 
    lrwxrwxrwx  1 root root 0 Jun  1  2005 /sys/block/sdb ->\
                                                      (*2)
    ../../devices/pci0000:02/0000:02:1f.0/0000:06:02.0/host2/\
    target0:0:2/0:0:2:0/block/sdb
    (*1) Physical disk information
    (*2) Physical disk name

    In this example, the physical disk names are sda and sdb.

    By combining the physical disk name and the slice numbers confirmed in "6.5.4 Checking Physical Disk Information and Slice Numbers," you can get the physical slice names.

    In this example, the physical slice names are as follows.

    Use

    Physical slice name

    /

    sda1

    sdb1

    /var

    sda2

    sdb2

    /usr

    sda3

    sdb3

  4. Execute the fsck(8) command for one of the physical slices to restore the file system.

    In this example, execute the fsck(8) command for the slice of the root file system (/) checked in step 3.

    # fsck -t ext4 /dev/sda1

    If the file system cannot be restored, execute the fsck(8) command for another physical slice.

    See

    For more information such as fsck(8) command options, see the manual page of fsck(8).

  5. From the physical slice where the file system is restored in step 4., copy the data to another physical slice.

    # dd if=/dev/sda1 of=/dev/sdb1 bs=1M

    Note

    If the mirroring multiplicity is n, among n mirrored slices, copy data to all "n-1" slices other than the slice restored by the fsck(8) command in step 4.

    See

    Specify a correct option referring to the dd(1) command manual.

  6. Exit the rescue mode, and start the system.

    # exit