在不同的VG间拷贝LV上的文件系统

因为小弟基础不是很好,所以在这个问题上有点不明白,特来请教下各位兄弟

如下环境:AIX 5.3  rootvg hdisk0和hdisk1镜像     datavg   hdisk2

1.我在试验的时候在datavg上新建了个lv   lv01,大小为4个PP512M,然后我在lv01上新建JFS文件系统shiyan,挂载点/tmp/shiyan.
然后我mount /tmp/shiyan,后在/tmp/shiyan下新建了几个文件。

2。我smit cplv,copy to a user created logical volume,将lv拷贝到rootvg 的lvcopy上,但是我发现这个lvcopy只有2个pp256M大小了,
第一个问题:为什么拷贝过来的LV大小不一样呢。

3.拷贝过来后我rmlv lv01后,然后cd /tmp/shiyan,发现以前新建的几个文件全部找不到了,mount /tmp/shiyan报错,提示这个目录不存在,我在网上查了下,说是应该讲/etc/filesystems中的文件改成和新建的lv相匹配,然后我将/etc/filesystems中原本lv01改成了lvcopy,但是我mount /tmp/shiyan的时候,依然报错,说是文件系统的log文件不能存在于不同的vg中。
第二个问题:我是不是有什么地方操作错了,好像网上没提到log文件的问题啊。或者说应该怎样操作才能保证lv上的文件系统顺利的拷贝过去,并找到里面的文件。请知道的大侠们指导下,谢谢!
参与29

21同行回答

woailili9woailili9系统工程师新明星
移动一个JFS 或 JFS-2 文件系统到一个新的卷组移动文件系统 注意:在进行下列步骤描述的任何操作之前。请确认对将要迁移的数据拥有一个完整备份。 由于AIX 存储分配是在卷组的级别上执行的,存储不能跨越卷组。在一个卷组的空间变得很有限的情况下,另一个卷组的可用空间不可...显示全部
移动一个JFS 或 JFS-2 文件系统到一个新的卷组
移动文件系统
注意:在进行下列步骤描述的任何操作之前。请确认对将要迁移的数据拥有一个完整备份。

由于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




实例:
将db2vg 中的文件系统/ibm/lotus迁移到rootvg
/ibm/lotus的相关权限
# ls -ld  /ibm/lotus
drwxr-xr-x    4 notes    notes           256 Jul 19 02:05 /ibm/lotus
# lsvg -l rootvg
rootvg:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
hd5                 boot       1       1       1    closed/syncd  N/A
hd6                 paging     14      14      1    open/syncd    N/A
hd8                 jfs2log    1       1       1    open/syncd    N/A
hd4                 jfs2       5       5       1    open/syncd    /
hd2                 jfs2       15      15      1    open/syncd    /usr
hd9var              jfs2       2       2       1    open/syncd    /var
hd3                 jfs2       21      21      1    open/syncd    /tmp
hd1                 jfs2       5       5       1    open/syncd    /home
hd10opt             jfs2       6       6       1    open/syncd    /opt
fwdump              jfs2       5       5       1    open/syncd    /var/adm/ras/platform
lg_dumplv           sysdump    4       4       1    open/syncd    N/A
fslv00              jfs2       20      20      1    closed/syncd  /copycd
fslv01              jfs2       16      16      1    open/syncd    /export/lpp_source
fslv03              jfs2       4       4       1    open/syncd    /export/spot
fslv04              jfs2       16      16      1    closed/syncd  /soft
fslv07              jfs2       12      12      1    open/syncd    /ibmdb2pro
# lsvg -l db2vg
db2vg:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
fsloglv00           jfs2log    1       1       1    open/syncd    N/A
fsfslv06            jfs2       80      80      1    open/syncd    /ibm/db2data
fsfslv05            jfs2       8       8       1    open/syncd    /ibm/lotus
fsfslv08            jfs2       20      20      1    open/syncd    /ibm/notesdata
fsfslv02            jfs2       80      80      1    closed/syncd  /osbak
将/ibm/lotus文件系统umount,
# umount /ibm/lotus
# lsvg -l db2vg
db2vg:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
fsloglv00           jfs2log    1       1       1    open/syncd    N/A
fsfslv06            jfs2       80      80      1    open/syncd    /ibm/db2data
fsfslv05            jfs2       8       8       1    closed/syncd  /ibm/lotus
fsfslv08            jfs2       20      20      1    open/syncd    /ibm/notesdata
fsfslv02            jfs2       80      80      1    closed/syncd  /osbak
将文件系统/ibm/lotus对应的lv复制一份到rootvg
# cplv -v rootvg fsfslv05
cplv: Logical volume fsfslv05 successfully copied to fslv02 .
rootvg会生成一个新的lv-----fslv02
# lsvg -l rootvg
rootvg:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
hd5                 boot       1       1       1    closed/syncd  N/A
hd6                 paging     14      14      1    open/syncd    N/A
hd8                 jfs2log    1       1       1    open/syncd    N/A
hd4                 jfs2       5       5       1    open/syncd    /
hd2                 jfs2       15      15      1    open/syncd    /usr
hd9var              jfs2       2       2       1    open/syncd    /var
hd3                 jfs2       21      21      1    open/syncd    /tmp
hd1                 jfs2       5       5       1    open/syncd    /home
hd10opt             jfs2       6       6       1    open/syncd    /opt
fwdump              jfs2       5       5       1    open/syncd    /var/adm/ras/platform
lg_dumplv           sysdump    4       4       1    open/syncd    N/A
fslv00              jfs2       20      20      1    closed/syncd  /copycd
fslv01              jfs2       16      16      1    open/syncd    /export/lpp_source
fslv02              jfs2       8       8       1    closed/syncd  N/A
fslv03              jfs2       4       4       1    open/syncd    /export/spot
fslv04              jfs2       16      16      1    closed/syncd  /soft
fslv07              jfs2       12      12      1    open/syncd    /ibmdb2pro
改变文件系统调用新的卷组及新的逻辑卷中的日志设备
# chfs -a dev=/dev/fslv02 -a log=/dev/hd8 /ibm/lotus
对文件系统进行一个检查
# fsck -p /dev/fslv02

The current volume is: /dev/fslv02
Primary superblock is valid.
J2_LOGREDO:log redo processing for /dev/fslv02                     
J2_LOGREDO:logredo: /dev/fsloglv00 is not a log file
j2_logredo.cpp: ERROR in openFilesystems line 1852, openLog
j2_logredo.cpp: ERROR in j2_logredo line 656, openFilesystems
Failure replaying log: -8
exec module "/sbin/helpers/jfs2/logredo64" failed.
logredo failed (rc=248).  fsck continuing.
Primary superblock is valid.
*** Phase 1 - Initial inode scan
*** Phase 2 - Process remaining directories
*** Phase 3 - Process remaining files
*** Phase 4 - Check and repair inode allocation map
*** Phase 5 - Check and repair block allocation map
File system is clean.
装载文件系统
# mount /ibm/lotus
查看结果
# lsvg -l rootvg
rootvg:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
hd5                 boot       1       1       1    closed/syncd  N/A
hd6                 paging     14      14      1    open/syncd    N/A
hd8                 jfs2log    1       1       1    open/syncd    N/A
hd4                 jfs2       5       5       1    open/syncd    /
hd2                 jfs2       15      15      1    open/syncd    /usr
hd9var              jfs2       2       2       1    open/syncd    /var
hd3                 jfs2       21      21      1    open/syncd    /tmp
hd1                 jfs2       5       5       1    open/syncd    /home
hd10opt             jfs2       6       6       1    open/syncd    /opt
fwdump              jfs2       5       5       1    open/syncd    /var/adm/ras/platform
lg_dumplv           sysdump    4       4       1    open/syncd    N/A
fslv00              jfs2       20      20      1    closed/syncd  /copycd
fslv01              jfs2       16      16      1    open/syncd    /export/lpp_source
fslv02              jfs2       8       8       1    open/syncd    /ibm/lotus
fslv03              jfs2       4       4       1    open/syncd    /export/spot
fslv04              jfs2       16      16      1    closed/syncd  /soft
fslv07              jfs2       12      12      1    open/syncd    /ibmdb2pro
# lsvg -l db2vg
db2vg:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
fsloglv00           jfs2log    1       1       1    open/syncd    N/A
fsfslv06            jfs2       80      80      1    open/syncd    /ibm/db2data
fsfslv05            jfs2       8       8       1    closed/syncd  N/A
fsfslv08            jfs2       20      20      1    open/syncd    /ibm/notesdata
fsfslv02            jfs2       80      80      1    closed/syncd  /osbak
属性保持不变
# ls -ld /ibm/lotus
drwxr-xr-x    4 notes    notes           256 Jul 19 02:05 /ibm/lotus
检查应用是否正常启动
# ps -ef|grep notes
   notes  73798 307512   0 13:00:33  pts/1  0:00 /ibm/lotus/notes/latest/ibmpow/rnrmgr
   notes  98424 233496   0 13:00:29  pts/1  0:00 -ksh
   notes 200820 307512   0 13:00:33  pts/1  0:00 /ibm/lotus/notes/latest/ibmpow/event
   notes 217160 307512   0 13:00:33  pts/1  0:00 /ibm/lotus/notes/latest/ibmpow/router
   notes 225378 307512   0 13:00:33  pts/1  0:00 /ibm/lotus/notes/latest/ibmpow/update
   notes 233496 245774   0 13:00:16  pts/1  0:00 -ksh
   notes 241688 311578   0 13:00:34  pts/1  0:00 /ibm/lotus/notes/latest/ibmpow/amgr -e 1
   notes 249892 307512   0 13:00:33  pts/1  0:00 /ibm/lotus/notes/latest/ibmpow/adminp
   notes 258144 307512   0 13:00:33  pts/1  0:00 /ibm/lotus/notes/latest/ibmpow/replica
   notes 102730 307512   0 13:00:33  pts/1  0:00 /ibm/lotus/notes/latest/ibmpow/sched
   notes 282896 307512   0 13:00:33  pts/1  0:00 /ibm/lotus/notes/latest/ibmpow/calconn
    root 303422 163982   0 13:01:41  pts/0  0:00 grep notes
   notes 307512  98424   0 13:00:29  pts/1  0:00 /ibm/lotus/notes/latest/ibmpow/server
   notes 311578 307512   0 13:00:33  pts/1  0:00 /ibm/lotus/notes/latest/ibmpow/amgr -s收起
硬件生产 · 2013-08-06
浏览5449
woailili9woailili9系统工程师新明星
回复 6# bjibm1188 你好,我所做的smit cplv操作没错啊,调出来的命令是:cplv -v rootvg -y lvcopy lv01 ,明天我再登上试验环境看,至于你说的mklvcopy是不能实现我所要达到的效果的,因为在不同VG之间是不能使用mklvcopy的,而且我觉得看不到文件并不是因为我拷贝过来的lv大小是2...显示全部
回复 6# bjibm1188


你好,我所做的smit cplv操作没错啊,调出来的命令是:cplv -v rootvg -y lvcopy lv01 ,明天我再登上试验环境看,至于你说的mklvcopy是不能实现我所要达到的效果的,因为在不同VG之间是不能使用mklvcopy的,而且我觉得看不到文件并不是因为我拷贝过来的lv大小是2个PP造成的,我觉得应该是在/etc/filesystems里面没有做好新建的lvcopy和老文件系统shiyan的对应关系造成的收起
硬件生产 · 2013-08-06
浏览3807
yszw0817yszw0817存储架构师北京
版主记错了:mklvcopy 是在同一个vg内进行lv 的copy,而cplv可以在同一个vg ,也可以在另一个vg。显示全部
版主记错了:
mklvcopy 是在同一个vg内进行lv 的copy,而cplv可以在同一个vg ,也可以在另一个vg。收起
硬件生产 · 2013-08-05
浏览3759
zllhczllhc项目经理王强
好贴!多谢分享!显示全部
好贴!多谢分享!收起
互联网服务 · 2015-03-17
浏览4735
flm20080704flm20080704系统工程师XXXX
楼主这个实验做得很不错,改进了我一些操作显示全部
楼主这个实验做得很不错,改进了我一些操作收起
IT其它 · 2014-08-28
浏览4973
duckduck系统运维工程师中兴
好贴,深刻显示全部
好贴,深刻收起
互联网服务 · 2014-08-26
浏览4943
ws187131593ws187131593系统工程师华夏
哦  学习了!显示全部
哦  学习了!收起
互联网服务 · 2014-01-05
浏览4870
instinct25instinct25系统分析师it
回复 16# woailili9     PP SIZE不一样应该也能cplv成功吧显示全部
回复 16# woailili9


    PP SIZE不一样应该也能cplv成功吧收起
IT培训教育 · 2014-01-04
浏览4967
yszw0817yszw0817存储架构师北京
回复 16# woailili9 LZ这个反馈要顶一下。显示全部
回复 16# woailili9


LZ这个反馈要顶一下。收起
硬件生产 · 2013-08-08
浏览4864
woailili9woailili9系统工程师新明星
第一个问题:拷贝的lv大小没变,只是因为rootvg和datavg的PP SIZE不一样,rootvg的PP SIZE是256M,而datavg中的PP SIZE是128M第二个问题:操作没有问题,只是需要将/etc/filesystems里面的该lv的log文件改成rootvg里面同类型的log后,mount文件系统,就可以看到以前的文件了,然后删除拷...显示全部
第一个问题:拷贝的lv大小没变,只是因为rootvg和datavg的PP SIZE不一样,rootvg的PP SIZE是256M,而datavg中的PP SIZE是128M

第二个问题:操作没有问题,只是需要将/etc/filesystems里面的该lv的log文件改成rootvg里面同类型的log后,mount文件系统,就可以看到以前的文件了,然后删除拷贝前的lv,试验就完成了。收起
硬件生产 · 2013-08-08
浏览4933

提问者

woailili9
系统工程师新明星
擅长领域: 服务器系统管理安全

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2013-08-05
  • 关注会员:1 人
  • 问题浏览:24827
  • 最近回答:2015-03-17
  • X社区推广