描述:RAID (Redundant Array of Independent Disks)有软件和硬件两种方式,硬件需要有RAID阵列卡,这里主要记录RAID的类型,不记录配置,工作中的硬件服务器一般有带有RAID卡,配置也比较简单,就不做赘述。
在操作系统层面,RAID就是一个块设备(硬盘)
联想RAID描述,这里有图文描述,更直观和详细
基础类型RAID主要有RAID 0/1/5/6 ,RAID名字叫冗余,所以我记忆方式是1表示True,表示冗余
简介:将数据条带化,分散写入所有盘
要求:一块硬盘起步
容量:硬盘容量累加
优点:读写速度最快
缺点:数据不安全,坏盘就丢数据
简介:数据镜像化,一份数据写入到多个磁盘内
要求:2块硬盘
容量:1块硬盘容量
优点:安全,最多可坏1块盘,读取速度较快,坏盘替换后数据重建时间快
缺点:写入速度较慢,容量等于最小的那块盘
简介:将数据条带化,同时写入多块盘,相同位置一份数据做奇偶校验,保证数据安全
要求:4块盘起步
容量:N-1 块硬盘容量
优点:兼顾可靠性和容量,因为数据校验,最多可损失一块盘
缺点:容错只有一块硬盘,可以考虑增加热备盘;因为要校验,坏盘替换后的数据重建慢
简介:将数据条带化,同时写入多块盘,两份数据做奇偶校验,保证数据安全
要求:4块硬盘起步
容量:N-2 块硬盘容量
优点:兼顾可靠性和容量,因为数据校验,最多可损失两块盘
缺点:因为要校验,坏盘替换后的数据重建慢
简介:先镜像后条带,硬盘先组成RAID1的磁盘组,然后将RAID1盘组成RAID0组
要求:4块起步,偶数个硬盘
容量:容量是硬盘总数的一半
优点:读写速度,重建速度,可靠性都很好,如果不是同一组的RAID1一起坏,数据不会丢失
缺点:容量少一半;如果一组RAID1坏了,数据丢失,所以当出现硬盘故障,需及时更换,或者增加热备盘
1)如果对数据写入速度有要求,但是不需要保证数据安全性,可以做RAID0
2)对数据读写和可靠性有要求,但是不关注容量,做RAID10
3)如果对可靠性和容量都有要求,做RAID5或者RAID6
4)目前工作中系统盘和数据盘隔离,系统盘做的RAID1
PV(物理卷):位于LVM的最底层,可以由物理盘、硬盘分区、磁盘阵列生成
VG (卷组):建于物理卷之上,一个卷组可以包含多个物理卷,可以动态添加物理卷
LV (逻辑卷):用卷组中的资源建立,可以扩容和缩容(缩容有危险)
PE (基本单元):可以理解为LVM最小的存储单元
lvm 配置文件: /etc/lvm.conf
需要安装 lvm2 :Userland logical volume management tools
具体的参数,需要通过man或者help看帮助手册
功能/命令 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
扫描 | pvscan | vgscan | lvscan |
建立 | pvcreate | vgcreate | lvcreate |
显示(-v 详情) | pvdisplay / pvs | vgdisplay / lvs | lvdisplay / lvs |
删除 | pvremove | vgremove | lvremove |
扩展 | pvresize | vgextend | lvextend / lvresize |
重命名 | vgrename | lvrename | |
激活 | vgchange | lvchange | |
缩小 | vgreduce | lvreduce |
1、创建PV (可以是磁盘或者是分区,不要给分区格式化)
pvcreate /dev/sdb
2、创建VG 首次创建,如下方式可以跳过,直接执行第三步
vgcreate vg_name /dev/sdb
3、将PV加入到VG中 (这里注意是用创建PV的设备或者分区)
vgextend vg_name /dev/sdb
4、创建LV并分配空间 (-L 150M 就是创建150M,-l 25 就是创建25*4M,-l指定4M为单位的块数)
lvcreate -n lv_name -l 25 vg_name
分配全部vg容量
lvcreate -l 100%FREE -n lv_name vg_name
lvdisplay 查看逻辑卷信息,能看到逻辑卷路径
5、格式化LV (系统用什么格式就用什么格式,比如xfs)
mkfs.xfs /dev/vg_name/lv_name
6、挂载LV
mkdir /test_lv
mount /dev/vg_name/lv_name /test_lv
写入挂载文件
vi /etc/fstab
mount -a
注意:变更/etc/fstab 一定要用mount -a测试一下,避免重启时挂载失败导致进入救援模式
1、检查VG是否有剩余资源 (如果没有,就按照上面流程给VG添加PV资源)
vgdisplay
可选:vg扩容
vgextend vg_name /dev/sdc
可选:pv扩容
可能存在虚拟机的硬盘扩容,通过pvresize 来刷新pv容量
2、LV扩容
lvresize -L +2G /dev/vg_name/lv_name
或者下面的方式,将设备剩余容量全部加入LV
lvextend /dev/vg_name/lv_name /dev/sdb
3、刷新设备容量
先查看文件系统类型
df -Th 或者 查看 /etc/fstab
xfs 文件系统:
xfs_info /dev/vg_name/lv_name
xfs_growfs /dev/vg_name/lv_name
ext 文件系统:
resize2fs /dev/vg_name/lv_name
4、查看扩容结果
df -Th
xfs无法收缩,ext4可以,不建议做缩容操作,有数据丢失风险,不记录
1、卸载挂载点 (注意清理/etc/fstab 以及其他挂载配置,避免系统重启失败)
umount /test_lv
2、删除逻辑卷 (谨慎操作)
lvremove /dev/vg_name/lv_name
3、删除卷组 (使用卷组名,谨慎操作,删除前请确认是否有其他卷组在使用!!!)
vgremove storage
4、删除物理卷(谨慎操作)
pvremove /dev/sdb
1、有次硬盘迁移后,系统识别不到文件系统,进入救援模式了
1)查看逻辑卷的情况
ls /dev/mapper
2)发现仅有control 文件,所有的逻辑卷都丢失了
3)尝试激活逻辑卷 如果是单用户,不用敲lvm
lvm vgscan 扫描本机的卷组
lvm vgchange -ay 卷组名 激活卷组下的逻辑卷
ls /dev/mapper 此时可以看到逻辑卷恢复情况
4)尝试修复逻辑卷 要先确认文件系统是xfs 注意:swap 不是 xfs
xfs_repair -v -L /dev/mapper/卷组路径
-L 是强制修复,说是可能会清理log和元数据,目前测试数据没丢,强制日志清零
5)如果不确定就都修复一下,小分区10秒左右,如果无文件损坏的情况下
6)重启,正常进入系统
2、有次测试卷组迁移,然后还是重名卷组
vgs -v 查看卷组详情,每个卷组都有唯一的UUID
vgrename nOcFSI-6mnX-5fcE-uhjD-Rgh3-SB63-vYOdEc new_vg_name
刚特地测试了vg重命名,很快,貌似没啥影响
常用文件系统
mount -t cifs -o username=win-username,password=win-pasword,uid=linux-username,gid=linux-group //win-ip/path /mount_dir_path
不常用文件系统
以下内容,是鸟哥的Linux私房菜笔记
EXT 文件系统特性:
FAT 系统每个 block 号码都记录在前一个 block 当中,只能链式的读取,需要碎片整理。
索引式文件系统(indexed allocation) ,inode 记录多个块,可以同时读取
ext2 格式化:Boot Sector + Block group
Block group:
目录:
文件:
文件系统大小与磁盘读取效能:
EXT 意外断电:
缺点:格式化慢,修复速度慢
xfs 就是被开发来用于高容量磁盘以及高性能文件系统之用,日志式文件系统
组成: