ASM使用dd恢复数据

实验环境:

Disk /dev/sdb: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1246    10008463+  83  Linux
/dev/sdb2            1247        2492    10008495   83  Linux
/dev/sdb3            2493        3738    10008495   83  Linux
/dev/sdb4            3739        5221    11912197+  83  Linux

Disk /dev/sdc: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1        1246    10008463+  83  Linux
/dev/sdc2            1247        2492    10008495   83  Linux
/dev/sdc3            2493        3738    10008495   83  Linux
/dev/sdc4            3739        5221    11912197+  83  Linux
[root@dbserver ~]# 

磁盘组ARCH对应磁盘/dev/sdb4。



1.新建磁盘组ARCH2对应磁盘/dev/sdc4.


2.备份/dev/sdc4磁盘头(2个au,默认即2M)

[root@dbserver eisoo]# dd if=/dev/sdc4 of=/eisoo/sdc4_2097152 bs=2097152 count=1
1+0 records in
1+0 records out
2097152 bytes (2.1 MB) copied, 0.04031 seconds, 52.0 MB/s


3.将/dev/sdbb4磁盘全部dd到/dev/sdc4

[root@dbserver eisoo]# dd if=/dev/sdb4 of=/dev/sdc4 bs=209715200
58+1 records in
58+1 records out
12198090240 bytes (12 GB) copied, 354.003 seconds, 34.5 MB/s


4.将备份的/dev/sdc4磁盘头覆盖到/dev/sdc4

[root@dbserver eisoo]# dd if=/eisoo/sdc4_2097152 of=/dev/sdc4 bs=2097152 count=1 conv=notrunc
1+0 records in
1+0 records out
2097152 bytes (2.1 MB) copied, 0.087591 seconds, 23.9 MB/s



################################################################################

2-4步也可参照以下1步实现,注意skip和seek后接BLOCKS。

[root@dbserver eisoo]# dd if=/dev/sdb4 of=/dev/sdc4 bs=2097152 skip=1 seek=1
11910149+1 records in
11910149+1 records out
12195993088 bytes (12 GB) copied, 402.23 seconds, 30.3 MB/s

################################################################################


至此ARCH恢复到ARCH2,ARCH2只能供临时拷贝数据,不能重启,重启会报错,待研究。





<think>好的,我现在需要解决用户的问题:如何在ASM中添加VG,也就是如何将ASM与LVM的卷组(VG)进行集成。用户提到这可能与存储管理或虚拟化相关,所以我得先理解ASM和VG的基本概念以及它们之间的关系。 首先,ASM(Automatic Storage Management)是Oracle提供的一种存储管理解决方案,主要用于管理数据库文件,它可以自动分布数据以优化性能和可靠性。而LVM(Logical Volume Manager)是Linux系统中的逻辑卷管理工具,允许用户将物理存储设备抽象成物理卷(PV)、卷组(VG)和逻辑卷(LV),提供灵活的存储管理。 用户的需求可能是在使用ASM的同时,利用LVM的VG来管理存储设备。但根据Oracle的文档,ASM通常建议直接使用原始磁盘或分区,而不是经过LVM管理的逻辑卷,因为LVM可能会引入额外的管理层,影响性能或导致兼容性问题。不过,实际应用中可能存在特殊情况需要将ASM和VG结合使用,比如在已有LVM配置的环境中集成ASM,或者在数据恢复时需要处理VG中的ASM磁盘。 接下来,我需要参考用户提供的引用内容。引用[1]提到在LVM上配置ASM并安装MySQL,说明用户可能是在尝试将ASM数据文件存储在由LVM管理的逻辑卷上。引用[2]则讨论了一个案例,其中ASM磁盘被错误地加入到VG后如何恢复,这提示用户可能遇到类似的问题,或者想知道如何正确地将VG与ASM集成。 根据这些信息,我需要分步骤说明如何在ASM使用VG管理的存储设备。可能的步骤包括:准备物理卷,创建卷组,创建逻辑卷,配置ASM磁盘等。同时,需要注意避免潜在的问题,比如确保LVM不会覆盖ASM的元数据,或者正确设置权限和所有权。 另外,用户可能存在的误区是认为ASM和LVM可以完全整合,但实际上它们属于不同的存储管理层。需要明确两者的角色,ASM负责数据库文件的存储管理,而LVM提供底层的存储灵活性和扩展性。因此,正确的集成方法可能是通过LVM创建逻辑卷,然后将这些逻辑卷作为ASM磁盘使用。 在操作过程中,需要注意以下几点: 1. 在创建逻辑卷时,不能对逻辑卷进行格式化(如文件系统),因为ASM需要直接访问原始设备。 2. 需要正确设置ASM磁盘的权限,确保Oracle用户有访问权限。 3. 在将逻辑卷添加到ASM磁盘组之前,需要确保这些设备被ASM识别为候选磁盘。 可能还需要涉及的命令包括pvcreate、vgcreate、lvcreate等LVM命令,以及Oracle的ASM配置工具如asmca或命令行工具asmcmd。 此外,需要提醒用户潜在的风险,例如错误地将ASM磁盘加入VG可能导致数据丢失,引用[2]中的案例就提到了这种情况。因此,在操作前进行备份和谨慎检查非常重要。 总结来说,回答的结构应该包括: 1. 准备工作:确保物理卷可用,创建VG和LV。 2. 配置ASM磁盘:将LV作为ASM磁盘使用。 3. 创建ASM磁盘组并验证。 4. 注意事项和常见问题。 最后,根据用户要求生成相关问题,可能涉及ASM与LVM的区别、性能影响、故障恢复等。</think>### ASM与LVM卷组(VG)集成方法 在Oracle ASM使用LVM卷组需要将逻辑卷(LV)作为ASM磁盘使用,以下是具体操作步骤及注意事项: --- #### **一、基础概念** 1. **ASM磁盘**:必须是未格式化的块设备(无文件系统),由ASM直接管理其元数据 2. **LVM逻辑卷**:通过`/dev/mapper/`或`/dev/vgname/lvname`路径访问的原始块设备 --- #### **二、操作步骤** **步骤1:创建LVM逻辑卷** ```bash # 创建物理卷 pvcreate /dev/sdb # 创建卷组 vgcreate asm_vg /dev/sdb # 创建逻辑卷(不格式化) lvcreate -n asm_disk01 -L 100G asm_vg ``` **步骤2:配置ASM磁盘** ```bash # 修改权限 chown oracle:dba /dev/asm_vg/asm_disk01 # 设置持久化权限(示例使用udev规则) echo 'ACTION=="add", KERNEL=="asm_vg/asm_disk01", OWNER="oracle", GROUP="dba", MODE="0660"' > /etc/udev/rules.d/99-asm.rules ``` **步骤3:初始化ASM磁盘** ```bash # 使用Oracle ASMLib(可选) oracleasm createdisk ASM_DISK01 /dev/asm_vg/asm_disk01 # 或直接使用块设备路径 sqlplus / as sysasm > ALTER DISKGROUP DATA ADD DISK '/dev/asm_vg/asm_disk01'; ``` **步骤4:验证集成** ```bash # 查看ASM磁盘组 asmcmd lsdg # 检查逻辑卷状态 lvs -a -o +devices ``` --- #### **三、关键注意事项** 1. **禁止格式化**:逻辑卷不可包含文件系统,否则会破坏ASM数据[^2] 2. **容量对齐**:建议LV大小设置为AU(分配单元)的整数倍(Oracle 19c默认AU=4MB) 3. **性能影响**:LVM条带化可与ASM条带化叠加,但需避免过度分层导致I/O延迟增加 4. **恢复风险**:若误将ASM磁盘加入VG,需立即停止写入并使用`dd`备份原始数据[^2] --- #### **四、典型应用场景** 1. 在云环境中通过LVM实现存储动态扩展 2. 整合已有LVM存储到ASM架构 3. 数据恢复时临时挂载ASM磁盘到文件系统[^2] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值