You are on page 1of 3

Moving a JFS/JFS2 File System to a New Volume Group

Question
Moving a JFS/JFS2 File System to a New Volume Group

Answer
This document describes how to move a journaled file system
(JFS) or enhanced journaled file system (JFS2) from one volume
group to another. Information in this document applies to AIX
Versions 4 and 5.

Moving file systems from one volume group to another


ATTENTION: Make sure a full backup exists of any data you intend to migrate
before using these procedures.
In AIX, storage allocation is performed at the volume group level. Storage cannot
span volume groups. If space within a volume group becomes constrained, then
space that is available in other volume groups cannot be used to resolve storage
issues.
The solution to this problem is to add more physical volumes to the relevant volume
group. This may not be an option in all environments. If other volume groups contain
the required free space, the alternative is to move the required logical volumes to
the desired volume group and expand them as needed.
The source logical volume can be moved to another volume group with the cplv
command. The following steps achieve this.
ATTENTION: The logical volume should be inactive during these steps to prevent
incomplete or inconsistent data. If the logical volume contains a mounted file
system, then that file system should be unmounted first. If this logical volume is
being used as a RAW storage device, then the application using this logical volume
should close the device or be shut down.

1. Copy the source logical volume to the desired volume group with the cplv
command.

For example, where myvg is the new volume group and mylv is the name of
the user's logical volume, enter:
cplv -v myvg mylv

This will return the name of the new logical volume, such as lv00.

If this logical volume was being used for RAW storage, skip to to step 6. If
this is a JFS or JFS2 file system, proceed to step 2. Note that RAW storage
devices should NOT use the first 512 bytes of the RAW device. This is
reserved for the LVCB or logical volume control block. cplv will not copy the
first 512 bytes of the RAW logical volume, but it will update fields in the new
logical volume's LVCB.

2. All JFS and JFS2 file systems require a log device. This will be a logical
volume with a type of jfslog or jfs2log for JFS2 file systems. Run the lsvg -l
<VGNAME> command on your destination volume group. If a JFS or JFS2
log DOES NOT already exist on the new volume group, create one by using
the mklv and logform commands as detailed below. If a JFS or JFS2 log
DOES exist, proceed to step 3.

With a JFS2 filesystem, you also have the option of using an inline log. With
inline logs, the jfs2log exists on the filesyster itself. After the cplv command
is ran on a JFS2 inline log filesystem, run:
logform /dev/lvname
You should receive a message about formatting the inline log. If you do not
receive a message about an inline log, then this filesystem is not a JFS2 inline
log filesystem and you should treat it as a regular JFS2 filesystem. After
hitting y on formatting the inline log, continue to step 3.
To make a new JFS log, enter the following command, where myvg is the
name of the new volume group, enter:
mklv -t jfslog myvg 1
To make a new JFS2 log, enter:
mklv -t jfs2log myvg 1
This will return a new logical volume of either type jfslog or jfs2log, such as
loglv00. This new logical volume will need to be formatted with the logform
command in order to function properly as either a JFS or JFS2 log. For
example:
logform /dev/loglv00
Answer yes to destroy.

3. Change the filesystem to reference a log device that exists in the new volume
group and the new logical volume with the chfs command.

For example, where myfilesystem is the name of the user's filesystem,


enter:
chfs -a dev=/dev/lv00 -a log=/dev/loglv00 /myfilesystem
With inline logs on JFS2 filesystems this command is also different:
chfs -a dev=/dev/lv00 -a log=INLINE /myfilesystem

4. Run fsck to ensure filesystem integrity. Enter:


5. fsck -p /dev/lv00
NOTE: It is common to receive errors after running fsck -p /dev/lvname
prior to mounting the filesystem. These errors are due to a known bug that
development is currently aware of and which will be resolved in a future
release of AIX. Once the filesystem is mounted, a future fsck with the
filesystem unmounted should no longer produce an error.

6. Mount the file system.

For example, where myfilesystem is the name of the user's file system,
enter:
mount /myfilesystem
At this point, the migration is complete, and any applications or users can
now access the data in this filesystem. To change the logical volume name,
proceed to the following step.
NOTE: If you receive errors from the preceding step, do not continue.
Contact you AIX support center.
7. Remove the source logical volume with the rmlv command.

For example, where mylv is the name of the user's logical volume, enter:
rmlv mylv

8. Rename and reset any needed attributes on the new logical volume with the
chlv or chmod commands. In order to rename the logical volume, the
filesystem or raw logical volume must be in a closed state.

For example, where mylv is the new name you wish to change lv00 to be,
enter:
chlv -n mylv lv00
Logical volumes specific to rootvg
The following logical volumes and file systems are specific to the rootvg volume
group and cannot be moved to other volume groups:
Logical Volume File System or Description
------------------------------------------------------
hd2 /usr
hd3 /tmp
hd4 /
hd5 <boot logical volume>
hd6 <primary paging space>
hd8 <primary JFS or JFS2 log>
hd9var /var