RAID5升级为RAID6需要借助逻辑卷的方法实现,逻辑卷中,可以通过pvmove实现数据动态移动功能。 具体步骤:
(一)创建RAID5: mdadm-C/dev/md5-l5-n3/dev/sda{5..7}###创建raid5 pvcreate/dev/md5###做成物理卷 vgcreatevg01/dev/md5##创建卷组 lvcreate-l100%FREE-nlv01vg01##创建逻辑卷 mkfs.ext3/dev/vg02/lv02##格式化 mount/dev/vg02/lv02/Oracle###挂载逻辑卷到目录中,然后拷贝数据到目录中,用来检测数据是否被破坏。
(二):将RAID5中的一块盘移除,用来创建RAID6 mdadm/dev/md5-f/dev/sda5-r/dev/sda5##将md5中的一块设备破快并且移除 mdadm-C/dev/md6-l6-n4/dev/sda5/dev/sda8missingmissing##形成新的RAID6. pvcreate/dev/md6 vgextendvg01/dev/md6##将RAID6加入卷组 pvmove/dev/md5##关键部分,用于释放md5原raid5中的数据,这将会写入到同一个卷组vg02中的raid6队列中的磁盘中。这里一定要等到pvdisplay查看显示出/dev/md5所有的空间全部释放后,才能执行后续的操作。
(三):将RAID5中的块设备添加到md6中 vgreducevg02/dev/md5##移除物理卷 mdadm-S/dev/md5##停掉md5 mdadm--zero/dev/sda6##将超级块上的信息清除 mdadm--zero/dev/sda7 mdadm/dev/md6-a/dev/sda{6,7}##将RAID5S释放的块设备加入到RAID6中。 到此为止,就升级成功了,要看是否成功,可以查看挂载目录oracle中的数据是否有丢失,没有丢失则升级成功。 这里还可以使用iostat查看块设备的数据状态,在移除块设备和添加块设备的时候。