网站首页 > 技术教程 正文
mdadm 工具可以用来管理软 RAID,软 RAID 虽然性能上不如硬件 RAID,但是在性能要求不高或者对冗余性有要求的场景下,还是有其用武之地。由于成本原因,家用 NAS 不管说得有多么地天花乱坠,基本上采用的都是软 RAID 技术,谁让一块 RAID卡大几 K 呢。
本文采用 Ubuntu 作为实验环境。
首先,要确定可用于软 RAID 的磁盘设备,可以用虚拟机构建这样的环境,整坏了也不心疼,比如下面就是一个虚拟机的环境,系统安装在 vda 上,外挂了两个 iSCSI 的盘 sda 和 sdb:
$ lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 100G disk
sdb 100G disk
vda 20G disk
├─vda1 20G ext4 part /
└─vda15 1M part
sda 和 sdb 各 100G (Virtual Size)
创建 RAID 0 盘
要使用 sda 和 sdb 这两个设备创建一个 RAID 0 设备,可以使用如下命令:
$ sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda /dev/sdb
可以通过 /proc/mdstat 来查看:
$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid0 sdb[1] sda[0]
209584128 blocks super 1.2 512k chunks
unused devices: <none>
可见已经创建了一个使用 RAID 0 级别的软 RAID 设备,成员设备为 /dev/sda 和 /dev/sdb。
创建并挂载文件系统
接下来,可以在软 RAID 盘上创建一个文件系统并挂载:
$ sudo mkfs.ext4 -F /dev/md0
$ sudo mkdir -p /mnt/md0
$ sudo mount /dev/md0 /mnt/md0
检查文件系统是否可用:
$ df -h -x devtmpfs -x tmpfs
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 1.1G 18G 6% /
/dev/md0 197G 60M 187G 1% /mnt/md0
新文件系统已挂载并可访问。
为了确保系统启动时能自动扫描到软 RAID 盘,需要配置 /etc/mdadm/mdadm.conf 文件:
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
更新 initramfs 使系统在引导阶段就可以找到根磁盘(RH系使用dracut):
$ sudo update-initramfs -u
配置 /etc/fstab 自动挂载文件系统:
$ echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' |sudo tee -a /etc/fstab
注意:boot 分区如果使用软 RAID 盘,要使用 RAID 1,因为固件是不认识软 RAID 的,找不到引导文件就无法引导系统。
创建 RAID 1 设备
RAID 1 是 1:1 冗余的配置,创建方法类似,level 指定为 1:
$ sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb
创建 RAID 5 盘
RAID 5 至少需要三个成员设备,通过成员设备进行条带化,使单个设备故障时,从其它成员设备的数据中可以通过奇偶校验恢复出故障设备上的数据。指定 level=3 创建 RAID 5 设备:
$ sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc
查看当前生效配置
$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdc[3] sdb[1] sda[0]
209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
[===>.................] recovery = 15.6% (16362536/104792064) finish=7.3min speed=200808K/sec
unused devices: <none>
RAID 6 至少需要 4 个设备,这里就不赘述了:
$ sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
$ cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md0 : active raid6 sdd[3] sdc[2] sdb[1] sda[0]
209584128 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]
[>....................] resync = 0.6% (668572/104792064) finish=10.3min speed=167143K/sec
unused devices: <none>
删除软 RAID 盘
先找到当前在用的软 RAID 盘
$ cat /proc/mdstat
Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid0 sdc[1] sdd[0]
209584128 blocks super 1.2 512k chunks
unused devices: <none>
先要卸载文件系统:
$ sudo umount /dev/md0
在占用的设备是无法卸载的,如果无法卸载,需要先找到占用该设备的进程,释放资源。
停掉软 RAID 设备:
$ sudo mdadm --stop /dev/md0
删除软 RAID 盘:
$ sudo mdadm --remove /dev/md0
清理之前被用作软 RAID 成员盘的数据:
$ sudo mdadm --zero-superblock /dev/sdc
$ sudo mdadm --zero-superblock /dev/sdd
以上就是通过 mdadm 管理软 RAID 的基本用法了,实践是最好的老师,通过实际操作一定能有所收益。
猜你喜欢
- 2025-01-20 华硕AS6702T双盘位NAS搭载东芝N300 16TB开箱拆解评测
- 2025-01-20 ASUSTOR 爱速特 旗舰NAS AS7110T拆解评测
- 2025-01-20 分布式文件存储|Ceph分布式存储基础
- 2025-01-20 24TB SSD的华硕 FS6706T 全闪存NAS 会是未来最佳私有云解决方案吗?
- 2025-01-20 学习笔记-网络共享存储 - iSCSI 环境部与基础配置
- 2025-01-20 如何在centos7中搭建 ISCSI 服务
- 2025-01-20 Attach Volume 操作(Part II) - 每天5分钟玩转 OpenStack(54)
- 2025-01-20 CentOS7.6部署Oracle 11G R2 数据库RAC
- 2025-01-20 OpenStack云环境下多节点块存储研究
- 2025-01-20 Proxmox VE pve添加nfs/smb/iscsi/NTFS储存
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)