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命令:查看导出前导出后命令
第六步:移除硬盘