LINUX下raid5+lvm

简介:
raid5+lvm实现硬盘的扩张和读写速度以及安全的系统
我们在这里以案例的方式来说明一下
案例:使用三个硬盘存储数据,保证数据安全性,同时还能让磁盘空间根据需要动态的缩放
磁盘有 /dev/sda /dev/sdb /dev/sdc /dev/sdd
首先我们把/dev/sdb /dev/sdc /dev/sdd 分别分区为/dev/sdb1 /dev/sdc1 /dev/sdd1
1 我们做raid5至少要有3块硬盘
2 cp /usr/share/doc/raidtools-1.00.3/raid1.conf.sample /etc/raidtab
3 vi /etc/raidtab

/dev/hda1 改成/dev/sdb1   ;  /dev/hdb1改成/dev/sdc1  ; /dev/hdc1改成/dev/sdd1
4 mkraid -R /dev/md0
5 :pvcreat /dev/md0 意思是说初始化设备/dev/md5 然后用vgscan来描一下
6: vgcreate aaa /dev/md0 把/dev/md0 创建vg 然后给这个卷起个名字.
7:vgdisplay aaa 检察这个VG的情况
8: lvcreat -n home -L 250M aaa 在aaa这里提取250M创建一个名字为home的卷.
9: lvcreat -n var -L 250M aaa 在aaa这里提取250M创建一个名字为var的卷.
10: mkfs.ext3 /dev/aaa/home  格式化home这个逻辑卷. 逻辑卷用 lvscan来检查
11: mkfs.ext3 /dev/aaa/var   格式化var这个逻辑卷. 逻辑卷用 lvscan来检查
12:mkdir /mnt/home 在mnt下建home文件夹
13:mount /dev/aaa/home /mnt/home 我们把/dev/aaa/home挂载在这里
12:mkdir /mnt/var  在mnt下建var 文件夹
13:mount /dev/aaa/var /mnt/var 我们把/dev/aaa/var挂载在这里
14:cp -a /home/* /mnt/home 把现在的硬盘上的home的数据移植到逻辑卷上去
15:cp -a /var/* /mnt/var   把现在的硬盘上的var的数据移植到逻辑卷上去
16:vi /etc/fstab 编辑/etc/fstab
17:写入 /dev/home    /home   ext3   defaults 0 0
        /dev/var     /var    ext3   defaults 0 0
18:vi /etc/rc.sysinit 搜索一下raid 在2 > &1下面加入这句话 raidstart /dev/md5
   加这句话的作用是为了计算机在重新启动的时候会识别raid设备。
19:rm -rf /mnt/var /mnt/home
20:lvcreate -n root -l 1040M aaa 在aaa这里提取1024M创建一个名字为root的卷.为了把根分区移到逻辑卷上。
21:mkfs.ext3 /dev/aaa/root
22: mount /dev/aaa/root /mnt
23:cd mnt
24:mkdir proc tmp var home misc opt mnt initrd 我们在这里先建这些文件夹。因为现在这些文件夹目前是空的
25: cd /    cp -a bin dev etc lib sbin root usr /mnt & 按ctrl+z挂起,后台运行我们把这些文件拷贝到 /mnt下   现在不能把 boot拷贝到本世纪末/mnt,因为它现在是运    行中
26:lsmod 看看启动时的加载模块 可以看到有raid5 xor是 raid5依赖的 lvm-mod需要lvm来驱动的,如果您的硬盘是sisc硬盘还要Buslogic驱动程序
27:mkinitrd /boot/initrd-lvm-$(uname -r).img $(uname r)    boot是输出的位置。initrd-lvm-$(uname -r).img $(uname r)自动产生内核的版本,内核的版本由它来产生
28:file /boot/initrd-lvm-2.4.22-1.22115.nptl.img 看看是什么压缩格式的。我们可以发现是gzip格式的
29:mv /boot/initrd-lvm-2.4.22-1.22115.nptl.img /boot/initrd-lvm-2.4.22-1.22115.nptl.img.gz 改成以gz后缀结尾的,否则是不会被gz解开
30:gunzip initrd-lvm-2.4.22-1.22115.nptl.img.gz 解开这个包
31:mount initrd-lvm-2.4.22-1.22115.nptl.img /opt -o loop 挂载到临时目录,加上-o loop 是以路外设备来挂载
32:cd opt 来访问这个设备等于访问/boot这个设备 df 看一看大小
33:ls dev  对这里的配置作些修改,看看/dev有没有lvm设备文件
34: cp -a /dev/lvm dev  拷贝dev里面的lvm到现在的dev设备文件里
35: cp -a /dev/aaa dev  拷贝dev里面的aaa卷族拷贝到现在的dev设备文件里
36:ls dev 确定dev里面有lvm和aaa文件
37:cp -a /dev/sd[abcd] dev 把sd[abcd]这四快硬盘拷到dev设备里面去
38:cp -a /dev/sd[abcd]1 dev 把sd[abcd]1这几个分区拷贝到 dev 里去 用ls dev 来看看有没有。
39: more linuxrc     linuxrc是内核启动时的第一个脚本。我们把raidautorun /dev/md0 注释掉。在下面写上raidstart /dev/md0 再加上 vgscan 来扫描有aaa家族
    再加上 vgchange -a y 表示把所有的卷族激活,然后把mount -o defaults --ro -t ext3 /dev/root/sysroot 改成 mount -o defaults --ro -t ext3     /dev/aaa/root/sysroot,这些是启动文件。
40:上面改完这些,其实这些并没有存在虚拟磁盘镜像里,也就是说内核在启动之后是无法被执行的,还要命令去41
41:cp /sbin/vgscan bin
    cp /sbin/vgchange bin
    cp /sbin/raidstart bin
42:ls bin  看看是否考到了bin里了
43:看看raidstart启动的时候需要哪些库
    ldd /sbin/raidstart
    ldd /sbin/vgscan
    ldd /sbin/vgchange
 一定要在虚拟磁盘里建一模一样的启动系统,否则是不可以启动的
44:cd lib
45:mkdir tls
46:cp /lib/tls/libc.so.6 /opt/lib/tls
47:cp /lib/liblvm-10.so1.1 ./
   cp /lib/ld-linux.so.2.1 ./
48: ls /opt/lib 确定要有这几个目录
49:必须为linuxrc下的raidstart /dev/md0分配一个配置文件。
50:cp /etc/raidtab etc
51:ls etc 确定由这个文件
52:umount /opt
53:mv /boot/initrd-lvm-2.4.22-1.22115.nptl.img -c > /boot/initrd-lvm-2.4.22-1.22115.nptl.gz     -c(指定标准输出) >(导向到)
54: vi /boot/grub/grub.conf 从title到img复制下来
55:在core后面的名字去掉改成LVM 把LABEL=/ 改成 /dev/aaa/root
56:类似的改成 initrd /boot/initrd-lvm-2.4.22-1.22115.nptl.gz
57: vi /etc/fstab
58:把LABEL=/ 改成 /dev/aaa/root
到此raid5+lvm  完成了. E网咖啡猫的讲解随之也完成了.
 









本文转自 yirehe 51CTO博客,原文链接:http://blog.51cto.com/yirehe/22098,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
运维 Linux 虚拟化
linux|磁盘管理工作|lvm逻辑管理卷的创建和使用总结(包括扩容,根目录扩容演示)
linux|磁盘管理工作|lvm逻辑管理卷的创建和使用总结(包括扩容,根目录扩容演示)
119 0
|
2月前
|
存储 缓存 关系型数据库
Mysql专栏 - Linux底层交互和Raid存储架构
Mysql专栏 - Linux底层交互和Raid存储架构
77 0
|
4月前
|
存储 机器学习/深度学习 安全
Linux加强篇007-使用RAID与LVM磁盘阵列技术
山重水复疑无路,柳暗花明又一村
231 0
Linux加强篇007-使用RAID与LVM磁盘阵列技术
|
7月前
|
Linux
14.3.6 【Linux】LVM 相关指令汇整与 LVM 的关闭
14.3.6 【Linux】LVM 相关指令汇整与 LVM 的关闭
44 0
|
7月前
|
Linux
14.3.4 【Linux】使用 LVM thin Volume 让 LVM 动态自动调整磁盘使用率
14.3.4 【Linux】使用 LVM thin Volume 让 LVM 动态自动调整磁盘使用率
72 0
|
7月前
|
Linux
Linux逻辑卷LVM和磁盘配额
Linux逻辑卷LVM和磁盘配额
36 0
|
8月前
|
Linux
14.2.2 【Linux】software, hardware RAID
14.2.2 【Linux】software, hardware RAID
89 0
|
8月前
|
安全 Linux 数据安全/隐私保护
14.2 【Linux】软件磁盘阵列(Software RAID)
14.2 【Linux】软件磁盘阵列(Software RAID)
89 0
|
8月前
|
Linux Shell KVM
【Linux系统KVM虚拟机实战】LVM逻辑卷之扩展Swap交换分区
【Linux系统KVM虚拟机实战】LVM逻辑卷之扩展Swap交换分区
159 0
|
9月前
|
存储 安全 NoSQL
Linux LVM 最佳实践
LVM (logical volume manager) 逻辑卷管理是通过将底层物理硬盘抽象封装起来的,以逻辑卷的形式表现给上层系统,逻辑卷的大小可以动态调整,而且不会丢失现有的数据,新加入磁盘也不会改变现有上层的逻辑卷,作为一种动态的逻辑磁盘管理机制,很大程度上提高了磁盘管理的灵活性。
235 0