Linux下如何创建与配置镜像卷?

在Linux系统中,创建镜像卷(通常指RAID 1)是提升数据可靠性的常用方法,通过将数据同时复制到多个磁盘实现冗余,即使单块磁盘故障也不会丢失数据,以下以主流工具mdadm为例,详细介绍Linux环境下镜像卷的完整搭建流程。

linux如何做镜像卷

准备工作

在创建镜像卷前,需确保系统已安装mdadm工具(Debian/Ubuntu系统可通过sudo apt install mdadm安装,CentOS/RHEL系统可通过sudo yum install mdadm安装),并准备好两块或多块未挂载的磁盘(此处以两块磁盘/dev/sdb/dev/sdc为例,容量建议相同)。

查看磁盘信息

使用lsblkfdisk -l命令确认磁盘状态,确保目标磁盘未被系统使用:

lsblk

输出示例中,/dev/sdb/dev/sdc应显示为独立的磁盘,无分区或文件系统。

清除磁盘分区表(可选)

若磁盘原有分区信息,需使用wipefsfdisk清除,避免冲突:

sudo wipefs -a /dev/sdb
sudo wipefs -a /dev/sdc

目标磁盘信息表

磁盘名称 容量 状态 用途
/dev/sdb 100GB 未使用 镜像卷成员1
/dev/sdc 100GB 未使用 镜像卷成员2

创建镜像卷(RAID 1)

使用mdadm创建RAID设备

通过mdadm --create命令创建RAID 1设备,指定设备名(如/dev/md0)、镜像级别(--level=1)、成员磁盘数量(--raid-devices=2)及成员磁盘路径:

sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc

执行后,系统会开始同步数据(初始同步可能耗时较长,取决于磁盘容量)。

查看RAID同步状态

使用cat /proc/mdstat实时监控同步进度,输出中[>....................]表示同步进度,resync表示正在同步:

linux如何做镜像卷

cat /proc/mdstat

配置RAID设备持久化

为避免系统重启后RAID设备失效,需将RAID信息写入配置文件/etc/mdadm/mdadm.conf

生成RAID详细信息

sudo mdadm --detail --scan >> /etc/mdadm/mdadm.conf

更新initramfs(可选)

部分系统需更新initramfs以确保RAID在启动时正确加载:

sudo update-initramfs -u  # Debian/Ubuntu
sudo dracut --force       # CentOS/RHEL

格式化并挂载镜像卷

格式化RAID设备

创建文件系统(如ext4):

sudo mkfs.ext4 /dev/md0

创建挂载点并挂载

sudo mkdir /mnt/raid1
sudo mount /dev/md0 /mnt/raid1

设置开机自动挂载

编辑/etc/fstab文件,添加RAID设备信息:

echo "/dev/md0 /mnt/raid1 ext4 defaults 0 0" | sudo tee -a /etc/fstab

可通过mount -a测试配置是否正确。

测试镜像功能

写入数据并验证

在挂载目录创建测试文件:

sudo dd if=/dev/zero of=/mnt/raid1/testfile bs=1M count=100

卸载RAID设备后,检查成员磁盘/dev/sdb/dev/sdc是否均包含该文件:

linux如何做镜像卷

sudo mdadm --stop /dev/md0
sudo mount /dev/sdb1 /mnt/test  # 需先创建分区,此处简化演示
ls /mnt/test/testfile

模拟磁盘故障

重新启动RAID设备,模拟/dev/sdb故障:

sudo mdadm --assemble /dev/md0 /dev/sdb /dev/sdc
sudo mdadm --fail /dev/md0 /dev/sdb
sudo mdadm --remove /dev/md0 /dev/sdb

此时RAID会自动切换到“degraded”状态(降级模式),但数据仍可正常访问。

监控与维护

  • 查看RAID状态sudo mdadm --detail /dev/md0
  • 添加替换磁盘:若故障磁盘修复或新磁盘加入,可通过sudo mdadm --add /dev/md0 /dev/sdd添加,系统会自动同步数据。

相关问答FAQs

Q1:镜像卷(RAID 1)和RAID 0有什么区别?
A:RAID 1(镜像卷)通过数据复制实现冗余,两块磁盘存储完全相同数据,安全性高但可用空间为单块磁盘容量(如两块100GB磁盘仅可用100GB);RAID 0(条带卷)将数据分段存储于多块磁盘,读写速度快,但无冗余,单块磁盘故障会导致所有数据丢失,可用空间为多块磁盘之和(如两块100GB磁盘可用200GB)。

Q2:如何修复镜像卷中的故障磁盘?
A:若RAID 1中某块磁盘故障,需先移除故障磁盘(sudo mdadm --fail /dev/md0 /dev/sdbsudo mdadm --remove /dev/md0 /dev/sdb),然后替换为新磁盘,使用sudo mdadm --add /dev/md0 /dev/sdb(新磁盘路径)将新磁盘加入RAID,系统会自动同步数据至新磁盘,同步完成后可通过mdadm --detail /dev/md0确认状态恢复为“clean”。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/38560.html

(0)
酷番叔酷番叔
上一篇 2025年10月8日 21:55
下一篇 2025年10月8日 22:11

相关推荐

  • iPhone如何远程连接Linux服务器?

    在数字化时代,连接服务器是管理网站、传输文件或远程运维的核心技能,本文详细讲解Linux系统和iPhone设备连接到服务器的专业方法,涵盖主流协议(SSH、FTP、SFTP)及安全实践,确保操作安全高效,基础概念:连接服务器的关键要素协议与端口SSH(安全外壳协议):默认端口22,用于加密命令行操作(如服务器运……

    2025年8月4日
    18000
  • 如何进入Linux根目录?

    通过命令行进入根目录(推荐)适用场景:服务器管理、脚本编写、高级用户操作步骤:打开终端桌面用户:按 Ctrl+Alt+T(Ubuntu/CentOS等主流发行版通用)无图形界面:直接登录后进入命令行切换至根目录输入以下命令:cd /验证路径:执行 pwd,若显示 即表示成功,:运行 ls 可列出根目录下的子目录……

    2025年7月6日
    17700
  • linux如何安装vsftp

    在Linux系统中安装和配置vsftpd(Very Secure FTP Daemon)是搭建安全FTP服务器的常见需求,vsftpd以其高安全性和稳定性被广泛使用,以下将详细说明在Linux环境下安装vsftpd的完整步骤,包括环境准备、安装过程、配置优化、安全设置及测试验证等内容,环境准备在安装vsftpd……

    2025年9月22日
    14400
  • linux如何设置断电

    在Linux系统中,设置断电操作涉及多种场景,包括手动定时关机/重启、自动化任务触发、UPS电源管理以及虚拟机环境下的断电配置等,不同场景下使用的工具和配置方法有所不同,本文将详细讲解各类断电设置的实现方式,帮助用户根据实际需求选择合适的方案,手动定时关机/重启命令Linux系统提供了多个命令用于手动触发关机或……

    2025年10月3日
    14900
  • Linux如何删除SSH密钥和符号链接?

    删除SSH密钥授权(常用场景)当需要撤销某SSH密钥对服务器的访问权限时,需从authorized_keys文件中移除对应公钥,操作步骤:登录目标服务器通过SSH连接服务器(若仍有访问权限):ssh username@server_ip编辑authorized_keys文件使用文本编辑器(如nano或vim)打……

    2025年8月7日
    15000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信