linux编译安装madam,linux 下 使用 mdadm 创建阵列

本文详细介绍了如何使用madam工具在Linux环境下搭建RAID1阵列的过程,包括分区设置、阵列创建及格式化挂载等步骤,并提供了大于2TB硬盘的支持方案。

首先安装madam 各个系统命令不同正常, 一般 *** install/add mdadm就可

目前我们硬件环境是

/dev/sda 8Gb数据盘

/dev/sdb 8Gb数据盘

/dev/sdc 系统盘

需要把/dev/sda和/dev/sdb组成raid1阵列 保障数据安全

第一步 分区

/dev/sda和/dev/sdb分别分区,设置一个主分区,并且类型设置为阵列

具体操作如下

fdisk /dev/sda

d # 删除已有的所有分区,如果没有回提示没有分区

n # 创建新分区

p # 分区类型为主分区

1 # 分区号为1

{回车} # 磁道起始位置默认最前

{回车} # 磁道结束位置默认最后

t # 设置分区类型

fd # 类型为raid阵列类型

p # 输出分区类型

w # 操作写入硬盘

q # 退出fdisk

ls /dev/sd* # 查看应该出现了 /dev/sdb1 分区了

如果报错,或者分区没有生效,不需要重启,只要运行partprobe重新加载一下分区表即可

p的时候可以看到结果是这样的

Disk /dev/sdb: 8192 MB, 8589934592 bytes, 16777216 sectors

1044 cylinders, 255 heads, 63 sectors/track

Units: sectors of 1 * 512 = 512 bytes

Device Boot StartCHS EndCHS StartLBA EndLBA Sectors Size Id Type

/dev/sdb1 0,1,1 1023,254,63 63 16777215 16777153 8191M fd Linux raid autodetect

mdadm -E /dev/sd* 可以看到分区情况了, /dev/sda和/dev/sdb已经有一个分区,并且type是fd

/dev/sda:

MBR Magic : aa55

Partition[0] : 16777153 sectors at 63 (type fd)

mdadm: No md superblock detected on /dev/sda1.

/dev/sdb:

MBR Magic : aa55

Partition[0] : 16777153 sectors at 63 (type fd)

mdadm: No md superblock detected on /dev/sdb1.

/dev/sdc:

MBR Magic : aa55

Partition[0] : 204800 sectors at 2048 (type 83)

Partition[1] : 3002368 sectors at 206848 (type 82)

Partition[2] : 38733824 sectors at 3209216 (type 83)

/dev/sdc1:

MBR Magic : aa55

Partition[0] : 432871117 sectors at 3224498923 (type 07)

Partition[1] : 1953460034 sectors at 3272020941 (type 16)

Partition[3] : 924335794 sectors at 50200576 (type 00)

mdadm: No md superblock detected on /dev/sdc2.

mdadm: No md superblock detected on /dev/sdc3.

第一步(大于2TB硬盘)

fdisk仅支持2TB以内硬盘,大于2TB的硬盘,需要使用parted转换为gpt格式

具体方法如下

parted /dev/sda

mklabel gpt # 设置分区类型为gpt

mkpart extended 0 -1 # (扩展分区extended,主分区primary,并使用整个硬盘,建议用扩展分区,主分区会多出一个小分区)

print (查看一下)

两个盘同样设置,只不过 fdisk 中设置分区类型为fd 那一步不成功,设置前后都是ee没变化,不过貌似不影响组建阵列。

第二步 创建阵列

mdadm -C -v /dev/md0 -l 1 -n 2 /dev/sda1 /dev/sdb1

参数说明

-C # 创建阵列

-v /dev/md0 # 创建名为/dev/md0 的虚拟设备

-l 1 # 阵列类型是 raid1

-n 2 /dev/sda1 /dev/sdb1 # 使用两个分区来创建,分区名称是/dev/sda1 /dev/sdb1 注意后面的 1 这是是选择分区不是硬盘

-x 1 /dev/xxxx1 # 使用1个热备盘,如果阵列失效会自动用热备盘顶替

输入y确认

然后记得一定要保存配置好的结果mdadm –detail –scan > /etc/mdadm.conf

接着把mdadm-raid加到启动项里面 rc-update add mdadm-raid sysinit

因为service里面定义了在checkfs fsck swap之前运行,所以是先加载阵列再挂载

depend() {

before checkfs fsck swap

after modules

}

这里我们可以输入mdadm -D /dev/md0查看分区情况

/dev/md0:

Version : 1.2

Creation Time : Fri Oct 18 04:56:34 2019

Raid Level : raid1

Array Size : 8383424 (8.00 GiB 8.58 GB)

Used Dev Size : 8383424 (8.00 GiB 8.58 GB)

Raid Devices : 2

Total Devices : 2

Persistence : Superblock is persistent

Update Time : Fri Oct 18 04:56:49 2019

State : clean, resyncing

Active Devices : 2

Working Devices : 2

Failed Devices : 0

Spare Devices : 0

Consistency Policy : resync

Resync Status : 42% complete (注意这里进度,进度满了才能用吧)

Name : docker:0 (local to host docker)

UUID : 2bb4165b:168c41b7:25ffaa41:96e33615

Events : 6

Number Major Minor RaidDevice State

0 8 1 0 active sync /dev/sda1

1 8 17 1 active sync /dev/sdb1

第三步 创建分区

至此我们可以把/dev/md0当成一个分区来格式化, 并且挂载了

mkfs.ext4 /dev/md0

mkdir /data

mount /dev/md0 /data

在/etc/fstab中添加自动挂载信息

/dev/md0 /data ext4 defaults 0 0

测试一下性能,alpine之类精简系统可能不显示速度

# 测试写入

dd if=/dev/zero of=file bs=1M count=1024

# 测试读取

dd if=file of=/dev/null

删除 raid 中分区

# 取消挂载

umount /dev/md0

# 停止使用分区

mdadm -S /dev/md0

# 删除分区

fdisk # 用d命令删除

# 在/etc/fstab 中删除挂载信息

阵列未保存恢复

如果创建好设备后没有保存配置,重启后会丢失配置,这时候我们用

mdadm -A /dev/md0 /dev/sd[a-b]1

即可恢复,如果缺少设备,也可用此方法利用剩余设备恢复阵列

如果/etc/mdadm.conf中有记录.直接mdadm -As即可恢复

参考文章:https://pch18.cn/archives/263.html

<think>好的,我现在需要在欧拉系统(EulerOS)上安装madam命令。首先,我需要确认用户提到的“madam”是否是指正确的软件包。根据提供的引用内容,引用[3]提到“madamlinux下用于创建和管理软件RAID的命令”,但正确的命令应该是“mdadm”,可能用户存在拼写错误。因此,我需要首先纠正这一点,确认用户需要安装的是mdadm工具。 接下来,我需要确定在EulerOS中如何安装mdadm。通常,在基于RPM的Linux发行版中,可以使用yum或dnf包管理器来安装软件包。EulerOS属于华为的企业级Linux发行版,基于CentOS,因此应该使用yum命令。根据引用[3]中的信息,mdadmmdadm包提供,因此安装命令应为`yum install mdadm`。 但是,为了确保步骤正确,我需要检查是否存在任何依赖或额外的配置。例如,是否需要启用特定的软件仓库?根据常规经验,mdadm应该包含在默认仓库中,所以直接安装即可。安装完成后,用户可能需要将阵列配置添加到启动项,如引用[1]和[2]提到的,使用`rc-update add mdadm-raid sysinit`或者修改启动脚本。不过,EulerOS可能使用systemd,因此可能需要不同的方法,比如使用systemctl启用服务。但根据引用[2]中的信息,在rc.sysinit中添加命令`mdadm -as /dev/md0`可以让阵列随系统启动。不过,这里需要注意EulerOS的初始化系统是SysVinit还是systemd,这会影响配置方法。 此外,用户可能需要基本的mdadm使用示例,比如创建阵列、启动/停止阵列,如引用[2]中提到的命令`mdadm -as /dev/md0`启动阵列,`mdadm -s /dev/md0`停止阵列安装完成后,用户需要验证是否安装成功,可以运行`mdadm --version`。 总结安装步骤应该是:1. 更新系统;2. 使用yum安装mdadm;3. 验证安装;4. 配置自动启动阵列(可能需要编辑启动脚本或使用systemd服务)。同时,需要注意用户可能遇到的常见问题,比如依赖问题或服务配置错误。 现在需要将这些步骤以清晰的中文回答呈现,并生成相关问题。</think>### 在 EulerOS 系统中安装 mdadm 的方法 1. **确认系统环境并更新软件源** 执行以下命令更新系统软件包列表,确保使用最新仓库信息: ```bash sudo yum update ``` 2. **安装 mdadm 软件包** mdadm 是管理 Linux 软件 RAID 的核心工具,通过 yum 直接安装: ```bash sudo yum install mdadm ``` 3. **验证安装** 安装完成后,检查版本以确认安装成功: ```bash mdadm --version ``` 4. **配置 RAID 阵列随系统启动** - **若使用 SysVinit**:在启动脚本 `/etc/rc.sysinit` 中添加命令: ```bash mdadm -as /dev/md0 # 替换为实际阵列设备名 ``` - **若使用 systemd**:通过 `systemctl` 启用 `mdmonitor` 服务(部分系统需额外配置): ```bash sudo systemctl enable mdmonitor ``` 5. **基本使用示例** - 启动阵列: ```bash sudo mdadm -as /dev/md0 ``` - 停止阵列: ```bash sudo mdadm -s /dev/md0 ``` --- ### 引用说明 - mdadmLinux 内核模块 `md` 的管理工具,用于创建和管理软件 RAID 阵列[^3]。 - 阵列的启动命令可集成到系统初始化脚本中,实现开机自动加载[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值