文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>mdadm实验一例

mdadm实验一例

时间:2009-03-27  来源:dtlchm


我现在只有一台suse linux 一块硬盘没办法条件有限,只能在一块硬盘上做了。
现在这台机器上有的分区是:
Disk /dev/sda: 80.0 GB, 80000000000 bytes
255 heads, 63 sectors/track, 9726 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 208813+ 83 Linux
/dev/sda2 27 9726 77915250 8e Linux LVM

Disk /dev/dm-0: 21.9 GB, 21906849792 bytes
255 heads, 63 sectors/track, 2663 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/dm-0 doesn't contain a valid partition table

Disk /dev/dm-1: 24.1 GB, 24159191040 bytes
255 heads, 63 sectors/track, 2937 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/dm-1 doesn't contain a valid partition table

Disk /dev/dm-2: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

可以看出,sda1 的那个小分区是/boot 分区
sda2 是一个 lvm 组。
好现在建几个lvm 的分区以便 做raid 用

lvcreate -L 20M -n md01 system
lvcreate -L 20M -n md02 system
lvcreate -L 20M -n md03 system

mdadm --create /dev/md0 --level=5 -n 3 /dev/system/md01 /dev/system/md02 /dev/system/md03

做了一个raid 设备 /dev/md0
格式化
mkfs -t reiserfs /dev/md0
mkdir /mnt/md0
mount /dev/md0 /mnt/md0
好了这个/dev/md0 的raid 可以用了

标记一个raid 阵列中的成员失效
mdadm /dev/md0 -f /dev/system/md01

从一个raid 阵列中将以经失效的成员移除
mdadm /dev/md0 -r /dev/system/md01
注: 要移除一个设备 ,必须失将其标记为failed (-f )

停止一个RAID阵列: 如果要移除一个阵列中的最后一个设备,需要先将此阵列停下
mdadm --stop /dev/md0
将一个新设备添加到一个"残缺"的RAID阵列中,例如一个只有一块设备的RAID-1阵列:
mdadm /dev/md0 -a /dev/system/md01

以上做完如果从起机器,他的raid 不能保存,需要手工维护/etc/mdadm.conf文件
SLES 10SP2 内核包含了对 md 设备(软件RAID)的支持,因此不需要加载任何额外的
Kernel Module. 但是mdadm命令却不会帮你创建和维护最重要的/etc/mdadm.conf文件.
这个文件的内容将会在系统 boot 时由 /etc/init.d/boot.md这个脚本引用,
如果该文件缺失,或者内容不正确,将导致系统无法自动启动/激活 /dev/md* 这些RAID阵列设备.
做只有一个设备的raid 1:
mdadm --create /dev/md0 -l 1 -n 1 /dev/system/md01 --force
这个raid 1 只有一个设备,它一样可以使用
mdadm /dev/md0 -a /dev/system/md02
mdadm -G /dev/md0 -n 2
给他加个/dev/system/md02 设备数变成2
-x(–spare-devices)参数用于指定冗余磁盘的数量
dadm -Cv /dev/md0 -l1 -n2 -x1 /dev/system/md0[123]
/etc/mdadm.conf文件实例
mdadm -Ds >> /etc/mdadm.conf
DEVICE /dev/system/md*
ARRAY /dev/md0 devices=/dev/system/md01,/dev/system/md02,/dev/system/md03 level=5 num-devices=3

常用命令

mdadm是管理/配置RAID阵列的主要工具.下面是最常用的一些操作的命令格式:

  1. 创建一个新的RAID-1阵列: 使用 LVM 逻辑卷创建一个RAID-1设备 /dev/md3
    mdadm --create /dev/md3 --level=1 -n 2 /dev/vg1/data /dev/vg2/data
  2. 创建一个新的RAID-1阵列, 只使用一个设备,然后再扩展成两个设备
    mdadm --create /dev/md3 --level=1 -n 1 -f /dev/vg1/data
    mdadm -G /dev/md3 -n 2
  3. 标记一个RAID阵列中的成员失效:
    mdadm /dev/md3 -f /dev/vg2/data
  4. 从一个RAID阵列中将已经失效的成员移除:
    mdadm /dev/md3 -r /dev/vg2/data

    注意:要移除一个设备,必须先将其标记为 Failed (-f 命令)

  5. 停止一个RAID阵列: 如果要移除一个阵列中的最后一个设备,需要先将此阵列停下
    mdadm --stop /dev/md3
  6. Start an RAID-1 array with only one member device (such as when the other device has failed):
    mdadm --assemble /dev/md3 -R /dev/vg1/data
  7. 将一个新设备添加到一个"残缺"的RAID阵列中,例如一个只有一块设备的RAID-1阵列:
    mdadm /dev/md3 -a /dev/vg3/data
    上述命令执行后,系统会启动后台进程将对新增加的设备进行数据同步.
  8. List all active RAID devices:
    cat /proc/mdstat

注意事项

  1. 需要手工维护/etc/mdadm.conf文件

    SLES 10SP2 内核包含了对 md 设备(软件RAID)的支持,因此不需要加载任何额外的 Kernel Module. 但是mdadm命令却不会帮你创建和维护最重要的/etc/mdadm.conf文件.这个文件的内容将会在系统 boot 时由 /etc/init.d/boot.md这个脚本引用, 如果该文件缺失,或者内容不正确,将导致系统无法自动启动/激活 /dev/md* 这些RAID阵列设备.

  2. /etc/mdadm.conf文件实例
    DEVICE /dev/data/m2-* /dev/system/m1-*
    ARRAY /dev/md0 devices=/dev/system/m1-repo,/dev/data/m2-repo level=1 num-devices=2
    ARRAY /dev/md1 devices=/dev/system/m1-home,/dev/data/m2-home level=1 num-devices=2
相关阅读 更多 +
排行榜 更多 +
房间毁灭模拟器最新版

房间毁灭模拟器最新版

休闲益智 下载
街头追逐者最新版

街头追逐者最新版

休闲益智 下载
弓箭手2内置作弊菜单

弓箭手2内置作弊菜单

休闲益智 下载