#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



本文转自谁等了谁 51CTO博客,原文链接:http://blog.51cto.com/12486569/1925109
相关文章
|
3月前
|
存储 Linux Shell
文件系统与目录
本文介绍了Linux文件系统的基本概念及其组成部分。文件系统是磁盘上的特定格式区域,用于保存和管理文件。常见的Linux文件系统有Ext3、Ext4和XFS,其中XFS是RHEL 7的默认文件系统,支持高达18EB的存储容量。文件系统通过inode记录文件的属性,如权限、所有者、大小和时间戳等。此外,文章还介绍了虚拟文件系统(VFS)的概念,以及Linux文件系统的目录结构和权限管理机制。通过`chmod`命令,可以使用数字表示法或文字表示法修改文件权限。
68 2
|
存储 安全 Linux
Linux文件系统和磁盘分区
Linux文件系统和磁盘分区
92 0
|
存储 Linux 索引
文件系统和软硬链接
文件系统和软硬链接
113 0
|
存储 运维 Oracle
Linux系统管理--硬盘、卷组、逻辑卷和文件系统
增加两个20GB的硬盘,注意新增加的硬盘不能取代原来安装了操作系统的0号硬盘,不然无法启动。
166 0