现在的操作系统,不论是windows 还是linux都具有raid的功能,RAID 分为硬件 RAID 和软件 RAID, 硬件 RAID 是通过 RAID 卡来实现的,软件RAID是通过软件实现的,

现在常用的raid有:

raid0:至少两块硬盘;

raid1:至少两块硬盘;

raid5:至少三块硬盘;

raid6:至少四块硬盘;

1、虚拟机环境准备

虚拟机环境,添加4块 1GB IDE 盘,计划做 RAID0和RAID5。

2、 查看硬盘信息
# fdisk -l

RAID 设备创建和管理


1、 创建软件 RAID 0
# mdadm -C -v /dev/md1 -l0 -n2 /dev/hdb /dev/hdd

2 扫描 RAID 信息
# mdadm -Ds

3 停 /dev/md1
# mdadm -Ss

4 启动 RAID /dev/md1
# mdadm -A /dev/md1 /dev/hdb /dev/hdd

5 查看硬盘 RAID 信息
# mdadm --examine /dev/hdb

6 查看阵列 /dev/md1 信息
# mdadm -D /dev/md1

7 创建 RAID 配置文件 /etc/mdadm.conf
配置文件 /etc/mdadm.conf 本不存在,需要手工创建,创建这个文件便于 RAID 设备的维护。
# mdadm -Ds
ARRAY /dev/md1 level=raid0 num-devices=2 metadata=0.90 UUID=4140c28c:ace28b95:93c51a55:8451fbc3

# mdadm -Ds >> /etc/mdadm.conf

修改文件 /etc/mdadm.conf, 增加 device 内容,修改后内容如下
ARRAY /dev/md1 level=raid0 num-devices=2 metadata=0.90 UUID=4140c28c:ace28b95:93c51a55:8451fbc3 devices=/dev/hdb,/dev/hdd

备注:通过创建 /etc/mdadm.conf 文件后,那么启动RAID 时不需要指定 RAID设备和 RAID 成员。

8 重启阵列 /dev/md1 测试
# mdadm -Ss
mdadm: stopped /dev/md1

# mdadm -As
mdadm: /dev/md1 has been started with 2 drives.

# mdadm -Ds
ARRAY /dev/md1 level=raid0 num-devices=2 metadata=0.90 UUID=4140c28c:ace28b95:93c51a55:8451fbc3

9 mdadm 常用参数
-A, --assemble
激活RAID
-C, --create
创建RAID
-s, --scan
扫描RAID设备
-S, --stop
停止正在运行的RAID 设备

RAID 设备使用 ( RAID 设备分区,文件系统格式化,目录挂载 )
1检查 RAID 设备是否存在
# fdisk -l /dev/md1

Disk /dev/md1: 2147 MB, 2147352576 bytes
2 heads, 4 sectors/track, 524256 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md1 doesn't contain a valid partition table

 

2 RAID 文件系统格式化
# mkfs -t 'ext3' -c /dev/md1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
262144 inodes, 524256 blocks
26212 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912

Checking for bad blocks (read-only test): done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

3 目录挂载
# mkdir -p /database/pgdata1

[root@pgb ~]# mount -t 'ext3' /dev/md1 /database/pgdata1

[root@pgb ~]# df -hv
Filesystem Size Used Avail Use% Mounted on
/dev/hda1 14G 5.0G 8.0G 39% /
tmpfs 217M 0 217M 0% /dev/shm
none 217M 104K 217M 1% /var/lib/xenstored
/dev/md1 2.0G 36M 1.9G 2% /database/pgdata1

[root@pgb ~]# chown -R postgres:postgres /database

备注: 设备 /dev/md1 成功挂载,挂载点为 /database/pgdata1,容量 2 个 GB。

4 设置开机自动挂载
/dev/md1 /database/pgdata1 ext3 defaults 0 0

 

5、创建其他类型的raid方式跟上面基本一致

了解linux下RAID(磁盘阵列)创建和管理的更多相关文章

  1. Linux下RAID磁盘阵列的原理与搭建

    RAID概念 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有"独立磁盘构成的具有冗余能力的阵列"之意. 磁盘阵列是由很多价格较 ...

  2. Linux下逻辑卷创建与管理

    用虚拟机加一块硬盘后,查看硬盘状况,使用fdisk-l命令: [root@jerrybj ~]# fdisk -l Disk /dev/sda: 21.4 GB, 21474836480 bytes ...

  3. 末学者笔记--Linux中RAID磁盘阵列及centos7启动过程

    <一>RAID概念 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意. 磁盘阵列是由很多价格较便 ...

  4. Linux下useradd命令创建的用户不能登录的问题

    Linux下useradd命令创建的用户不能登录的问题  问题: 用useradd命令新创建一个用户tester 密码pwdtest mkdir -p /home/tester(创建文件夹) user ...

  5. 《linux下进程的创建,执行,监控和终止》

    <linux下进程的创建,执行,监控和终止> http://blog.csdn.net/miss_acha/article/details/43671047 http://blog.csd ...

  6. Linux下VsFTP和ProFTP用户管理高级技巧 之一

    Linux下VsFTP和ProFTP用户管理高级技巧       FTP服务时互联网上比较古老的一种应用,至今Interner应用面非常广泛,但令管理员头痛不已的是其用户管理,既多且杂,如何解决这一问 ...

  7. 在 Linux 下使用mdadm创建 RAID 5

    在 RAID 5 中,数据条带化后存储在分布式奇偶校验的多个磁盘上.分布式奇偶校验的条带化意味着它将奇偶校验信息和条带化数据分布在多个磁盘上,这样会有很好的数据冗余. 在 Linux 中配置 RAID ...

  8. linux下使用svn创建版本库和权限管理

    linux上的svn服务端如何和本地的电脑客户端结合使用 Linux上安装SVN服务器: 第一步:检查是否已安装 # rpm -qa subversion 第二步: 通过yum命令安装svnserve ...

  9. linux查看Raid磁盘阵列信息

    软件raid:只能通过Linux系统本身来查看 cat /proc/mdstat 可以看到raid级别,状态等信息. 硬件raid: 最佳的办法是通过已安装的raid厂商的管理工具来查看,有cmdli ...

随机推荐

  1. NHibernate系列文章三:简单的增删改查询

    摘要 上一篇文章只完成了简单的NHibernate安装.配置和连接数据库.这篇文章介绍怎样实现最简单的数据库读写操作. 1. 重构ISessionFactory生成过程 将生成ISessionFact ...

  2. 搭建高可用mongodb集群(转)

    搭建高可用mongodb集群(一)——配置mongodb 搭建高可用mongodb集群(二)—— 副本集 搭建高可用mongodb集群(三)—— 深入副本集内部机制 搭建高可用mongodb集群(四) ...

  3. Egret和Http请求 (Ajax、XMLHttpRequest、Post、Get)

    一  Http请求 二  AJax和XMLHttpRequest 三  一个Ajax例子 四 Egret中的egret.HttpRequest 五 Post和Get区别 一 Http请求 Http深入 ...

  4. CSS3基础01

    一.选择器: 分为关系选择器 ,属性选择器 ,伪类选择器 1.1关系选择器  后代选择器   ul li  选择所有的后代元素 子代选择器   ul > li 选择ul的儿子 紧邻选择器  .b ...

  5. objective c, protocol

    OC中协议类似于java中的接口,在多个类具有类似的方法时可以将这些方法定义到protocol中,然后各个类分别实现protocol中的各个方法. 例:有两个类Square和Circle, 定义一个p ...

  6. docker-compose安装使用

    Docker Compose的工作原理 Docker Compose将所管理的容器分为三层,工程(project),服务(service)以及容器(contaienr).Docker Compose运 ...

  7. 3.Mybatis全局配置文件属性详解(SqlMapConfig.xml)

    首先我们要知道一点,该配置文件的中属性的存放是有顺序的,没有办法随意的乱放.如果你属性的配置位置出错,会有如下错误提示: The content of element type "confi ...

  8. delete drop truncate 区别

    truncate 删除内容,并释放空间,并不删除表结构,删除标识列,标识列重新从1开始delete 删除内容,不释放空间,不删除表结构,不删除标识列,标识列继续增加drop 直接删除表

  9. oracle 方向及资料

    总结了一下大家的意见,也加了一些个人的看法,Oracle的学习路径,可供参考: 初级阶段: 可以从OCP教材开始,还有文档中的Administrator's Guide.Concepts.Perfor ...

  10. 解决Ubuntu下 Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR)

    Ubuntu下CMake 编译时出现问题:Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR) 查找发现  # sudo apt-g ...