您的位置:首页 > 运维架构 > Linux

Linux磁盘高级管理

2014-12-11 21:53 274 查看
磁盘高级应用

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: