RAID

 

1.删除硬盘分区(可用整盘删除和删除单个分区两种方法)

第一步:清空分区 dd if=/dev/zero of=/dev/sdb bs=1 count=512(b盘整盘删除)

fdisk /dev/sdc d 6 w (使用fdisk命令行删除单个分区)

第二步:使用lsblk查看磁盘分区,发现分区还在,需要同步。

lsblk查看的是内存中的分区,fdisk -l查看的是硬盘上的分区,后者更准确。

第三步:删除分区之后同步

#partx -d --nr 1-4 /dev/sdb(同步b盘上的四个分区)

#partx -d --nr1 /dev/sdc (同步c盘上的一个分区)

 

2.创建RAID

(1)mdadm命令用来创建raid设备

(2)ll /dev/md* 查看raid设备 创建raid0

第一步:mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb /dev/sde

-C表示创建 -a表示初始化设备 -l(level)表示级别0 -n表示成员 2表示两个成员

第二步:mdadm -D /dev/md0 (-D是查看所创建raid的信息)

第三步:mkfs.ext4 /dev/md0 (现在就可以将此设备当作一个分区来格式化了)

第四步:挂载

#mkdir /mnt/raid0 #mount /dev/md0 /mnt/raid0

第五步:测试性能

测试写的性能:dd if=/dev/zero of=file bs=1M count=1024

测试读的性能:dd if=file of=/dev/null

创建raid5

第一步:mdadm -C /dev/md5 -a yes -l 5 -n 3 -x 1 /dev/sdd /dev/sdf /dev/sdg /dev/sdh

-x表示备用磁盘 1 表示一个 ,备用磁盘一般放在最后面/dev/sdh(当正在使用的某个磁盘出现问题时,备用磁盘会自动取代损坏磁盘)

第二步:格式化

第三步:挂载

然后就可以当作一个高性能的磁盘来使用了

第四步:磁盘损坏有真实和模拟损坏

模拟sdb1损坏:mdadm /dev/md5 -f /dev/sdb1(-f fault错误)

真实损坏:虚拟机设置中将磁盘移除

移除损坏磁盘:mdadm /dev/md5 -r /dec/sdb1(-r remove)

/etc/fstab:fstab可以自动挂载各种文件系统格式的硬盘、分区、可移动设备和远程设备等

第五步:让raid5永久生效,写到/etc/fstab中

写入格式:/dev/md5 /mnt/raid5 ext4 defaults 0 0

 

 

3.

(1)添加raid备用磁盘

mdadm /dev/md5 -a /dev/sde1

(2)添加raid真正成员(创建raid5时n为3,现在是往这个3的组里再添加,与添加备用磁盘不同,用来扩容的)

mdadm -G /dev/md5 -n4 -a /dev/sdf1 (-G group)

问题:添加新成员时,发现容量没有提升上去,为什么?

原因:新加成员没有格式化,即没有文件系统,所以容量没有提升上去。

解决办法:同步此raid的文件系统 #resize2fs /dev/md5

 

 

4.删除raid

第一步:卸载 #umount /dev/raid5

第二步:停止使用分区 #mdadm -S /dev/md5 (-S stop)

第三步:删除raid中的分区

方法一:单个删除fdisk (d)

方法二:全盘删除 dd if=/dev/zero of=/dev/sdb bs=1 count=512

第四步:在/etc/fstab中将永久生效的raid信息删除

问题:删除分区不干净,

如何解决? 使用 mdadm --zero-superblock /dev/sdb1 ,删除超级块,即将元数据信息删除。

 

 

LVM

1.lvm相比raid分区优势:磁盘空间大小可随时扩充,直接插硬盘即可。

eg:raid中根在分区,如果空间不够就比较麻烦,lvm可直接在线扩充,无需停机, 用户不受影响。

2.简单理解lvm的构成:

(1)物理卷pv(physical volume):相当于构成raid中的单个磁盘或磁盘分区,物理卷的名称 和raid中命名的方式一样。

(2)卷组VG(volume group):pg组合在一起构成vg,可以将vg理解成一个大硬盘,他的大小 就是多少pv的总和,卷组的名字自己指定,比如vg0,vg的成员pv大小可以不一致。

(3)逻辑卷LV(logical volume):lv是从卷组分出来的,可以将vg看作从磁盘分出来的分区,逻辑卷 的空间来自于卷组,实际上的空间来自于物理卷。 创建出来的逻辑卷(磁盘分区)进行格式化、挂载就可以使用了。

3.

(1)查看物理卷命令

pvs命令:查看物理卷

#pvs

pvdisplay命令:显示更详细的物理卷信息

#pvdisplay

(2)查看卷组命令

vgs vgdisplay

(3)查看逻辑卷的命令

lvs lvdisplay

4.创建逻辑卷

第一步:创建物理卷,此中是将两个独立的f、g磁盘创建成物理卷

# pvcreate /dev/sdf /dev/sdg

第二步:创建卷组,即将物理卷加入卷组中

# vgcreate -s 16M vg0 /dev/sdf /dev/sdg

-s 16M:指定PE的大小为16M vg0为卷组的名字

物理卷的单位PE(physical extent),就跟文件系统的磁盘块一样,扩展物理卷的 时候必须是PE的整数倍扩展。

第三步:创建逻辑卷,即分配卷组这个大磁盘、大仓库

# lvcreate -n lv0 -L 5G vg0

-n lv0:n为name,创建的逻辑卷为lv0(自定义)

vg0:卷组可能有多个,所以要指定从哪个卷组中分配,此中指定vg0

-L 50每个逻辑卷分配多大,分配单位有两种:小l 以PE为单位,分配多少个PE L 直接分出多少G

lvcreate -l 60%VG -n mylv testvg

lvcreate -l 100%FREE -n yourlv testvg

 

第四步:格式化、挂载

 

 

5.扩展逻辑卷

第一步:扩展逻辑卷的前提是vgdisplay查看vg的空间是否有剩余

第二步:# lvextend -L +5g /dev/vg0/lv0

lvextend为扩展命令

-L +5g:表示扩展5g

-L 5g:表示扩展到5g

LE(Logical Extents):和PE是相同的,大小相同,LE是逻辑卷的单位。

6.vg不够用的时候直接加硬盘

#vgextend vg0 /dev/sdd

7.缩减逻辑卷大小

#lvreduce -L 50G /dev/vg0/lv0

8..迁移卷组到新的卷组(移动硬盘)

第一步:修改卷组的名字

#vgrename vg0 newvg0

第二步:修改逻辑卷的名字

#lvrename /dev/newvg0/lv0 newlv0

第三步:取消挂载

第四步:禁用卷组(用户此时不能使用),卷组不可用,上面的逻辑卷自认不能用。

#vgchange -a n newvg0

-a:available可用

n:no

第五步:导出卷组

#vgexport newvgo

pvscan命令:查看导出前导出后命令

第六步:移除硬盘