首页 Linux 下 软RAID

Linux 下 软RAID

举报
开通vip

Linux 下 软RAIDLinux 下 软RAID Linux 下 软RAID(mdadm) 及 LVM 有这样一个需求:为内部网络的 PC 提供共享存储、备份,没有太强的读写压力,资金投入也有限,但需要够安全,而且为逐渐增长的数据量考虑,需要扩容方便。 于是,打算通过 mdadm 和 LVM 来实现。用这样的硬件:内部空间够大,电源够强劲,扇热要好,支持多个 SATA 接口的塔式机。 为了不浪费空间,用一块小硬盘装系统,比如一块 20G 的 IDE 硬盘。3块别的老 PC 上拆下来 80G SATA 硬盘。 在 VMware 上...

Linux 下 软RAID
Linux 下 软RAID Linux 下 软RAID(mdadm) 及 LVM 有这样一个需求:为内部网络的 PC 提供共享存储、备份,没有太强的读写压力,资金投入也有限,但需要够安全,而且为逐渐增长的数据量考虑,需要扩容方便。 于是,打算通过 mdadm 和 LVM 来实现。用这样的硬件:内部空间够大,电源够强劲,扇热要好,支持多个 SATA 接口的塔式机。 为了不浪费空间,用一块小硬盘装系统,比如一块 20G 的 IDE 硬盘。3块别的老 PC 上拆下来 80G SATA 硬盘。 在 VMware 上模拟了一下。因为需要模拟 SATA 硬盘,建立虚拟机时用了 SCSI 硬盘。要选择 RedHat Enterprise 版才能支持 SCSI 硬盘。 使 用 VMware-gsx-server-3.2.1 发现在较大的(试验了 160G/250G)虚拟硬盘上的 RAID5 recovery 到尾声 时会死机,重启后又要从头再来,但依然会死机,周而复始。换成 VMware-server-1.0.3 后就没有问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 了。 在 hda 安装了 CentOS 5.1 ,最小化安装。安装过程没有对 sda, sdb, sdc 进行分区。 用 mdadm 创建 RAID # mdadm -C /dev/md0 -l5 -n3 -c128 /dev/sd[a,b,c] 参数所代 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 的意思可以用 man mdadm 查看。 基本命令 # mdadm -A /dev/md0 #启动阵列 # mdadm -S /dev/md0 #停止阵列(停止前必须先 umount) # mdadm -D /dev/md0 #显示阵列详细信息 # watch 'cat /proc/mdstat' 可以看到 RAID 的 recovery 过程。 此时 RAID 已经可以使用了。 LVM 初始化 # vgscan 创建 PV # pvcreate /dev/md0 创建 VG # vgcreate vga /dev/md0 创建 LV # lvcreate -l 40959 -n lv1 vga 在 LV 上建立文件系统 # mkfs -t ext3 -L /data /dev/vga/lv1 挂载 # mkdir /data # mount -t ext3 -o defaults /dev/vga/lv1 /data 测试 # cd /data # dd if=/dev/zero of=test bs=1024k count=1k # dd if=test of=/dev/null recovery 结束后,生成 /etc/mdadm.conf 文件,在系统重启后自动启用 RAID # mdadm -Ds > /etc/mdadm.conf 编辑 /etc/mdadm.conf 文件,在顶部加入如下一行: DEVICE /dev/sd* 在 /etc/fstab 尾部加入一行 LABEL=/data /data ext3 defaults 0 0 重启后自动挂载。 接着,模拟这样一种状况:为了扩容,要给 RAID 加入一块硬盘。 关机,给 VM 添加一块 80G 的 SCSI 硬盘后启动。 给 RAID 添加硬盘 # mdadm /dev/md0 -a /dev/sdd 此时,新添加的硬盘会被作为 spare 把 RAID 设备设置为4个,使用新硬盘 # mdadm -G /dev/md0 -n4 扩充 PV # pvresize /dev/md0 扩充 LV # lvextend -l +20480 /dev/vga/lv1 扩大文件系统大小 # resize2fs /dev/vga/lv1 此命令可在 mount 时操作。并且同时 dd 模拟写入和读取文件,除了速度变慢,没有发现异常。 再来模拟这样一种情况:空间又被用完了,需要更大的存储空间,再找来3块 160G 的硬盘扩容。为了安全,还是把这三块硬盘组成 RAID5 。 关机,给 VM 添加三块 160G 的 SCSI 硬盘后启动。 CentOS5(RHEL5) 使用了 udev 来管理系统设备文件名,/dev 目录 工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录 下只有 md0,需要手动建立 RAID 设备。 # mknod /dev/md1 b 9 1 # chown root:disk /dev/md1 # chmod 640 /dev/md1 为了在重启后能自动创建 md1 ,还需如下设置 # mkdir /etc/udev/devices # cp -a /dev/md1 /etc/udev/devices/ 建立 RAID # mdadm -C /dev/md1 -l5 -n3 -c128 /dev/sd[e,f,g] 创建 PV # pvcreate /dev/md1 扩充 VG # vgextend vga /dev/md1 扩充 LV # lvextend -l +81919 /dev/vga/lv1 扩充分区大小: # resize2fs /dev/vga/lv1 此间,继续使用 dd 模拟读写,没有问题。 把第二个 RAID 的配置也写入配置文件 # mdadm -Ds | grep md1 >> /etc/mdadm.conf 模拟设备损坏的情况 将 /dev/sdb 标记为已损坏的设备 # mdadm /dev/md0 -f /dev/sdb 移除损坏的设备 # mdadm /dev/md0 -r /dev/sdb 此时可用 dd 模拟读写。 更换设备并重新添加到 RAID 中 # mdadm /dev/md0 -a /dev/sdb 会重新 recovery ,同样,可以 dd 模拟下读写。 如果发现缺失某个设备后 RAID 不能启动,可以使用剩余设备启动 RAID # mdadm -A --run /dev/md1 /dev/sde /dev/sdf 此后又再给 md1 添加了一块硬盘 sdh 进行相应测试,还是正常的。 特殊情况,去掉一个 PV # umount /data # resize2fs -f /dev/vga/lv1 240G # lvreduce -l -81919 /dev/vga/lv1 # vgreduce vga /dev/md1 不建议在生产系统上减小 LV 这本来是想用来试验大 PV 替换小 PV 的,但为了安全,还是把老 LV 的数据复制到新的 LV 后再做打算。 有了更大的硬盘(250G*4, VMware 只能创建小于 256G 的虚拟硬盘)用来扩容,为了留出机箱空间并降低电力消耗,需要把老硬盘上的数据转移到新硬 盘。 先用新硬盘组成的 RAID5 # mknod /dev/md2 b 9 2 # chown root:disk /dev/md2 # chmod 640 /dev/md2 # cp -a /dev/md2 /etc/udev/devices/ # mdadm -C /dev/md2 -l5 -n4 -c128 /dev/sd[i,j,k,l] # mdadm -Ds | grep md2 >> /etc/mdadm.conf 依然使用 LVM # pvcreate /dev/md2 # vgcreate vg0 /dev/md2 # lvcreate -l 191999 -n lv1 vg0 # mkfs -t ext3 /dev/vg0/lv1 把 /dev/vg0/lv1 挂载上后便可以复制数据了,cp, rsync 都行。 当有大量小文件时,用 dd 复制,并把块设置的大些,速度会非常快。 为保证数据同步,先卸载 # umount /data 然后复制 # dd if=/dev/vga/lv1 of=/dev/vg0/lv1 bs=16MB 用 dd 复制还可以跳过 mkfs 的过程。 在 VMware 中,就算没有使用预分配空间的磁盘模式,也会进行完全复制填满磁盘空间。可以在复制开始一会儿后就结束 dd 进程,节约空间和时间。 挂载,检查一下数据完整性 # mount -t ext3 -o defaults /dev/vg0/lv1 /mnt 用 dd 复制会把新的 LV 容量变成和老的一样大,需要调整容量 # resize2fs /dev/vg0/lv1 没有问题的话,就修改 LV 卷标,以便系统重启后能挂载新的 LV # e2label /dev/vga/lv1 /backup # e2label /dev/vg0/lv1 /data 如果要把老的 LV 转移到另外的机器上,需要备份 LVM 卷组信息以及 mdadm 的配置 先查看一下 /etc/lvm/backup/vga 是否存在,没有的话就创建备份 # vgcfgbackup 把 /etc/lvm/backup/vga 和 /etc/mdadm.conf 备份到远程主机上。 这还可以用于恢复存储服务器操作系统崩溃而导致的 LVM 不可用。比如 hda 损坏了。 重装系统时,千万不要对 sd* 进行操作—重建分区表,这会导致 LVM 信息的丢失。 在真实设备上操作时,为了安全,可以先安装完系统再给硬盘通电。 先恢复 RAID 把 mdadm.conf 恢复到新系统的 /etc 目录下,启动 RAID # mdadm -A /dev/md0 # mdadm -A /dev/md1 再恢复 LVM # vgcfgrestore -f vga vga 第一个 vga 是备份的文件名,第二个是要还原的 Volume Group Name 。如果 vga 这个卷组名被占用了,需要重命名。 # vgscan # pvscan 然后启动 VG # vgchange -a y vga 再扫描 LV # lvscan 恢复完成,可以挂载并使用了。 至此,VMware 试验完成,可在真实硬件设备上试验了。
本文档为【Linux 下 软RAID】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_686908
暂无简介~
格式:doc
大小:21KB
软件:Word
页数:0
分类:生活休闲
上传时间:2018-04-29
浏览量:11