AIX下采用dd方式进行数据迁移的过程,供参考

简化需求:
主机A,IBM P570,连EMC 存储,AIX 5.3,oracle数据库(9.2.0.7)
 
数据库用户 oracle9
两个目录
/oracle 存放数据库运行的程序文件
/data1   存放数据库的数据文件,假设是200GB。
 
数据库没有使用裸设备,使用的是文件系统。
 
主机B,IBM P590,连HDS 存储, AIX5.3,假设是个刚装完系统的空环境。
 
现在需要把主机A上数据库迁移到主机B上去,也就说主机A迁到主机B,存储从EMC存储迁移到HDS存储。
 
前期工作:
1.在主机B上新建数据库用户oracle9,当然属性要求和A上的oracle9用户一模一样。
通过复制主机A上的/oracle目录到B上,然后调整,比如说listener.ora需要调整IP地址等等,或者在B上新建一个数据库实例也行,先把数据库环境搭建起来。
2.主机方面,A要连HDS存储,也就是说A现在同时连接了EMC存储和HDS存储。
利用HDS的存储创建vg,lv,fs,创建新的文件系统/data2,当然了/data2肯定是要大于等于200GB了
 
下面是利用dd迁移/data1文件系统的步骤
1.当然是把数据库停下来了
2.umount /data1
  umount /data2
3.dd命令,从lvdata1通过dd方式把数据传送到lvdata2上,开5个dd进程,每个进程数据量40GB,当然最后一个进程就不限制40GB了,把lvdata1上的数据传完为止,通过tail -f nohup.out可以查看进度。
nohup dd if=/dev/rlvdata1  of=/dev/rlvdata2  bs=4096k count=10000  &                            
nohup dd if=/dev/rlvdata1  of=/dev/rlvdata2  bs=4096k skip=10000  seek=10000   count=10000 &    
nohup dd if=/dev/rlvdata1  of=/dev/rlvdata2  bs=4096k skip=20000  seek=20000   count=10000 &    
nohup dd if=/dev/rlvdata1  of=/dev/rlvdata2  bs=4096k skip=30000  seek=30000   count=10000 &    
nohup dd if=/dev/rlvdata1  of=/dev/rlvdata2  bs=4096k skip=40000  seek=40000   &               
4.通过topas可以查看相关磁盘的IO,以及总的传输速度
通过ps可以查看dd进程的数目,(其实是10个,因为smt(并发多线程)的原因)
当然了,每次开几个dd进程可以通过测试确定,开多了也不一定好,总的速度反而有可能下降,这跟存储的配置和性能有关系)。
 
5.传输结束后, fsck /dev/lvdata2
6.mount /data1
mount /data2
df -k
对比/data1,/data2总的大小,使用率是否一模一样。
 
这里有两个问题,
1)就是lvcb的覆盖问题,后面会讨论
2)就是即使/data2原先分配的是300GB,这里显示的还是200GB,大家可以考虑一下是为什么。
这里先不进行文件系统扩容了,等后面再扩。
 
7.umount /data1
umount /data2
varyoffvg vgdata2
exportvg vgdata2
产生的现象就是/etc/filesystem里面已经不存在/data2 的entry。
同时/dev下面关于vgdata2和lvdata2的定义也都不存在了。
lspv查看的也不存在vgdata2的信息了
 
然后rmdev -dl hdisk** (hdisk**是指hds存储盘,原先属于vgdata2的盘)
8.将HDS存储从主机A上撤出,分配给主机B。
cfgmgr -v
lspv (通过pvid号识别新增加的磁盘)
importvg -v vgdata2 hdisk**
查看/etc/filesystems里面存在了/data1的entry。
 
9.修改/etc/filesystems内容,log = /dev/loglv**,要更改,因为这里的loglv**并不是lvdata2对应的loglv,而是原先的lvdata1对应的loglv。
 
10.通过lsvg -l vgdata2查看相应的lv信息
11.fsck /dev/lvdata2
mount /dev/lvdata2  /data1
df -k  看看fs的大小和使用率和原先的记录是否符合。
smit chjfs2扩文件系统(如果原先/data2是300GB的话,这里扩100GB)
df -k 
12.数据库有关配置更改之后,就可以启动数据库,测试应用了。
 
 
这里还可以讨论另外一个问题,就是lvdata2的lvcb被覆盖掉了,变成了lvdata1的lvcb,这可以通过
getlvcb -AT lvdata1
getlvcb -AT lvdata2
来查看,那么importvg却是正确识别到了vgdata2包含的lv的信息,这就像chinadns所说的importvg读取的实际上是vgda的信息(importvg将vgda信息import到odm中).但是mount点和loglv的信息是读取的lvcb的。所以
 
这就涉及到另外一个问题:就是如何同步vgda和lvcb的信息。
大家可以看一下这篇文章:
就是可以使用putlvcb命令更新lv头的lvcb,同时它将自动更新vgda中的vgda信息,
The putlvcb command writes the control block information into block 0 of the
logical volume lvname. Only the fields specified are written. putlvcb can be
used to write a new control block or update an existing one.
就是人为更改lvcb的lvid,mount point,loglv。
 
当然数据迁移也可以使用其他办法,比如cplv,或者mirror,不只局限于dd之类的,这里就不累述了。
 
对于CPLV中的LVCB问题,网上也有不少文章的论述:
总的结论是:
cplv 不会把逻辑卷开始的 512 字节复制到新逻辑卷中,因为这 512 个字节是 lvcb ,但是它会用新的属性写新逻辑卷的 lvcb
比如说有两个lv, lvtest1,上面建有文件系统/test1,lvtest2,上面建有文件系统/test2
cplv从lvtest1复制到lvtest2后。

#  getlvcb -AT lvtest1

         AIX LVCB

         intrapolicy = m

         copies = 1

         interpolicy = m

         lvid = 00cd9fd100004c000000011f6da92d6d.1

         lvname = lvtest1

         label = /test1

         machine id = D9FD14C00

         number lps = 8

         relocatable = y

         strict = y

         stripe width = 0

         stripe size in exponent = 0

         type = jfs2

         upperbound = 32

         fs = vfs=jfs2:log=/dev/loglv08:mount=true:options=rw:account=false

         time created  = Fri Feb 13 11:26:14 2009

         time modified = Fri Feb 13 11:27:14 2009

# getlvcb -AT lvtest2

         AIX LVCB

         intrapolicy = m

         copies = 1

         interpolicy = m

         lvid = 00cd9fd100004c000000011f6daad4cf.1

         lvname = lvtest2

         label = /test1

         machine id = D9FD14C00

         number lps = 8

         relocatable = y

         strict = y

         stripe width = 0

         stripe size in exponent = 0

         type = jfs2

         upperbound = 32

         fs = vfs=jfs2:log=/dev/loglv09:mount=true:options=rw:account=false

         time created  = Fri Feb 13 11:26:42 2009

         time modified = Fri Feb 13 12:04:40 2009

从上面的结果可以看出,只有label被改变了,其他都没有改变。

 

关于lvcb,下面再补充几个命令,供参考用。

逻辑卷控制块(LVCB)保存着逻辑卷的重要信息,它位于在逻辑卷开始,占用了512个字节。逻辑卷控制块包括的信息有:逻辑卷创建日期、逻辑卷的镜像拷贝数和安装点(如果在逻辑卷上创建了一个JFS文件系统,才有安装点)。使用命令/usr/sbin/getlvcb能够获得逻辑卷的LVCB。

如果想看lvcb按字节存放的东西,可以用od

# od -c /dev/hd1|more
0000000    A   I   X       L   V   C   B  \0  \0   j   f   s   2  \0  \0
0000020   \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
0000040   \0  \0  \0  \0  \0  \0  \0  \0  \0  \0   0   0   0   8   3   6
0000060    1   5   0   0   0   0   d   6   0   0   0   0   0   0   0   1
0000100    1   d  \0   h   d   1  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
0000120   \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
*
0000200   \0  \0  \0   F   r   i       O   c   t       2   4       0   7
0000220    :   2   5   :   4   9       2   0   0   8  \n  \0  \0  \0  \0
0000240   \0   S   a   t       N   o   v           8       2   2   :   2
0000260    9   :   4   2       2   0   0   8  \n  \0  \0  \0  \0  \0   8
0000300    3   6   1   5   D   6   0   0  \0   y   m   c  \0   y  \0
0000320   \0  \b  \0 002   /   h   o   m   e  \0  \0  \0  \0  \0  \0  \0
0000340   \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
*
0000520   \0  \0  \0  \0   v   f   s   =   j   f   s   2   :   l   o   g
0000540    =   /   d   e   v   /   h   d   8   :   m   o   u   n   t   =
0000560    t   r   u   e   :   c   h   e   c   k   =   t   r   u   e   :
0000600    v   o   l   =   /   h   o   m   e   :   f   r   e   e   =   f
0000620    a   l   s   e   :   q   u   o   t   a   =   u   s   e   r   q
................

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明
### 回答1: AIX迁移到Linux是将原本运行在IBM AIX操作系统上的应用程序和数据迁移到Linux操作系统的过程。这种迁移通常是为了利用Linux操作系统的优势和特点,比如更便宜、更灵活、更广泛的支持等。 在进行AIX到Linux的迁移时,首先需要评估应用程序和数据AIX中的依赖关系和特性。这包括查看应用程序的源代码、依赖库、环境变量等。然后需要评估Linux上的兼容性和可行性,确保应用程序和数据可以在Linux上正常运行。 迁移过程中可能需要进行一些开发工作,比如修改代码以适应Linux环境、重新编译应用程序等。同时还需要考虑迁移后的系统配置、安全性、性能等因素。 在经历了迁移过程后,需要进行测试和验证,确保迁移后的系统在Linux上能够正常运行,并且达到预期的性能和稳定性要求。 总的来说,AIX迁移到Linux是一项复杂的任务,需要充分评估和规划。但通过迁移,可以享受到Linux操作系统的优势,并在成本和灵活性上获得更大的优势。 ### 回答2: AIX(Advanced Interactive eXecutive)是一种UNIX操作系统,而Linux是一种开源的操作系统。 将AIX迁移到Linux是一项复杂的任务,需要认真考虑以下因素: 1. 硬件兼容性:在将AIX迁移到Linux之前,需要确保所使用的硬件设备在Linux系统上能够正常运行。这可能需要升级或更换硬件组件,以确保兼容性。 2. 应用程序迁移迁移应用程序是迁移到Linux的关键步骤。在迁移过程中,需要对现有的AIX应用程序进行测试和调试,以确保在Linux系统上能够正常运行。一些应用程序可能需要进行适应性修改,以适应Linux环境的差异。 3. 数据迁移数据迁移迁移到Linux的另一个重要方面。在迁移过程中,需要确保所有的数据能够顺利地从AIX系统转移到Linux系统。这包括数据库、文件和配置文件等重要数据。需要仔细规划数据迁移过程以及确保数据的完整性和安全性。 4. 网络设置:在迁移到Linux之前,需要对网络设置进行调整。这包括IP地址、子网掩码、网关等。确保网络设置的正确性是迁移成功的关键。 5. 培训和支持:迁移到Linux需要员工具备相应的技能和知识。提供培训和支持,帮助员工熟悉Linux操作系统和相关工具,是非常重要的。 总结起来,将AIX迁移到Linux需要认真规划和准备。硬件兼容性、应用程序迁移数据迁移、网络设置以及培训和支持都是需要考虑的重要因素。通过仔细规划和有效执行,可以顺利完成AIX到Linux的迁移,并获得更好的性能和灵活性。 ### 回答3: AIX是IBM公司开发的一款基于UNIX的操作系统,而Linux是一款开放源代码的操作系统。AIX迁移到Linux可以带来一些好处。 首先,Linux是开源的,使得用户可以自由地修改和定制操作系统,满足各种特定需求。而AIX则是商业化的,用户使用受限,定制化程度较低。迁移到Linux可以让用户享受到更高的灵活性和自由度。 其次,Linux拥有广泛的社区支持和活跃的开发者社群,这意味着用户可以得到及时的支持和更新。而AIX的支持和更新相对较滞后。迁移到Linux可以使用户获得更好的技术支持和及时的安全补丁,提高系统的稳定性和安全性。 此外,Linux具有更好的兼容性和通用性。许多应用程序和工具都可以在Linux上运行,而在AIX上可能需要额外的配置和适配。迁移到Linux可以更好地满足用户的应用需求,提高生产效率。 最后,迁移到Linux还可以带来成本的降低。由于Linux是开源的,用户不需要支付高昂的授权费用,减少了运行成本。同时,Linux基于通用硬件构建,用户可以使用更多选择,并且价格更具竞争性。 总之,将AIX迁移到Linux可以带来更高的灵活性、社区支持、兼容性和成本优势。这将为用户带来更好的使用体验和更多的选择。然而,迁移过程可能涉及到一些配置和适配的工作,需要用户在迁移之前进行充分的规划和准备。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值