了解linux下RAID(磁盘阵列)创建和管理
现在的操作系统,不论是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方式跟上面基本一致