环境 虚拟机+rhel5.1
为虚拟机添加一块 1G的虚拟硬盘(sdb) 用来实验
为sdb 创建4个分区(sdb1-4) 每个分区为 100M
fdisk /dev/sdb
partprobe
RAID
把4个分区创建两个 RAID1
mdadm -C /dev/md0 -l 1 -n 2 /dev/sdb{1,2} -a yes
mdadm -C /dev/md1 -l 1 -n 2 /dev/sdb{3,4} -a yes
-C 创建 raid
-l 指定raid 类型
-n 用到的设备数量
查看当前RAID信息
cat /proc/mdstat
或者
mdadm --detail /dev/md0
mdadm --detail /dev/md1
格式RAID
mke2fs -j /dev/md0
mke2fs -j /dev/md1
软RAID的测试和修复
使用 mdadm -f 参数模拟一个驱动器故障
注:此命令在测试RAID1 和RAID5很有用,RAID0 不可用。
mdadm -f /dev/md0 /dev/sdb1
现在再查看下 RADI信息有什么不同
cat /proc/mdstat
将坏掉的分区从RAID中删除
mdadm -r /dev/md0 /dev/sdb1
将修复的分区或者新的分区加入
mdadm -a /dev/md0 /dev/sdb1
LVM
概念
pv 物理卷
vg 卷组
lv 逻辑卷
将上边的md0 md1 转换成物理卷
创建物理卷 pvcreate
pvcreate /dev/md0
pvcreate /dev/md1
查看物理卷信息
pvdisplay /dev/md0
创建卷组
vgcreate vgname /dev/md0
将多个物理卷创建成卷组
vgcreate vaname /dev/md0 /dev/md1 …………
查看卷组信息
vgdisplay 查看所有
vgdisplay vgname 查看指定
创建逻辑卷
lvcreate -L 100M -n lvname vgname
-L 指定逻辑卷大小
-n 指定逻辑卷名字
格式逻辑卷
mke2fs -j /dev/vgname/lvname
查看逻辑卷信息
lvdisplay
创建 lv 目录 将逻辑卷挂载到 此目录
mkdir /lv
mount /dev/vgname/lvname /lv
修改/etc/fstab 让其在引导时可以自动挂载
添加下行
/dev/vgname/lvname /lv ext3 defaults 0 0
mount -a 检查挂载是否有误
清除设备缓存,以备系统在启动过程中检测新的卷组
rm /etc/lvm/.cache
调整逻辑卷大小
将物理卷/dev/md1加入卷组
vgextend vgname /dev/md1
增加逻辑卷容量
lvextend -L +50M /dev/vgname/lvname
resize2fs /dev/vgname/lvname
逻辑卷可以动态增加容量,增加容量时,可以不不卸载所挂载的目录。
减小逻辑卷容量,将逻辑卷容量减少至100M
此步骤必须先卸载所挂载的目录
umount /lv
调整之前必须强制检测逻辑卷
fsck -f /dev/vgname/lvname
之后的步骤与增加的步骤正好逆向
先执行 resize2fs,减小文件系统
resize2fs /dev/vgname/lvname 100M
减小逻辑卷
lvreduce /dev/vgname/lvname -L 100M
减小逻辑卷很少使用。
创建逻辑卷快照
先将 /lv 中写入一些内容
创建快照
lvcreate -L 16M -p r -s -n lv-backup /dev/vgname/lvname
-p 指定快照的读写属性 参数有(r , rw)
-s 创建快照
-L 指定快照大小
-n 指定快照名字
测试快照是否创建成功
建立目录
mkdir /tmp/lv
挂载快照
mount /dev/vgname/lv-backup /tmp/lv
ls /tmp/lv
看/tmp/lv 与 /lv 中的内容是否相同。
创建快照时可能经常会报如下错误:
snapshot: Required device-mapper target(s) net detected in your kernel
原因:缺少dm-snapshot模块。
解决方法:输入 modprobe dm-snapshot 即可