#11 硬连接与软链接与RAID与LVM2
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#11 硬连接与软链接与RAID与LVM2相关的知识,希望对你有一定的参考价值。
两种特殊文件:
设备文件:
mknod
符号链接文件:
链接:就是访问一个文件的不同路径;
硬连接:
数据块指针指向同一个数据块的文件;
不能跨文件系统创建硬连接;
目录文件不能创建硬连接;
每次创建硬连接都会增加indoe的引用计数
符号链接(软链接):
用于储存被链接文件的路径的文件;
可以跨文件系统创建;
也可以对目录创建;
每次都必粗进行两组路径的查找;
ln命令:
ln [option...] src_flie link_file
ln - make links between files
-S, --suffix=SUFFIX:创建符号链接,省略该选项,即创建硬连接;
-v, --verbose:显示链接创建的过程;
注意:创建符号链接时,如果想要保证该链接文件被复制或移动到其他路径中依然可用,最好链接至被链接文件的绝对路径;
版本管理:
apache:
2.2 2.4
将不同版本的软件分别放置于不同的目录中,使用符号链接,将软件链接到一个统一的路径:
/usr/local/apache --> /usr/local/apache-2.#
/usr/local/apache-2.2
/usr/local/apache-2.4
RAID:
IDE:
SCSI:
redundant array of inexpensive disks,廉价磁盘冗余阵列
redundant array of independent disks,独立磁盘冗余阵列
RAID:
提高IO能力:
使多个磁盘实现并行读写;
磁盘条带化,chunk
提高耐用性:
磁盘冗余实现
即使磁盘发生故障或损坏,也不会影响数据;
RAID的实现方式:
硬件实现:
通过硬件RAID控制器或适配器。将所需的磁盘组织成RAID,而后安装OS;
Bios程序
软件模拟实现:
操作系统通过系统调用的方式模拟RAID实现;
RAID的操作级别:
RAID0:
提高IO性能,条带卷,strip
至少2块磁盘
没有冗余容错能力
没有存储空间浪费,要求每个磁盘必须提供相同大小的储存空间;
RAID1:镜像卷,mirror
提供高可用性
需要2块磁盘
先将数据存入主盘,然后再将数据存入从盘;
写入效率较低,略微提示读效率
磁盘空间的整体利用率为50%
有冗余容错的能力
RAID2:
...
RAID4:
至少需要3块磁盘
用多块磁盘进行异或运算,得到校验值,并且使用专门的一块磁盘存放校验值;
即使一块磁盘损坏,也不会丢失数据;
校验盘IO压力巨大,很容易形成性能瓶颈;
RAID5:
用多块磁盘进行循环冗余校验,将校验值随机分配到不同磁盘的条带中;
读、写IO性能均明显提示,又不会出现性能瓶颈
磁盘利用率=(n-1)/n*100%
冗余容错,
至少需要3块磁盘
RAID6:
用多块磁盘进行两轮循环冗余校验,将校验值随机分配到两个不同磁盘的条带中;
读、写IO性能均明显提示,又不会出现性能瓶颈
最多允许两块磁盘出现故障或损坏依然保证数据可用;
代价就是增加了计算校验值的时间;
RAID混合级别:
RAID01:
先做RAID0,在做RAID1
RAID10:
先做RAID1,在做RAID0
RAID7:
可以理解为一个存储计算机,自带操作系统以及相应的管理工具,可以独立运行;
RAID50:
先做RAID5,在做RAID0
JBOD:
just a bunch of disks,仅仅就是一组磁盘;
将多块磁盘的储存空间连接到一起,顺序存放数据;
在centos上实现软RAID:
内核提供一个md的模块(multi disks,multi devices)
用户空间需要mdadm的工具,来设置和修改md内核模块的参数;
mdadm:模式化工具
mdadm [mode] <raiddevice> [option...] <component device>
模式包括:
创建模式:-C
-n #:使用#块磁盘创建RAID设备
-l #:指示RAID的级别
-a {yes|no}:允许系统或不许系统自动创建md设备文件;
-c CHUNK_SIEZ:指定chunk大小,
-x #:指定在阵列中空闲磁盘的数量
装配模式: -A
根据/etc/madam.conf指示的raid进行装配
管理模式:-a,-r,-f
杂项:
-D --scan
显示raid设备的详细信息
mdadm -D --scan > /etc/madam.conf
该配置文件用于raid设备的再次装配
-S:停止raid的设备
dd - convert and copy a file
LVM2
logical volume manager,逻辑卷管理器,version(版本)2
IBM
使用纯软件的方式组织一个或多个底层的块设备,将它们重新定义为一个逻辑块设备的解决方案;
利用内核中的dm模块实现;
dm:device mapper,设备映射表
dm模块可以将一个或多个底层块设备组织成一个逻辑块设备;
用户空间中的相应命令来向dm模块发出系统调用,就可以完成后逻辑块设备的管理;
逻辑块设备统一存放在/dev/dm-#
使用DM机制实现LVM管理的步骤:
1.创建并标识物理卷,PV
注意:如果用来创建物理卷的设备是普通分区,一定要将分区的ID修改为8e;
2.基于PV创建卷组,逻辑块设备,创建卷组的同时指定PE的大小;
注意:一旦PE大小被指定,就不允许更改;
3.在已经创建的卷组中创建逻辑卷
4.在逻辑卷中创建文件系统(高级格式化)
5.挂载
物理卷的管理操作:
pvcreate:创建物理卷
pvdisplay:显示物理卷的详细信息
pvs:显示物理卷的简单信息
pvremove:删物理卷
pvmove:将某个物理卷中的所有的PE移动到其他物理卷中;
卷组的管理操作:
vgcreate:创建卷组
-s #{kKmMgG}:指定PE的大小,如果省略该选择,默认的PE为4M
vgremove:删除卷组
vgextend:扩展卷组容量,将新的pv添加到卷组中
vgreduce:缩减卷组容量,将pv从卷组中移除;在做此操作之前,应该先使用pvmove,保证被移除的pv上没有被占用的pe
vgdisplay:显示卷组的详细信息
vgs:显示卷组的简短信息
逻辑卷的管理操作:
lvcreate:创建逻辑卷
-L LV_SIZE(#{kK|mM|gG}):指定逻辑卷的大小,不能超过卷组的容量;
-l #${FREE|VG|ORIGIN|PVS}:指定逻辑卷占用对应存储单元的百分比;
-n LV_NAME:指定逻辑卷的名称
-i #:在创建逻辑卷的时候,以条带的方式创建,并指明这个逻辑卷上有#个条带
-I #:在创建逻辑卷的时候,以条带的方式创建,并指明CHUNK的大小;
lvremove:移除逻辑卷
lvdisplay:显示逻辑卷的详细信息
lvs:显示逻辑卷的简短信息
lvchange:修改LV的状态
-ay:激活逻辑卷
-an:停用逻辑卷
lvextend:扩展逻辑卷的空间,
注意:一定要先扩展逻辑卷的物理边界,再扩展逻辑卷的逻辑边界;
使用ext系列文件系统的时候,resize2fs命令扩展逻辑边界;
lvreduce:缩减逻辑卷的空间
注意:先缩减逻辑卷的逻辑边界,再缩减逻辑卷的物理边界,
使用ext系列文件系统的时候,resize2fs命令缩减逻辑边界;
为了更方便的使用逻辑卷,为/dev/dm-#设备创建了两个符号链接文件;
/dev/mapper/VG_NAME-LV_NAME --> ../dm-#
/dev/VG_NAME/LV_NAME --> ../dm-#
逻辑卷的快照:
快照,本身也是一种逻辑卷;目标逻辑卷的另外一个访问路径;
lvcreate -s -p r -L 15G -n mylv-snopshot /path/to/dest_lv
以上是关于#11 硬连接与软链接与RAID与LVM2的主要内容,如果未能解决你的问题,请参考以下文章