`
sexq
  • 浏览: 10984 次
  • 性别: Icon_minigender_1
  • 来自: 东莞
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Linux下软Raid1扩容方案

 
阅读更多

系统下的RAID1结构

通过命令:

mdadm -D /dev/md0

可以看到raid1由/dev/sdb1和/dev/sdc1两块硬盘分区组成,并且状态为"active sync"。

通过查看/proc/mdstat文件也可以知道/dev/md0由哪些分区组成raid1。

改造为RAID0+1

由于硬盘空间不足,所以要对raid1进行扩容。

主要思想就是把一块更大的硬盘换取raid1上的其中一块硬盘,然后等raid1同步数据,然后再把一块更大的硬盘换取raid1上的另一块小硬盘,就可以达到扩容的效果了。

由于大硬盘比较贵,放弃小硬盘双比较浪费,所以把两个以上的小硬盘组成raid0,这样就变成了一块容量大的硬盘,而且存储速度还比较快。

创建RAID0结构

先用fdisk对两块新硬盘/dev/sdd和/dev/sde进行分别分区为/dev/sdd1和/dev/sde1。

然后运行以下命令创建raid0:

mdadm --create /dev/md1 --level=0 --raid-devices=2 /dev/sdd1 /dev/sde1

参数说明:
--create:表示创建。
/dev/md1:为raid0的设备名,md后的数据可以随便定义。
--level=0:设置raid的级别,这里级别为0。
--raid-devices=2:设置raid的设备数,我们用两块硬盘组成raid0,所以这里为2。
/dev/sdd1 /dev/sde1:这里为组成raid0的设备,跟--raid-devices的数量有关。

创建完后可通过命令:

mdadm -D /dev/md1

看看/dev/md1的raid0是否正常工作。 也可查看/proc/mdstat文件是否已经有md1的信息。

最后修改文件/etc/mdadm/mdadm.conf,把新建的raid0加上去,确保开机启动:

ARRAY /dev/md1 UUID=7c60c049:57d60814:bd9a77f1:57e49c5b #UUID可能过mdadm -D /dev/md1查看

替换RAID1中的硬盘

我们先通过命令:

mdadm --manage /dev/md0 -f /dev/sdc1

把/dev/sdc1停掉,然后再通过以下命令把sdc1从raid1中移除,并把/dev/md1加上去:

mdadm --manage /dev/md0 -a /dev/md1 -r /dev/sdc1

然后等待同步,可通过命令:

mdadm -D /dev/md1

查看/dev/md1的状态是否变为"active sync",即代表同步完成。

同步完成后,就可以把剩下的/dev/sdb1也移除,换成raid0的设备了:

mdadm --manage /dev/md0 -f /dev/sdb1 #模拟/dev/sdb1出错
mdadm --manage /dev/md0 -r /dev/sdb1 #移除/dev/sdb1
mdadm --create /dev/md2 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1 #把sdb1和sdc1组成raid0
mdadm --manage /dev/md0 -a /dev/md2 #把raid0的md2添加到raid1的md0上

改变RAID1的容量

等md1和md2同步完成之后,就可以改变md0的容量了:

mdadm -G /dev/md0 --size=max
resize2fs /dev/md0

到此,raid1的扩容就完成了。

改造为LVM+RAID1

上面介绍了raid0+1,即把两个raid0组成一个raid1。但这种结构有个缺点,就是以后使用中,raid0结构的盘容量满了,这就需要重 新找新的硬盘重组raid0结构,但重组raid0结构数据都会丢失,所以加入到raid1后又要进行数据同步,如果数据量大,这是很费时间的。

基于以上的考虑,为了在以后扩容的时候不用重新同步数据,所以考虑用LVM代替raid0。

什么是LVM

LVM 的全名是 Logical Volume Manager,中文可以翻译为逻辑捲轴管理員。之所以称为『捲轴』可能是因为可以将 filesystem 像捲轴一樣伸长或缩短之故吧!LVM 的作法是将几个实体的 partitions (或 disk) 透过软体组合成为一块看起来是独立的大磁碟 (VG) ,然后将这块大磁碟再经过分割成為可使用分割槽 (LV), 最终就能夠挂载使用了。但是为什么这样的系统可以進行 filesystem 的扩充或缩小呢?其实与一个称为 PE 的项目有关! 底下我們就得要针对这几个项目来好好聊聊!

Physical Volume, PV, 实体捲轴

我们实际的 partition 需要调整系统识别码 (system ID) 成为 8e (LVM 的识別码),然后再经过 pvcreate 的指令将他转成 LVM 最底层的实体捲轴 (PV) ,之后才能夠将這些 PV 加以利用! 调整 system ID 的方是就是透过 fdisk!

Volume Group, VG, 捲轴群组

所谓的 LVM 大磁碟就是将许多 PV 整合成这個 VG 的东西!所以 VG 就是 LVM 组合起来的大磁碟!這么想就好了。 那么这個大磁碟最大可以到多少容量呢?這与底下要说明的 PE 有关喔~因为每个 VG 最多仅能包含 65534 个 PE 而已。 如果使用 LVM 预设的参数,则一个 VG 最大可达 256GB 的容量!(参考底下的 PE 說明)

Physical Extend, PE, 实体延伸区块

LVM 预设使用 4MB 的 PE 區塊,而 LVM 的 VG 最多仅能含有 65534 个 PE ,因此预设的 LVM VG 会有 4M*65534/(1024M/G)=256G。 这个 PE 是整个 LVM 最小的储存区块,也就是说,其实我们的档案资料都是藉由写入 PE 來处理的。 簡單的說,這個 PE 就有点像文件系统里面的 block 大小。 这样说应该就比较好理解了吧?所以调整 PE 会影响到 VG 的最大容量!

Logical Volume, LV, 逻辑捲轴

最终的 VG 还会被切成 LV,这个 LV 就是最后可以被格式化使用的类似分割槽的东西!那么 LV 是否可以随意指定大小呢? 当然不可以!既然 PE 是整个 LVM 的最小储存单位,那么 LV 的大小就与在此 LV 內的 PE 总数有关。 为了方便使用者利用 LVM 来管理其系统,因此 LV 的裝置文件名通常指定为『 /dev/vgname/lvname 』的样式!

此外,我們刚刚有谈到 LVM 可弹性的变更 filesystem 的容量,那是如何办到的?其实他就是透过『交换 PE 』来进行资料转换, 将原本 LV 內的 PE 移转到其他设备中以降低 LV 容量,或将其他设备的 PE 加到此 LV 中以加大容量! VG、LV 与 PE 的关系有点像下图:

Pe vg.gif

如上图所示,VG 內的 PE 会分给虚线部分的 LV,如果未来这个 VG 要扩充的話,加上其他的 PV 即可。 而最重要的 LV 如果要扩充的话,也是透过加入 VG 內沒有使用到的 PE 來扩充的!

制作流程

透过 PV, VG, LV 的规划之后,再利用 mkfs 就可以将你的 LV 格式化成为可以利用的文件系统了!而且这个文件系统的容量在未来还能夠進行扩充或减少, 而且里面的资料还不会被影响!实在是很方便,那制作方面要如何进行呢?很简单! 整个流程由基础到最终的结果可以这样看:

Lvm.gif

如此一来,我们就可以利用 LV 这个玩意来进行系统的挂载了。不过,你应该要觉得奇怪的是, 那么我的资料写入这个 LV 时,到底他是怎么写入硬盘当中的?其实,依据写入机制的不同,而有两种方式:

1.线性模式 (linear):假如我将 /dev/hda1, /dev/hdb1 这两个 partition 加入到 VG 当中,並且整个 VG 只有一个 LV 时,那么所谓的线性模式就是:当 /dev/hda1 的容量用完之后,/dev/hdb1 的硬盘才会被使用到, 这也是我们所建议的模式。

2.交错模式 (triped):那什么是交错模式?很简单啊,就是我将一笔资料拆成两部分,分別写入 /dev/hda1 与 /dev/hdb1 的意思,感觉上有点像 RAID 0!如此一来,一份资料用两颗硬盘来写入,理论上,读写的效能会比较好。

基本上,LVM 最主要的用处是在实现一个可以弹性调整容量的文件系統上, 而不是在建立一个效能为主的硬盘上,所以,我们应该利用的是 LVM 可以弹性管理整个 partition 大小的用途上,而不是着眼在效能上的。因此, LVM 预设的读写模式是线性模式! 如果你使用 triped 模式,要注意,当任何一个 partition 『归天』时,所有的资料都会『损毁』的! 所以,不是很适合使用这种模式啦!如果要强调效能与备份,那么就直接使用 RAID 即可, 不需要用到 LVM !

创建LVM

假设现在还是/dev/sdb1跟/dev/sdc1组成raid1,有两块新硬盘/dev/sdd和/dev/sde,用fdisk分别对这两块新硬盘进行分区为/dev/sdd1和/dev/sde1,并且system id为8e。

创建PV

用以下命令对sdd1跟sde1分区创建PV:

pvcreate /dev/sdd1 /dev/sde1

然后用pvscan命令查看是否创建成功。用pvdisplay可以查看更详细的信息。

创建VG

用以下命令把sdd1和sde1变成一个VG:

vgcreate -s 16M jobcnvg /dev/sdd1 /dev/sde1

参数说明:
-s 16M:为PE的大小,这就决定这个VG的最大容量为16M*65534/1024=1T,这个值以后可以通过vgchange来更改。
jobcnvg:为VG的名字,可以随便取。
/dev/sdd1 /dev/sde1:要加入的设备。

然后用vgscan命令查看是否创建成功。用vgdisplay可以查看详细信息。

创建LV

通过以下命令,把上面创建的jobcnvg,分出一个LV:

lvcreate -l 356 -n jobcnlv jobcnvg

参数说明:
-l 356:是PE的个数,用vgdisplay可以看到jobcnvg的"Free  PE"数量。
-n jobcnlv:是LV的名字,可以随便取。
jobcnvg:VG的名字。

然后用lvscan命令查看是否创建成功。用lvdisplay可以查看详细信息。

格式化LV

通过以上步骤,LVM就创建完成了,如果需要挂载使用,就得格式化:

mkfs -t ext3 /dev/jobcnvg/jobcnlv

LV扩容

增加一块硬盘/dev/sdf,通过fdisk把它格式化为/dev/sdf1,system id为8e。

创建PV:

pvcreate /dev/sdf1

扩充VG:

vgextend jobcnvg /dev/sdf1

扩大LV:

lvresize -l +179 /dev/vbirdvg/vbirdlv

参数说明:
-l +179:增加的PE数量,+号表示增加,-号表示减少,无符号表示设定为多少。

resize2fs /dev/vbirdvg/vbirdlv

替换RAID1中的硬盘

替换raid1中的硬盘可参考raid0+1中的替换硬盘,把换出来的硬盘再建成/dev/jobcnvg1/jobcnlv1再放上去,就组成了LVM+RAID1的结构了。

对LVM+RAID1中的LVM扩容

由于扩容的时候LV是不能被占用的,所以这里有两种方法对LV进行扩容。

方案1

先停掉RAID1的服务:

mdadm -S /dev/md0

然后把/dev/jobcnvg/jobcnlv和/dev/jobcnvg1/jobcnlv1进行扩容。

然后再启动RAID1的服务:

mdadm -A /dev/md0

方案2

不用停掉RAID1的服务,先把其中一块LVM移出RAID1:

mdadm -f /dev/md0 /dev/jobcnvg/jobcnlv
mdadm -r /dev/md0 /dev/jobcnvg/jobcnlv

对jobcnlv进行扩容后,再接上去:

mdadm --add /dev/md0 /dev/jobcnvg/jobcnlv

同理把jobcnlv1也按以上步骤扩容。

最后

无论用哪种方案,扩容后,都要把RAID1的容量更新:

resize2fs /dev/md0
分享到:
评论

相关推荐

    软RAID5阵列LVM逻辑卷实战数据恢复和阵列扩容.pdf

    ### 软RAID5阵列与LVM逻辑卷实战数据恢复及阵列扩容 #### 知识点一:软RAID5阵列基础概念与创建 软RAID5是一种软件实现的磁盘阵列技术,它利用多块硬盘通过算法实现数据冗余和条带化存储,从而提供数据安全性和...

    3.在CentOS7上扩容根目录_Centos7扩容磁盘_centos7扩容_

    本文将详细介绍在CentOS 7上扩容根目录的步骤,以及可能遇到的问题和解决方案。 1. **准备工作** 在扩容之前,你需要确保有一块未使用的硬盘或分区,或者已有的分区有额外的空间可以分配。这可能需要通过虚拟化...

    XXX公司LINUX文件系统扩容实施方案.doc

    Linux文件系统扩容和存储配置 RHEL6文件系统扩容, Netapp存储配置,RAID配置。划分LUN。主机识别存储LUN

    磁盘挂载、删除、扩容.docx

    Linux LVM 磁盘挂载、删除和扩容 Linux LVM(Logical Volume Manager)是一种逻辑卷管理系统,允许用户在 Linux 系统中轻松地管理存储设备。LVM 通过将物理存储设备组合成逻辑卷组,提供了一个灵活的存储管理解决...

    视频监控存储扩容方案.pdf

    本文档提供了一个视频监控存储扩容方案,旨在帮助相关人员了解如何通过合理的技术手段和产品选择,实现存储容量的扩充和性能的提升。 ### 硬件选型与配置 首先,为了满足大容量存储的要求,系统中使用了高容量的...

    pv在线调整 软raid

    根据描述部分的内容,“一般如果要给系统扩容,是不扩容pv的,将磁阵新建立好的LUN加入VG就可以了”,这表明通常情况下我们并不建议直接在线调整PV的大小,而是通过添加新的逻辑单元(LUN)到卷组(Volume Group,VG...

    浪潮磁盘阵列带HBA卡的扩容后重启centos服务器进不了图形界面.doc

    标题中的“浪潮磁盘阵列带HBA卡的扩容后重启centos服务器进不了图形界面”涉及了几个关键的IT知识点,包括磁盘阵列、HBA卡、Linux操作系统(特别是CentOS)以及系统维护与故障排查。接下来,我们将详细讨论这些概念...

    LSI-SAS-RAID卡命令行操作手册

    讲解了如何在不停机的情况下,对现有阵列进行扩容和迁移的操作,包括: - 阵列在线扩容; - 查看在线扩容进度; - 阵列在线迁移; - 不同级别阵列间的迁移支持信息。 七、硬盘外部RAID信息处理 解释了如何处理硬盘...

    IBM_M1115raid卡驱动

    IBM M1115 RAID卡是一款...总之,IBM M1115 RAID卡是数据中心和企业级应用中一个可靠的硬件解决方案,其驱动程序对于保持系统的稳定性和数据安全性至关重要。正确安装和管理驱动,将有助于最大化RAID卡的性能和可靠性。

    2022年数据中心存储扩容及数据容灾备份项目参数要求.docx

    1. **兼容性**:存储扩容方案需要与现有的虚拟化系统版本兼容,并无缝集成到现有的虚拟化集群中,共享资源。这涉及到效劳器、光纤交换机、存储虚拟化平台和存储设备等硬件设备的兼容性。 2. **PowerStore 存储扩容*...

    parted分区和LVM创建扩容卷组

    LVM通过抽象存储资源,提供了灵活的存储管理方案,包括但不限于创建卷组、逻辑卷,调整分区大小,以及动态扩容文件系统。通过掌握这些技术,可以更好地控制存储资源,优化存储空间的使用效率。在实际操作中,应该...

    ubuntu server最佳方案(文字版).zip

    23.6.4 扩容文件系统 368 23.7 更换硬盘 368 23.8 LVM分区备份 368 23.8.1 创建快照 369 23.8.2 备份快照内容 369 23.8.3 删除快照 370 第24章 Ubuntu Server系统安全 371 24.1 系统安全更新 371 24.1.1 ...

    服务器RAID技术及应用.docx

    软件RAID通常由操作系统层面支持,例如Windows Server、Linux等操作系统内置了对RAID的支持。软件RAID的优点在于成本较低,因为不需要额外的硬件设备。然而,它也有缺点,比如可能无法保护系统盘,且配置信息容易在...

    RAID常见问题手册

    ### RAID常见问题手册知识点解析 #### 一、RAID故障现象及分析 ##### 1....- **现象描述**:当磁盘出现故障...以上内容总结了RAID常见问题手册中涉及的关键知识点及其解决方案,为用户提供了一套全面而实用的指导方案。

    华为V2&V3服务器 RAID 控制卡 用户指南 49.pdf

    - 文档还提供了关于如何扩容RAID组的详细步骤和注意事项,例如添加新的磁盘到现有的RAID阵列中。 2. **安装驱动软件**: - 为了确保RAID控制卡能够正常工作并发挥最佳性能,需要正确安装对应的驱动程序。 - 文档...

    H730P安装SSD

    通过本教程,读者可以了解到如何在Linux环境下安装MegaRAID Storage Manager (MSM),以及如何设置缓存策略来提升SSD的读写性能。 #### 二、安装与配置步骤 ##### 1. 安装MegaRAID Storage Manager (MSM) - **...

    影视制作系统存储解决方案.pdf

    Qnap TS-EC1679U-SAS-RP是一款高性能、高度扩展的网络存储系统,支持SAS硬盘和虚拟化应用,配备QTS操作系统,提供强大的数据处理能力,以及便捷的管理和扩容功能。 综上所述,NAS网络存储解决方案在影视制作中扮演...

    Adaptec 阵列卡配置指南

    - 支持热插拔和在线扩容。 - 提供实时性能监控和故障报警功能。 - 支持远程管理和配置。 - 可以通过Adaptec Storage Manager等工具进行管理和维护。 #### 存储管理软件的介绍与使用 ##### 2.2 Adaptec RAID ...

    医院电话随访系统解决方案.docx

    系统的可扩展性则允许医院根据自身需求,对系统进行外线和坐席的扩容,扩容过程互不干扰,可以同时进行。 在系统安全性方面,医院电话随访系统解决方案采用了LINUX操作系统,该系统本身就具有极高的安全性,数据库...

Global site tag (gtag.js) - Google Analytics