linux下用mdadm命令创建磁盘阵列

 

linux下用mdadm命令创建磁盘阵列


2007-11-05 09:28:00    业界 |  评论(0) |  浏览(84)

本文讲述如何利用mdadm工具在Linux中创建和管理RAID磁盘阵列。  

不用我说你也应该知道备份的重要性。不过虽然大多数人都知道备份是非常重要的,但是我们实际对数据的备份次数却要少于理论上的最佳值。

目前市场上有多种备份解决方案,其中大部分都是采用快照的策略。换句话说,大多数系统在数据恢复时,都只能恢复到上次备份时的状态。而少数解决方案可以提供实时的备份能力

RAID,也就是我们常说的独立磁盘冗余阵列或者廉价磁盘冗余阵列,则是一种全面的增量备份解决方案。RAID具有多种模式和附加功能,基本的RAID就已经可以实时的保存多个文件副本了。

RAID通过两个或两个以上容量一致的磁盘组成一个阵列(或一个组)。之后在系统中,这些物理存储设备就会被统一看作一个整体,或者说是“元设备(meta device)”。

向这个阵列中写入数据,实际上就是将数据同时写入每个磁盘。因此当这个阵列中的一个磁盘发生错误,其它磁盘中的数据依然能得到保存。

当然,RAID并不能替代一个具有良好性能的即时备份工具,不过它却可以保证当你的硬盘出现故障时,不会仅能恢复到几天前的数据。另外,RAID还可以帮助你找回偶然删除的文件。

RAID的成本低廉,而且操作系统的内核也可以支持。你所要做的就是购买两块相同的硬盘,然后分成同样大小的分区。之后你可以从这里 下载mdadm工具,以便创建和管理RAID阵列。

比如创建一个RAID 5,可以使用如下命令

1.创建分区

五块SCSI磁盘分别 对应/dev/sda 、/dev/sdb、 /dev/sdc、 /dev/sdd、/ dev/sde。其中 第一块磁盘/dev/ sda分两个区,用于 安装RedHat AS 4和做交换分区,其他 四块磁盘每块只分一个 主分区,分别为/de v/sdb1、/de v/sdc1、/de v/sdd1、/de v/sde1,并且将 分区 类型指定为“fd”, 这将使Linux内核 能将它们识别为RAI D分区,且在每次引导 时自动被检测并启动。 创建分区使用fdis k命令。

# fdisk /dev/sdb

进入fdisk命令行 后,使用命令n创建分 区,命令t改变分区类 型,命令w保存分区表 并退出,命令m为帮助

2.创建RAID 5

这里使用了/dev/ sdb1、/dev/ sdc1、/dev/ sdd1、/dev/ sde1四个设备创建 RAID 5,其中/dev/s de1作为备份设备, 其他为活动设备。备份 设备主要起备用作用, 一旦某一设备损坏可以 立即用备份设备替换, 当然也可以不使用备份 设 备。命令格式如下:
# modprobe md
# mdadm -Cv /dev/md0 -l5 -n3 -x1 -c128 /dev/sd[b, c,d,e]1

命令中各参数分别表示 如下作用:“-C”指 创建一个新的阵列;“ /dev/md0”表 示阵列设备名称;“- l5”表示设置阵列模 式,可以选择0、1、 4、5、6,它们分别 对应于RAID0、R AID1、RAID4 、RAID5、RAI D6,这里设为RAI D5模式;“-n3” 指设置阵列中活动设备 的数 目,该数目加上备用设 备的数目应等于阵列中 的总设备数; “-x1”设置阵列中 备份设备的数目,当前 阵列中含有1个备份设 备;“-c128”指 设置块的尺寸为128 KB,缺省为64KB ;“/dev/sd[ b, c,d,e]1”指当 前阵列中包含的所有设 备标识符,也可以分开 来写,中间用空格分开 ,其中最后一个为备份 设备。
     我想配一个RAID5 没有备份盘,应该是 mdadm -Cv /dev/md0 -l5 -n4 -x0 -c128 /dev/sd[b, c,d,e]1吧?但 是使用 mdadm -D /dev/md0 查看阵列状态是发现, 阵列为degrade
     参考了mdadm源代 码,Create函数
/* If this is    raid5, we want to configure the last active slot
    * as missing, so that a reconstruc t happens (faster than re-parity)
    * FIX: Can we do this for raid6 as well?
    */
if (assume_cl ean==0 && force == 0 && first_miss ing >= raiddisks) {
    switch ( level ) {
    case 5:
     insert_poi nt = raiddisks- 1;
     sparedisks ++;
     array.acti ve_disks-- ;
     missing_di sks++;
     break;
    default:
     break;
    }
}
所以要使参数forc e==1就可以了,所 以在命令中加-f就可 以没有备份盘
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Linux创建磁盘阵列,您需要遵循以下步骤: 1. 确保您的系统上已经安装了RAID控制器。如果没有,请安装一个适合您的RAID控制器。 2. 安装mdadm软件包。这是一个Linux软件RAID管理器,可以帮助您创建和管理磁盘阵列。 3. 确定您要使用的磁盘。您可以使用fdisk或parted命令来查看和管理磁盘。 4. 创建一个RAID设备。您可以使用mdadm命令创建一个RAID设备。例如,要创建一个RAID 1设备,您可以使用以下命令mdadm --create /dev/md --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1 这将创建一个名为/dev/md的RAID 1设备,使用/dev/sda1和/dev/sdb1作为磁盘。 5. 格式化RAID设备。一旦您创建RAID设备,您需要使用mkfs命令来格式化它。例如,要使用ext4文件系统格式化/dev/md,您可以使用以下命令: mkfs.ext4 /dev/md 6. 挂载RAID设备。最后,您需要将RAID设备挂载到文件系统中。您可以使用mount命令来完成此操作。例如,要将/dev/md挂载到/mnt/raid目录中,您可以使用以下命令: mount /dev/md /mnt/raid 完成以上步骤后,您就可以开始使用您的新磁盘阵列了。 ### 回答2: 要在Linux创建磁盘阵列,您可以使用基本磁盘阵列RAID工具mdadm。以下是一个简单的步骤: 1. 确保您已经安装了mdadm工具。如果没有,请使用适用于您的Linux发行版的软件包管理器进行安装。 2. 打开终端窗口,并使用root或具有sudo权限的用户登录。 3. 通过运行以下命令之一,查看可用的磁盘的列表: - sudo fdisk -l # 查看所有磁盘 - sudo fdisk -l | grep "Disk /dev/sd" # 仅显示/dev/sd开头的磁盘 4. 选择要用于创建阵列的磁盘。请确保选择的磁盘没有重要数据,因为创建阵列将删除其中的所有数据。 5. 运行以下命令创建一个具有所选磁盘的新阵列: - sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdX /dev/sdY 在此命令中,将/dev/md0替换为您想要分配给阵列的设备名称,--level=1指定使用RAID级别1(镜像),--raid-devices=2指定使用2个磁盘,并用实际的磁盘路径(如/dev/sdX和/dev/sdY)替换/dev/sdX和/dev/sdY。 6. 运行以下命令检查阵列的创建状态: - sudo mdadm --detail /dev/md0 7. (可选)您可以将阵列配置为用于磁盘冗余或性能改进。例如,通过运行以下命令,将阵列配置为仅用于读取性能改进: - sudo mdadm --grow /dev/md0 --level=0 8. 在/etc/mdadm/mdadm.conf文件中保存新阵列的配置。运行以下命令之一: - sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf 或 - echo "DEVICE /dev/sdX /dev/sdY" | sudo tee -a /etc/mdadm/mdadm.conf 注意:将/dev/sdX和/dev/sdY替换为您创建阵列时使用的实际磁盘路径。 现在,您已经成功在Linux创建了一个磁盘阵列。您可以通过mount命令将其挂载到所需的目录,并将其用作额外的存储空间。 ### 回答3: 在Linux中,我们可以使用软件RAID技术来创建磁盘阵列。具体步骤如下: 1. **确定磁盘准备阵列:** 首先,确认要使用的磁盘数量,并确保这些磁盘都是空的,或者没有重要的数据,因为创建阵列会将这些磁盘上的所有数据清除。 2. **安装所需软件包:** 检查是否已安装mdadm软件包,如果没有安装,可以使用以下命令安装:`sudo apt-get install mdadm` 3. **创建RAID设备:** 使用以下命令创建RAID设备:`sudo mdadm --create /dev/md0 --level=<level> --raid-devices=<device count> /dev/<disk1> /dev/<disk2> ...` 这里需要替换`<level>`为所需的RAID级别(如0、1、5等),`<device count>`为要使用的磁盘数量,`<disk1>、<disk2> ...`为要使用的磁盘设备路径。 4. **查看RAID设备状态:** 使用以下命令检查RAID设备的状态:`cat /proc/mdstat`,该命令将显示设备的当前状态和同步进度。 5. **创建文件系统:** 使用以下命令RAID设备上创建文件系统:`sudo mkfs.ext4 /dev/md0`,将`/dev/md0`替换为你的RAID设备路径。 6. **挂载RAID设备:** 创建一个挂载点目录(如`/mnt/raid`),并使用以下命令RAID设备挂载到该目录:`sudo mount /dev/md0 /mnt/raid`。 7. **永久挂载设置:** 如果你希望在系统重新启动后仍然挂载RAID设备,需要在`/etc/fstab`文件中添加相应的挂载配置。 以上是在Linux创建磁盘阵列的基本步骤,希望对你有帮助!请注意,在操作过程中一定要小心,避免误操作导致数据丢失。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值