重建loglv以及loglv的作用

F50:[/]#lsvg -l vg00
vg00:
LV NAME             TYPE       LPs   PPs   PVs  LV STATE      MOUNT POINT
ibmdata             jfs2       300   300   1    open/syncd    /data
loglv00             jfs2log    1     1     1    open/syncd    N/A
raw                 raw        2     2     1    closed/syncd  N/A
raw1                raw        3     3     1    closed/syncd  N/A
loglv处于open状态时,是不能rm的·
 
F50:[/]#umount /data 
F50:[/]#lsvg -l vg00
vg00:
LV NAME             TYPE       LPs   PPs   PVs  LV STATE      MOUNT POINT
ibmdata             jfs2       300   300   1    closed/syncd  /data
loglv00             jfs2log    1     1     1    closed/syncd  N/A
raw                 raw        2     2     1    closed/syncd  N/A
raw1                raw        3     3     1    closed/syncd  N/A
 
F50:[/]#rmlv loglv00
Warning, all data contained on logical volume loglv00 will be destroyed.
rmlv: Do you wish to continue? y(es) n(o)? y
rmlv: Logical volume loglv00 is removed.
 
此时mount /data是不能成功的,所以必须重建一个loglv,除此之外,也可以通过修改/etc/filesystems 文件将指定的loglv指向另一个完好的loglv设备,以下是重建loglv的过程:
F50:[/]# mklv -y loglv00 -t jfslog datavg vg00 1
loglv00
F50:[/]#lspv -l hdisk1
hdisk1:
LV NAME               LPs   PPs   DISTRIBUTION          MOUNT POINT
loglv00               1     1     00..01..00..00..00    N/A
F50:[/]# logform /dev/loglv00
logform: destroy /dev/loglv00 (y)?
F50:[/]#mount /data
Replaying log for /dev/ibmdata.
mount: 0506-324 Cannot mount /dev/ibmdata on /data: The media is not formatted or the format is not correct.
F50:[/]#lsvg -l vg00
vg00:
LV NAME             TYPE       LPs   PPs   PVs  LV STATE      MOUNT POINT
ibmdata             jfs2       300   300   1    closed/syncd  /data
loglv00             jfslog     1     1     1    closed/syncd  N/A
raw                 raw        2     2     1    closed/syncd  N/A
raw1                raw        3     3     1    closed/syncd  N/A
F50:[/]#rmlv loglv00
Warning, all data contained on logical volume loglv00 will be destroyed.
rmlv: Do you wish to continue? y(es) n(o)? y
rmlv: Logical volume loglv00 is removed.
F50:[/]# mklv -y loglv00 -t jfslog2 vg00 1
loglv00
F50:[/]#logform /dev/loglv00
logform: destroy /dev/loglv00 (y)?
F50:[/]#mount /data
Replaying log for /dev/ibmdata.
mount: 0506-324 Cannot mount /dev/ibmdata on /data: The media is not formatted or the format is not correct.
F50:[/]#lsvg -l vg00
vg00:
LV NAME             TYPE       LPs   PPs   PVs  LV STATE      MOUNT POINT
ibmdata             jfs2       300   300   1    closed/syncd  /data
loglv00             jfslog2    1     1     1    closed/syncd  N/A
raw                 raw        2     2     1    closed/syncd  N/A
raw1                raw        3     3     1    closed/syncd  N/A
F50:[/]#mount /data
Replaying log for /dev/ibmdata.
mount: 0506-324 Cannot mount /dev/ibmdata on /data: The media is not formatted or the format is not correct.
F50:[/]# fsck /dev/ibmdata
The current volume is: /dev/ibmdata
Primary superblock is valid.
J2_LOGREDO:log redo processing for /dev/ibmdata                    
J2_LOGREDO:logredo: /dev/loglv00 is not a log file
j2_logredo.cpp: ERROR in openFilesystems line 1747, openLog
j2_logredo.cpp: ERROR in j2_logredo line 665, openFilesystems
Failure replaying log: -8
exec module "/sbin/helpers/jfs2/logredo" 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.
F50:[/]#mount /data
Replaying log for /dev/ibmdata.
mount: 0506-324 Cannot mount /dev/ibmdata on /data: The media is not formatted or the format is not correct.
F50:[/]#rmlv loglv00
Warning, all data contained on logical volume loglv00 will be destroyed.
rmlv: Do you wish to continue? y(es) n(o)? y
rmlv: Logical volume loglv00 is removed.
F50:[/]#lspv
hdisk0          000af70dca7ae679                    vg00            active
hdisk1          000af70dca7aea4d                    vg00            active
hdisk2          000af70d4d50358c                    rootvg          active
F50:[/]# reducevg vg00 hdisk1
F50:[/]# mklv -y loglv00 -t jfs2log vg00 1
loglv00
F50:[/]#logform /dev/loglv00
logform: destroy /dev/rloglv00 (y)?
F50:[/]#mount /data
F50:[/]#lsvg -l vg00
vg00:
LV NAME             TYPE       LPs   PPs   PVs  LV STATE      MOUNT POINT
ibmdata             jfs2       300   300   1    open/syncd    /data
loglv00             jfs2log    1     1     1    open/syncd    N/A
raw                 raw        2     2     1    closed/syncd  N/A
raw1                raw        3     3     1    closed/syncd  N/A
F50:[/]#cd /data
F50:[/data]#ls
ML          gcc         lost+found  lsof        snap.pax.Z
 
在以上过程中,发生了几个错误:
1,把jfs2log类型配成了jfslog,因为文件系统为jfs2,所以必须使用jfs2log
2,按照ibm建议,loglv最好不要和文件系统建在同一个pv上,但是以上把loglv建立在hdisk1上时,却始终不能mount文件系统,不知道是什么原因?
 
   AIX file systems by default are journaled, so every time a write operation is carried out, the system will first log all the changes that it is going to make in the log file,then it will carry out the update, and then it will compare the actual change to the logged
changes. If the two are consistent the operation is considered successful and the log entry can then be discarded. Note: ONLY inode changes are logged and not the changes for the data blocks. This is because it is far more important to be able to recover the structure of the file system, which is what the inodes will allow, rather than the individual data blocks.
   AIX memory maps files in current use. Any writes to files are done first in memory and at a later stage are written out to disk when the sync system call runs - every minute.
    由以上可知,当文件系统需要修改数据时,先将inode的变化记录在loglv中,待到内存中修改完数据 需要写回硬盘的时候,需要与loglv中inode变化 进行比较(同步),如果一致,即写回硬盘保存,如果不同,则不能写回。写回硬盘后,loglv中的该记录就可以丢弃。loglv可重用,即是循环使用。有点类似于非归档模式下oracle数据库redolog。
loglv只记录inode的变化,而不记录数据变化。
 
fsck的时候是否需要读取jfslog的内容呢?
需要··
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值