现在位置:首页 » linux技术部 » 组装分区为RAID设备——创建和管理系统备份

组装分区为RAID设备——创建和管理系统备份

时间:2016-7-25 | 作者:楼台听枫雨 | 分类:linux技术部 | 评论(0) | 浏览(2352) | uedbet最新网站: linux centos7 raid

了解RAID

这种被称为独立磁盘冗余阵列(Redundant Array of Independent Disks)(RAID)的技术是将多个硬盘组合成一个单独逻辑单元的存储解决方案,它提供了数据冗余功能并且改善硬盘的读写操作性能。

然而,实际的容错和磁盘 I/O 性能硬盘取决于如何将多个硬盘组装成磁盘阵列。根据可用的设备和容错/性能的需求,RAID 被分为不同的级别,你可以参考 RAID 系列文章以获得每个 RAID 级别更详细的解释。

  • 在 Linux 下使用 RAID(一):介绍 RAID 的级别和概念
  • 我们选择用于创建、组装、管理、监视软件 RAID 的工具,叫做 mdadm (multiple disk admin 的简写)。

    1. ---------------- Debian 及衍生版 ----------------
    2. # aptitude update && aptitude install mdadm
    1. ---------------- Red Hat 和基于 CentOS 的系统 ----------------
    2. # yum update && yum install mdadm
    1. ---------------- openSUSE ----------------
    2. # zypper refresh && zypper install mdadm #

    将分区组装成 RAID 设备

    组装已有分区作为 RAID 设备的过程由以下步骤组成。

    1. 使用 mdadm 创建阵列

    如果先前其中一个分区已经格式化,或者作为了另一个 RAID 阵列的一部分,你会被提示以确认创建一个新的阵列。假设你已经采取了必要的预防措施以避免丢失重要数据,那么可以安全地输入 Y 并且按下回车。

    1. # mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1

    创建 RAID 阵列

    创建 RAID 阵列

    2. 检查阵列的创建状态

    在创建了 RAID 阵列之后,你可以检查使用以下命令检查阵列的状态。

    1. # cat /proc/mdstat
    2. or
    3. # mdadm --detail /dev/md0 [More detailed summary]

    检查 RAID 阵列的状态

    检查 RAID 阵列的状态

    3. 格式化 RAID 设备

    如本系列第四讲所介绍的,按照你的需求/要求采用某种文件系统格式化你的设备。

    4. 监控 RAID 阵列服务

    让监控服务时刻监视你的 RAID 阵列。把# mdadm --detail --scan命令输出结果添加到 /etc/mdadm/mdadm.conf(Debian及其衍生版)或者/etc/mdadm.conf(Cent0S/openSUSE),如下。

    1. # mdadm --detail --scan

    监控 RAID 阵列

    监控 RAID 阵列

    1. # mdadm --assemble --scan [Assemble the array]

    为了确保服务能够开机启动,需要以 root 权限运行以下命令。

    Debian 及其衍生版

    Debian 及其衍生版能够通过下面步骤使服务默认开机启动:

    1. # update-rc.d mdadm defaults

    在 /etc/default/mdadm 文件中添加下面这一行

    1. AUTOSTART=true

    CentOS 和 openSUSE(systemd-based)

    1. # systemctl start mdmonitor
    2. # systemctl enable mdmonitor

    CentOS 和 openSUSE(SysVinit-based)

    1. # service mdmonitor start
    2. # chkconfig mdmonitor on

    5. 检查RAID磁盘故障

    在支持冗余的的 RAID 级别中,在需要时会替换故障的驱动器。当磁盘阵列中的设备出现故障时,仅当存在我们第一次创建阵列时预留的备用设备时,磁盘阵列会将自动启动重建。

    检查 RAID 故障磁盘

    检查 RAID 故障磁盘

    否则,我们需要手动将一个额外的物理驱动器插入到我们的系统,并且运行。

    1. # mdadm /dev/md0 --add /dev/sdX1

    /dev/md0 是出现了问题的阵列,而 /dev/sdx1 是新添加的设备。

    6. 拆解一个工作阵列

    如果你需要使用工作阵列的设备创建一个新的阵列,你可能不得不去拆解已有工作阵列——(可选步骤)

    1. # mdadm --stop /dev/md0 # Stop the array
    2. # mdadm --remove /dev/md0 # Remove the RAID device
    3. # mdadm --zero-superblock /dev/sdX1 # Overwrite the existing md superblock with zeroes

    7. 设置邮件通知

    你可以配置一个用于发送通知的有效邮件地址或者系统账号(确保在 mdadm.conf 文件中有下面这一行)。——(可选步骤)

    1. MAILADDR root

    在这种情况下,来自 RAID 后台监控程序所有的通知将会发送到你的本地 root 账号的邮件箱中。其中一个类似的通知如下。

    说明:此次通知事件和第5步中的例子相关。此处一个设备被标志为错误,并且一个空闲的设备自动地被 mdadm 加入到阵列。我们用完了所有“健康的”空闲设备,因此我们得到了通知。

    RAID 监控通知

    RAID 监控通知

    了解 RAID 级别

    RAID 0

    阵列总大小是最小分区大小的 n 倍,n 是阵列中独立磁盘的个数(你至少需要两个驱动器/磁盘)。运行下面命令,使用 /dev/sdb1 和 /dev/sdc1 分区组装一个 RAID 0 阵列。

    1. # mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1

    常见用途:用于支持性能比容错更重要的实时应用程序的设置

    RAID 1 (又名镜像)

    阵列总大小等于最小分区大小(你至少需要两个驱动器/磁盘)。运行下面命令,使用 /dev/sdb1 和 /dev/sdc1 分区组装一个 RAID 1 阵列。

    1. # mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1

    常见用途:操作系统的安装或者重要的子文件夹,例如 /home

    RAID 5 (又名奇偶校验码盘)

    阵列总大小将是最小分区大小的 (n-1) 倍。所减少的大小用于奇偶校验(冗余)计算(你至少需要3个驱动器/磁盘)。

    说明:你可以指定一个空闲设备 (/dev/sde1) 替换问题出现时的故障部分(分区)。运行下面命令,使用 /dev/sdb1, /dev/sdc1, /dev/sdd1,/dev/sde1 组装一个 RAID 5 阵列,其中 /dev/sde1 作为空闲分区。

    1. # mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1 --spare-devices=1 /dev/sde1

    常见用途:Web 和文件服务

    RAID 6 (又名双重奇偶校验码盘)

    阵列总大小为(ns)-2s,其中n为阵列中独立磁盘的个数,s为最小磁盘大小。

    说明:你可以指定一个空闲分区(在这个例子为 /dev/sdf1)替换问题出现时的故障部分(分区)。

    运行下面命令,使用 /dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/sde1 和 /dev/sdf1 组装 RAID 6 阵列,其中 /dev/sdf1 作为空闲分区。

    1. # mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde --spare-devices=1 /dev/sdf1

    常见用途:大容量、高可用性要求的文件服务器和备份服务器。

    RAID 1+0 (又名镜像条带)

    因为 RAID 1+0 是 RAID 0 和 RAID 1 的组合,所以阵列总大小是基于两者的公式计算的。首先,计算每一个镜像的大小,然后再计算条带的大小。

    1. # mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sd[b-e]1 --spare-devices=1 /dev/sdf1

    常见用途:需要快速 IO 操作的数据库和应用服务器

    创建和管理系统备份

    记住, RAID 其所有的价值不是在于备份的替换者!在黑板上写上1000次,如果你需要的话,但无论何时一定要记住它。在我们开始前,我们必须注意的是,没有一个放之四海皆准的针对所有系统备份的解决方案,但这里有一些东西,是你在规划一个备份策略时需要考虑的。

  • 你的系统将用于什么?(桌面或者服务器?如果系统是应用于后者,那么最重要的服务是什么?哪个配置是痛点?)
  • 你每隔多久备份你的系统?
  • 你需要备份的数据是什么(比如文件/文件夹/数据库转储)?你还可以考虑是否需要备份大型文件(比如音频和视频文件)。
  • 这些备份将会存储在哪里(物理位置和媒体)?
  • 备份你的数据

    方法1:使用 dd 命令备份整个磁盘。你可以在任意时间点通过创建一个准确的镜像来备份一整个硬盘或者是分区。注意当设备是离线时,这种方法效果最好,也就是说它没有被挂载并且没有任何进程的 I/O 操作访问它。

    这种备份方法的缺点是镜像将具有和磁盘或分区一样的大小,即使实际数据占用的是一个很小的比例。比如,如果你想要为只使用了10%的20GB的分区创建镜像,那么镜像文件将仍旧是20GB。换句话来讲,它不仅包含了备份的实际数据,而且也包含了整个分区。如果你想完整备份你的设备,那么你可以考虑使用这个方法。

    从现有的设备创建一个镜像文件

    1. # dd if=/dev/sda of=/system_images/sda.img
    2. 或者
    3. --------------------- 可选地,你可以压缩镜像文件 -------------------
    4. # dd if=/dev/sda | gzip -c > /system_images/sda.img.gz

    从镜像文件恢复备份

    1. # dd if=/system_images/sda.img of=/dev/sda
    2. 或者
    3. --------------------- 根据你创建镜像文件时的选择(译者注:比如压缩) ----------------
    4. # gzip -dc /system_images/sda.img.gz | dd of=/dev/sda

    方法2:使用 tar 命令备份确定的文件/文件夹——已经在本系列第三讲中讲了。如果你想要备份指定的文件/文件夹(配置文件,用户主目录等等),你可以使用这种方法。

    方法3:使用 rsync 命令同步文件。rsync 是一种多功能远程(和本地)文件复制工具。如果你想要从网络设备备份或同步文件,rsync 是一种选择。

    无论是你是正在同步两个本地文件夹还是本地 < — > 挂载在本地文件系统的远程文件夹,其基本语法是一样的。

    1. # rsync -av source_directory destination_directory

    在这里,-a 递归遍历子目录(如果它们存在的话),维持符号链接、时间戳、权限以及原本的属主/属组,-v 显示详细过程。

    rsync 同步文件

    rsync 同步文件

    除此之外,如果你想增加在网络上传输数据的安全性,你可以通过 ssh 协议使用 rsync。

    通过 ssh 同步本地到远程文件夹

    1. # rsync -avzhe ssh backups root@remote_host:/remote_directory/

    这个示例,本地主机上的 backups 文件夹将与远程主机上的 /root/remote_directory 的内容同步。

    在这里,-h 选项以易读的格式显示文件的大小,-e 标志用于表示一个 ssh 连接。

    rsync 同步远程文件

    rsync 同步远程文件

    通过ssh同步远程到本地文件夹

    在这种情况下,交换前面示例中的 source 和 destination 文件夹。

    1. # rsync -avzhe ssh root@remote_host:/remote_directory/ backups

    请注意这些只是 rsync 用法的三个示例而已(你可能遇到的最常见的情形)。对于更多有关 rsync 命令的示例和用法 ,你可以查看下面的文章。

  • 在 Linux 下同步文件的10个 rsync命令
  • 总结

    作为一个系统管理员,你需要确保你的系统表现得尽可能好。如果你做好了充分准备,并且如果你的数据完整性能被诸如 RAID 和系统日常备份的存储技术支持,那你将是安全的。

    如果你有有关完善这uedbet改名字的问题、评论或者进一步的想法,可以在下面畅所欲言。除此之外,请考虑通过你的社交网络简介分享这系列文章。

    本文固定链接:http://www.fengtec.net/?post=37
    本文由楼台听枫雨原创或编辑,互联分享,尊重版权,转载请以链接形式标明本文地址

    发表评论:

  • 最新文章

  • Deepin Linux 检测串口并查看串口消息
  • U-NAS 下VirtualBox虚拟化-自启动服务
  • 有办法自动整合VMware快照?
  • Linux下使用vsftp搭建FTP服务器实现文件共享
  • 转vSphere Data Protection 6.1.2部署与配置
  • 分类

  • 文艺(2)
  • 生活(0)
  • 技术空间(0)
  • linux技术部(36)
  • windows技术部(7)
  • vmware虚拟化技术部(5)
  • uedbet最新网站

  • 人类的意识从何而来
  • VMware
  • linux
  • vpn
  • centos
  • 7
  • mysql
  • 安装
  • iptables
  • ntp
  • SERVER
  • 2003域控
  • 2012域控
  • 2008R2
  • DFS分布式文件系统
  • raspberry
  • pi
  • rasbian
  • raspberrypi
  • Raspbian
  • vsftp
  • centos7
  • 迅雷远程下载
  • NAS
  • 2008
  • 密码找回
  • oracle
  • 11g2
  • linx
  • RPM包依赖关系
  • apache
  • php
  • oracle11gR2安装
  • rpm安装
  • version
  • radius
  • 802.1X
  • ssh防暴力破解
  • 安全策略
  • LVM
  • Samba
  • NFS
  • raid
  • iscsi
  • tab补全
  • tab补全命令
  • tab命令补全
  • userhome
  • autofs
  • ipa-server
  • WIN2012激活
  • 源码安装软件
  • .zip
  • .7z
  • .rar
  • ubuntu
  • ufw
  • ibm_dsa_vmware_esxi日志
  • KMS服务器
  • enable
  • service
  • /usr/bin/perl:
  • office2013vol激活
  • semanage
  • selinux
  • vmtools
  • bad\interpreter
  • dns-server
  • bind-chroot
  • vcenter-client乱码改中文
  • VDP
  • ftp
  • linuxCOM
  • unas
  • virtualbox
  • 自动启动虚拟机
  • 口配置
  • Deepinlinuxcom口配置