Linux系统软RAID和LVM磁盘操作手册

本文详细介绍了在CentOS系统中设置软件RAID(如RAID10)的步骤,包括创建、格式化和挂载,以及在RAID损坏后修复的过程。此外,还讲解了如何使用LVM进行逻辑磁盘空间扩展和磁盘合并的实际操作。
摘要由CSDN通过智能技术生成

Centos 系统下RAID 及LVM磁盘操作手册

一  软RAID设置

1.1 Centos系统下面使用mdadm软件实现软件RAID功能

安装 mdadm 软件

yum install mdadm -y

RAID 0 RAID10 RAID5 等类型这里就不再赘述了,通常为了安全我们会使用RAID10 或者RAID5,追求速度使用RAID0

首先准备4块硬盘挂载到机器里面启动

1.2接下来用mdadm命令创建RAID10

 [root@origin ~]# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde

mdadm: layout defaults to n2

mdadm: layout defaults to n2

mdadm: chunk size defaults to 512K

mdadm: size set to 1047552K

mdadm: Defaulting to version 1.2 metadata

mdadm: array /dev/md0 started.

[root@origin ~]#

C参数代表创建一个RAID阵列卡;-v参数显示创建的过程,同时在后面追加一个设备名称/dev/md0,这样/dev/md0就是创建后的RAID 磁盘阵列的名称;-a yes 参数代表自动创建设备文件;-n 4参数代表使用4块硬盘来部署这个RAID磁盘阵列;而-l 10参数则代表RAID10方案。

创建磁盘阵列成功之后,下一步就是格式化

1.3 格式化RAID

用mkfs命令格式化RAID磁盘阵列

[root@origin ~]# mkfs.ext4 /dev/md0

mke2fs 1.42.9 (28-Dec-2013)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=128 blocks, Stripe width=256 blocks

131072 inodes, 523776 blocks

26188 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=536870912

16 block groups

32768 blocks per group, 32768 fragments per group

8192 inodes per group

Superblock backups stored on blocks:

        32768, 98304, 163840, 229376, 294912

Allocating group tables: done                           

Writing inode tables: done                           

Creating journal (8192 blocks): done

Writing superblocks and filesystem accounting information: done

[root@origin ~]#

1.4 挂载磁盘阵列

创建目录并挂载磁盘阵列

[root@origin ~]# mkdir /raid

[root@origin ~]# mount /dev/md0 /raid

[root@origin ~]# df -h

Filesystem               Size  Used Avail Use% Mounted on

/dev/mapper/centos-root   18G  4.5G   14G  26% /

tmpfs                    914M  140K  914M   1% /dev/shm

tmpfs                    914M     0  914M   0% /sys/fs/cgroup

/dev/sda1                497M  119M  379M  24% /boot

/dev/md0                 2.0G  6.0M  1.9G   1% /raid

1.5我们还需要把挂载信息写入到配置文件中,使其永久生效

[root@origin ~]# echo "/dev/md0 /raid ext4 defaults 0 0">>/etc/fstab

[root@origin ~]# cat /etc/fstab

...省略部分内容

/dev/md0 /raid ext4 defaults 0 0

这样就把磁盘阵列挂载到了raid目录。

1.6 查看磁盘阵列信息

查看磁盘阵列信息

[root@origin ~]# mdadm -D /dev/md0

/dev/md0:

...省略部分内容

    Number   Major   Minor   RaidDevice State

       0       8       32        0      active sync set-A   /dev/sdc

       1       8       48        1      active sync set-B   /dev/sdd

       2       8       64        2      active sync set-A   /dev/sde

       3       8       80        3      active sync set-B   /dev/sdf

可以看到4块磁盘阵列中的4块磁盘均已正常工作。

至此,RAID10方案部署完成。

由此可见整个操作流程给添加硬盘----》创建RAID----》格式化----》挂载等步骤非常简单。

二 模拟RAID 中磁盘损坏后修复磁盘阵列

2.1 修复RAID10中坏掉的磁盘

模拟设备损坏

使用mdadm命令的-f参数模拟设备损坏

[root@origin ~]# mdadm /dev/md0 -f /dev/sdd

mdadm: set /dev/sdd faulty in /dev/md0

[root@origin ~]# mdadm -D /dev/md0

/dev/md0:

...省略部分内容

        Number   Major   Minor   RaidDevice State

       0       8       32        0      active sync set-A   /dev/sdc

       -       0        0        1      removed

       2       8       64        2      active sync set-A   /dev/sde

       3       8       80        3      active sync set-B   /dev/sdf

       1       8       48        -      faulty   /dev/sdd

在确认有一块物理硬盘设备出现损坏而不能继续正常使用后,使用mdadm命令将其移除,然后查看RAID磁盘阵列的状态,发现/dev/sdb磁盘的状态已经改变。

在RAID10级别的磁盘阵列中,当RAID1磁盘阵列中存在一个故障盘时并不影响RAID10 磁盘阵列的使用。当购买了新的硬盘设备后再使用 mdadm 命令来予以替换即可,在此期间我们可以在/RAID目录中正常地创建或删除文件。

由于我们是在虚拟机中模拟的,为了更真实,先重启系统,之后再继续后边的操作。

重启之后发现损坏的盘已经不再磁盘阵列中了

 [root@origin ~]# lsblk

2.2 取消磁盘阵列目录挂载

[root@origin ~]# df -h

 [root@origin ~]# umount /raid/

添加磁盘,需要先取消挂载

2.3 添加磁盘并加入磁盘阵列

取消挂载之后,我们再用mdadm命令的-a参数添加磁盘

[root@origin ~]# mdadm /dev/md0 -a /dev/sdb

可以看到/dev/sdb设备加入磁盘阵列成功 并正在重建数据复制中,等一会再看看状态就正常了

2.4 重新挂载磁盘阵列

可以看到磁盘阵列/dev/md0又成功挂载到/raid目录了。

至此就模拟出设备坏掉之后,重新用新磁盘修复的过程。

三 LVM逻辑磁盘空间扩展磁盘合并

3.1  LVM的常见名词

下面这些概念需要多看几遍理解方便后面操作:

PP (physical partition)是LVM中用于划分物理卷的最小单位,它是物理卷的基本构成单元,类似于磁盘分区中的扇区

物理卷(PV,Physical Volume):物理卷是指硬盘上的一个分区或整个硬盘,用于创建卷组和逻辑卷。

卷组(VG,Volume Group):卷组是由一个或多个物理卷组成的逻辑磁盘,它是逻辑卷的容器。

逻辑卷(LV,Logical Volume):逻辑卷是在卷组上划分出来的逻辑单位,它可以格式化为文件系统,并可以挂载到指定的目录上。

PE(Physical Extent):物理区块是LVM中的基本单位,它是物理卷和卷组之间的桥梁,用于管理逻辑卷。

LE(Logical Extent):逻辑区块是逻辑卷的基本单位,它是逻辑卷和文件系统之间的桥梁,用于管理文件系统。

创建LVM的步骤

3.2 LVM常见的命令

LVM的常见命令主要包括Pv、Vg、Lv三个部分,分别对应LVM的物理卷、卷组和逻辑卷。

具体命令如下:核心命令 多看几遍熟记下来

物理卷命令(pv

pvcreate:创建物理卷,初始化物理卷为LVM格式,例如:pvcreate /dev/sdb1

pvremove:删除物理卷,将物理卷上的数据删除并还原为原始状态,例如:pvremove /dev/sdb1

pvdisplay:显示物理卷的详细信息,例如:pvdisplay /dev/sdb1

卷组命令(vg

vgcreate:创建卷组,将多个物理卷放到同一个卷组中,例如:vgcreate myvg /dev/sdb1 /dev/sdc1

vgextend:扩展卷组,将新的物理卷加入到已有卷组中,例如:vgextend myvg /dev/sdd1

vgreduce:缩小卷组,将某个物理卷从卷组中移除,例如:vgreduce myvg /dev/sdb1

vgremove:删除卷组,将卷组上的所有逻辑卷和物理卷删除并还原为原始状态,例如:vgremove myvg

vgdisplay:显示卷组的详细信息,例如:vgdisplay myvg

逻辑卷命令(lv

lvcreate:创建逻辑卷,将卷组中的一部分空间分配给逻辑卷

例如:lvcreate -L 10G -n mylv myvg

lvextend:扩展逻辑卷,将卷组中的剩余空间分配给逻辑卷

例如:lvextend -L +5G /dev/myvg/mylv

lvreduce:缩小逻辑卷,将逻辑卷的空间缩小到指定大小

例如:lvreduce -L 2G /dev/myvg/mylv

lvremove:删除逻辑卷,将逻辑卷上的数据删除并还原为原始状态

例如:lvremove /dev/myvg/mylv

lvdisplay:显示逻辑卷的详细信息

例如:lvdisplay /dev/myvg/mylv

文字描述创建LVM的步骤

准备磁盘

安装新硬盘或使用已有硬盘。

对磁盘进行分区(可选),切割出物理卷的空间。

初始化物理卷

​ 使用pvcreate命令将物理卷格式化为LVM格式

创建卷组

​ 使用vgcreate命令将多个物理卷组成卷组

创建逻辑卷

​ 使用lvcreate命令将卷组中的一部分空间分配给逻辑卷

格式化逻辑卷

​ 使用mkfs命令将逻辑卷格式化为文件系统

挂载逻辑卷

使用mount命令将逻辑卷挂载到指定目录

设置开机自动挂载

将挂载信息写入/etc/fstab文件,以便开机自动挂载

3.3 LVM操作示例

给centos / 根目录扩展磁盘空间。

sda磁盘增加一个主分区 调整格式为lvm格式 按照以下方式操作

分区查看

 fdisk /dev/sda

n  增加分区

p  增加主分区

按照提示操作

t 变更分区ID

L 选择分片  8e

w保存退出

加载分区表

partprobe    (加载后免重启操作)

[root@harbor ~]# fdisk -l  (查看到新增得主分片 dev/sda3

Disk /dev/sda: 375.8 GB, 375809638400 bytes, 734003200 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0x000d4fd7

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048     2099199     1048576   83  Linux

/dev/sda2         2099200   419430399   208665600   8e  Linux LVM

/dev/sda3       419430400   734003199   157286400   8e  Linux LVM

默认安装centos后使用了LVM格式故已经有卷组了

先创建PV

pvcreate /dev/sda3

  Physical volume "/dev/sda3" successfully created.

vgs 查看

[root@harbor ~]# sudo vgs

  VG     #PV #LV #SN Attr   VSize    VFree

  centos   1   3   0 wz--n- <199.00g 4.00m

把sda3加入到LVM组中

其中 centos 为vg组名称,请根据具体情况填写

[root@harbor ~]# sudo vgextend centos /dev/sda3

  Volume group "centos" successfully extended

vgs 查看

[root@harbor ~]# sudo vgs

  VG     #PV #LV #SN Attr   VSize   VFree 

  centos   2   3   0 wz--n- 348.99g 150.00g

其中 centos 为vg组名称,请根据具体情况填写

扩展lv

先将 ​​/dev/sda3​​​ 扩展到 ​​/dev/mapper/centos-home​​(这个根据你自己需要扩展的目标填写)

[root@harbor ~]# lvextend /dev/mapper/centos-home  /dev/sda3

  Size of logical volume centos/home changed from 133.24 GiB (34110 extents) to <283.24 GiB (72509 extents).

  Logical volume centos/home successfully resized.

其中 /dev/sda3 为 pv 的名称

不带参数默认扩展所有Free空间,可以通过 -L 参数指定具体扩容的大小(单位为“kKmMgGtT”字节)

例如扩展1024兆空间的命令为:lvextend -L +1024M /dev/mapper/centos-home /dev/sda3

xfs在线扩容

[root@harbor ~]# df -T 查看 磁盘格式 为 xfs

扩容:

xfs_growfs /dev/mapper/centos-home

df -kh  确认扩容情况  完成

以上是 LVM磁盘扩展操作各位参考,不到之处欢迎有问题评论区指正!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值