Linux磁盘高级管理

12 篇文章 0 订阅
4 篇文章 0 订阅
磁盘高级应用


RAID(Redundant Arrays of independent Disks)廉价的磁盘冗余阵列


常用的raid级别及功能


0   --- 磁盘条带化,通常是两个或更多的磁盘组合在一起
        多个磁盘,多个I/O,数据分段分别写入不同磁盘
        提高I/O速度,优点速度快,缺点磁盘损坏以后,数据无法还原
        使用比率: A+B (磁盘的所有空间累计在一起)
1   --- 镜像 两个或两个以上磁盘,而且磁盘大小必须一致
        保证数据冗余
        使用比率: 1/n
5   --- CRC冗余校验,最少三块磁盘,磁盘大小必须一致
        提供多个I/O的同时也带有数据恢复的功能
        因为磁盘以轮询的方式写入校验值,所以在使用这个raid设备时
        使用必须要注意: n-1/n
        三块磁盘,可以使用的空间大小只有2块。比率 2/3
        随着磁盘数量的增加使用比率不断变大
        当raid5设备有一个成员磁盘损坏时可以恢复
        再坏一块,所有数据损坏
6       解决raid5只能损坏一块的问题,raid6最少4块磁盘
        允许损坏两块磁盘
10      有两种可能,01: 1+0;  02: 0+1 
        最少4块磁盘,使用比率1/2
        拥有raid0的多I/O操作,拥有raid1的镜像功能
        * 服务器现在基本在使用raid10


level     disk number      
  0            1(hardware raid)  software raid(2,3,4,5).......
  1            2              磁盘大小必须一样
  5            3              磁盘大小必须一样
  6            4              磁盘大小必须一样
 10            4              磁盘大小必须一样


在划分分区的时候,可以使用raid设备
硬件raid卡连接服务器以后,在没有安装系统之前
先做raid,后划分区


如果只有一块磁盘,你准备做哪个级别的raid。


有raid卡的服务器,识别raid设备时命名是这样的


例: HP DL380G4    /dev/cciss/c0d0p1


6块磁盘,
1,2 做raid1    /dev/cciss/c0d0
3,4,5,6 做raid5   /dev/cciss/c0d1


mdadm -C -l -n -x


-C --create


现在使用软件方式来实现raid功能,通常叫软raid
添加4块scsi磁盘,20G大小
/dev/sdb; /dev/sdc /dev/sdd /dev/sde


01 在sdb;sdc上分别划分出1个1G大小的分区
   组成raid0设备/dev/md0


#fdisk /dev/sdb
#fdisk /dev/sdc
#partx -a /dev/sdb
#partx -a /dev/sdc
#mdadm -C /dev/md0 -l 0 -n 2 /dev/sdb1 /dev/sdc1


02 在sdd;sde上分别划分出一个1G大小的分区
   组成raid1设备/dev/md1


#fdisk /dev/sdd
#fdisk /dev/sde
#partx -a /dev/sdd
#partx -a /dev/sde
#mdadm -C /dev/md1 -l 1 -n 2 /dev/sdd1 /dev/sde1


03 在sd(b,c,d,e)上分别划分出一个1G大小的分区
   组成raid5设备/dev/md2
#mdadm -C /dev/md2 -l 5 -n 4 /dev/sd{b,c,d,e}2


04 在sd(b,c,d,e)上分别划分出一个1G大小的分区
   组成raid6设备/dev/md3
#mdadm -C /dev/md3 -l 6 -n 4 /dev/sd{b,c,d,e}3


04 在sd(b,c,d,e)上分别划分出一个1G大小的分区
   组成raid10设备/dev/md4
#mdadm -C /dev/md4 -l 10 -n 4 /dev/sd{b,c,d,e}5


====软raid的分区类型(fd)


#fdisk /dev/sda
l-->
t-->7-->fd
t-->6-->fd
t-->5-->fd
            分区类型便于我们管理分区,不会造成分区的误删除
====================================


正确得软raid的创建过程


01 分区
02 修改分区类型
03 重读分区表
04 组建不同级别的raid设备 /dev/md*
05 做文件系统
06 创建挂载点并挂载使用
   如需自动挂载需要编辑/etc/fstab


======================================
监控raid


#cat /proc/mdstat
#mdadm -D /dev/md0


-----------
添加一个raid5设备,带有一个备盘
#mdadm -C /dev/md5 -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}6
#mkfs.ext4 /dev/md5
#mkdir /mnt/md5
#mount /dev/md5 /mnt/md5


---tty1---
#watch -n .5 mdadm -D /dev/md5


---tty2---
#watch -n .5 cat /proc/mdstat


---tty3---尝试模拟磁盘损坏,移除,添加的操作


#mdadm /dev/md5 -f /dev/sdb6  //模拟损坏
#mdadm /dev/md5 -r /dev/sdb6  //移除损坏的磁盘
#mdadm /dev/md5 -a /dev/sdb6  //添加一块新的备盘



如果raid设备完好,将当前系统的raid信息写入配置文件
#mdadm -Es > /etc/mdadm.conf


重启测试raid设备是存在和自动挂载


=============
删除软raid设备


# cat /proc/mdstat   //查看raid设备的成员分区
# mdadm -S /dev/md3  //停止md3设备
# mdadm -A -s    //如需查看成员分区可以再次重组所有raid设备
                 //这条命令需要有/etc/mdadm.conf文件配合
# mdadm --zero-superblock /dev/sda7
# mdadm --zero-superblock /dev/sda6
# mdadm --zero-superblock /dev/sda5   //清空raid分区的超级块
# rm -f /dev/md3   //删除raid设备
# vi /etc/mdadm.conf   //编辑配置文件,删除md3相关信息
# rmdir /mnt/md3   //删除挂载点
# fdisk /dev/sda   //删除分区


删除raid以后,建议重启系统
========
raid5;6设备的扩容


01 要有备盘
02 指定raid成员分区的数量 -n


#mdadm -G /dev/md2 -n 4   //扩大分区容量
#resize2fs /dev/md2      //拉伸文件系统
#df -h



LVM(Logical Volume Manager)逻辑卷管理


逻辑卷支持动态的拉伸及回缩


创建一个逻辑卷需要有一下步骤


01 创建一个分区
02 将这个分区标识为PV(物理卷)
03 将物理卷添加到一个VG(卷组)中
04 从卷组中划分LV(逻辑卷)
05 给LV做文件系统
06 挂载使用




==========
创建一个LV的全过程


#fdisk /dev/sdb
    ---> /dev/sdb3 ----> 5G   //划分一个5G的分区
#pvcreate /dev/sdb5  //将sdb5转变为pv
#pvs or #pvdisplay   //查看PV信息


#vgcreate vg0 /dev/sdb5   //创建一个卷组vg0,并将sdb5加入这个卷组
#vgs or #vgdisplay    //查看卷组信息


#lvcreate -L 1G -n lv01 vg0   //从vg0卷组中创建一个1G大小的逻辑卷
#lvs or #lvdisplay    //查看逻辑卷的信息


#mkfs.ext4 /dev/vg0/lv01
#mkdir /mnt/lv01
#mount /dev/vg0/lv01 /mnt/lv01
#vi /etc/fstab


==================
拉伸一个逻辑卷


#vgs   //先查看逻辑卷所在的卷组的剩余空间


#lvextend -L +1G /dev/vg0/lv01   //增加了1G的大小
or 
#lvextend -L 2G /dev/vg0/lv01   //增加到2G的空间


#lvs     //查看逻辑卷信息
#df -h   //查看挂载情况(分区大小)
         //这个时候并没有看到文件系统变大,
         //我们需要拉伸文件系统
#mount




#resize2fs /dev/vg0/lv01   //拉伸文件系统
#df -h


==================
如果卷组中空间不足,
那么扩展卷组空间
需要加入新的物理卷


#fdisk /dev/sdc   
    ----> /dev/sdc5  5G
#pvcrate /dev/sdc5    //将sdc5变成pv


#vgextend vg0 /dev/sdc5   //拉伸卷组空间,加入新的物理卷
#vgs   //查看卷组的空间大小是否变化




---command---

pvcreate,pvdisplay,pvs
vgcreate,vgdisplay,vgs,vgextend
lvcreate,lvdisplay,lvs,lvextend
resize2fs





lv的拉伸过程

01 确定要拉伸的空间大小
02 查看所属卷组的剩余空间大小
03 在剩余空间足够的情况下
   "在线"拉伸分区大小
04 拉伸文件系统大小

--------------------------

lv的回缩过程 ****************离线

01 卸载逻辑卷
02 e2fsck
03 回缩文件系统大小   *******
04 回缩分区大小
05 挂载使用


---拉伸---
# vgs
# lvs
# lvextend -L +500M /dev/vg1/lv11
# resize2fs /dev/vg1/lv11
# df -h
# lvs

---回缩---
# echo lv11 > /mnt/lv11/testfile
# cat /mnt/lv11/testfile
# umount /dev/vg1/lv11
# df -h
# resize2fs /dev/vg1/lv11 500M
# e2fsck -f /dev/vg1/lv11   //校验磁盘使用量
# resize2fs /dev/vg1/lv11 500M   //回缩文件系统
# lvreduce -L 500M /dev/vg1/lv11 //会所以分区
# mount /dev/vg1/lv11 /mnt/lv11/
# df -h
# echo 3 > /proc/sys/vm/drop_caches  //清空缓存
# cat /mnt/lv11/testfile


===快照===

快照是基于一个逻辑卷做出的镜像
创建快照时要设置大小,
使用快照一旦超过快照大小,
那么这个快照就损坏了。

使用快照的同时,最好不要使用源设备
因为当快照内容与源设备内容发生变化时,
快照大小就会变化。
如果源设备也发生变化,那么快照同样也会变化
(发生变化的只是空间大小,不是文件内容)

当快照使用率在100%时,快照损坏

#lvs
#lvcreate -L 100M -n slv11 -s /dev/vg1/lv11
#lvremove /dev/vg1/slv11


**** 快照不可以跨卷组

======================
逻辑卷的删除

lvremove   删除逻辑卷
vgremove   删除卷组
pvremove   删除物理卷


01 卸载逻辑卷
#umount /dev/vg0/data

02 删除逻辑卷
#lvs
#lvremove /dev/vg0/data

03 删除卷组
#vgs
#vgremove /dev/vg0

04 删除物理卷
#pvs
#pvremove /dev/sda5 /dev/sda6

05 校验
#pvs
#vgs
#lvs


























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值