全部博文(323)
分类: 系统运维
2008-03-06 19:28:13
移动文件系统
注意:在进行下列步骤描述的任何操作之前。请确认对将要迁移的数据拥有一个完整备份。
由于AIX 存储分配是在卷组的级别上执行的,存储不能跨越卷组。在一个卷组的空间变得很有限的情况下,另一个卷组的可用空间不可以直接被用来解决存储短缺的问题。
一个解决方法是增加更多的物理卷到相关的卷组,但在某些情况下,这种方法可能不是一个好的选择。如果其他的卷组包含足够的可用空间,另一个选择可能是,移动需要的逻辑卷到想要的卷组中,并且按需要扩展它们。
源逻辑卷能被移动到另一个卷组用cplv命令。如以下步骤所示:
注意:为了保证数据的完整性和一致性,在进行这些操作的时候,逻辑卷必须处在非活动状态(inactive)。如果逻辑卷包含一个已经装入(mounted)的文件系统,这个文件系统必须被先行卸下(unmount)。如果逻辑卷正被用作一个裸的(RAW)存储设备,使用这个逻辑卷的应用必选先关闭这个设备,或者应用本身退出运行。
1. 用cplv命令拷贝源逻辑卷到目的卷组
举例而言,如果myvg 是新的卷组名,mylv是用户的逻辑卷,键入:
# cplv -v myvg mylv
这将返回新的逻辑卷的名字,诸如 lv00
如果被移动的逻辑卷正用于裸设备存储,跳到第6步。如果是JFS 或 JFS2文件系统,进行第2步。
注意,裸存储设备不应该使用裸设备的前512个字节。这是为逻辑卷控制块(LVCB)保留的。cplv将不拷贝裸逻辑卷的前512个字节,但它会更新新的逻辑卷的LVCB中的域。
2. 所有的JFS和JFS2 文件系统都需要一个日志设备,它是jfslog类型的逻辑卷或者jfs2log型的逻辑卷(对于JFS2文件系统)。 在目的卷组上运行
lsvg –l <卷组名> 。如果在新的卷组上不存在JFS或JFS2日志设备,使用mklv和logform 命令创建日志设备。
# mklv -t jfslog myvg 1 或 # mklv -t jfs2log myvg 1
# logform /dev/loglv00
如果JFS 或JFS2日志设备已经存在,直接到步骤3
3. 用chfs命令改变文件系统以引用新的卷组和新的逻辑卷中的日志设备
例如,如果myfilesystem 是用户的文件系统名,键入
# chfs -a dev=/dev/lv00 -a log=/dev/loglv00 /myfilesystem
4. 运行fsck确保文件系统的完整性
# fsck -p /dev/lv00
5. 装载文件系统
例如,如果用户的文件系统名是myfilesystem,键入
# mount /myfilesystem
到这一步,迁移就算完成了,任何用户和应用应该能存取这个文件系统上的数据。
如果要改变逻辑卷的名字,进行下一步。
6. 再次确认在新的卷组中所有数据都可以存取以后,可以用rmlv命令移走源逻辑卷。
7. 使用chlv 和chmod命令重新命名或者重置在新的逻辑卷上可能需要设置的属性。为了重新命名逻辑卷,文件系统或者裸逻辑卷必须在关闭的 (closed)状态。
rootvg特定的逻辑卷
以下逻辑卷和文件系统是rootvg特定的,它们不可以被移动到其他的卷组。
Logical Volume File System or Description
------------------------------------------------------
hd2 /usr
hd3 /tmp
hd4 /
hd5 <引导逻辑卷>
hd6 <主页面空间>
hd8 <主JFS或JFS2日志设备>
hd9var /var