Linux磁盘知识,RAID,LVM

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux磁盘知识,RAID,LVM相关的知识,希望对你有一定的参考价值。

一、磁盘基础知识

1、磁盘和硬盘均是对磁盘存储系统的统一称呼。磁盘工作时,磁头悬浮在磁盘盘片上方做径向运动,互相不接触。


2、采购磁盘:

(1)主轴转速速度快(r/min),5400/7200/10000/15000;

(2)接口类型:SATA/SAS/SCSI/IDE;企业环境中SAS使用比较普遍

(3)读写更灵敏的磁头;

(4)容量大,企业级SAS主流硬盘容量300G、600G、1000G,建议300G、600G是首选,多用于线上对外提供服务的业务服务器;企业级SATA主流硬盘容量1T、2T、4T,多用于线下不对外提供服务或者并发业务访问量不大的服务器。

线上的业务用SAS;线下的业务用SATA,磁带库;线上高并发小容量的业务用SSD(还可以利用硬盘加内存的缓存技术解决大规模高并发的问题)。

(5)SSD硬盘性能远大于机械硬盘;


3、Linux系统将系统不用的物理内存作为缓存区或缓冲区使用,buffer为写入缓冲区,synca将缓冲区数据写入磁盘,cache为读取数据的缓存区。


4、机械硬盘读取和写入速度太慢,所以在门户架构网站中,读取和写入都要使用缓存缓冲技术。


5、磁盘内部结构

(1)一个磁盘有多个盘片,每个盘片有两个盘面,每个盘面有两个磁头(head)。

(2)同一个盘片上,半径不同的所有同心圆称为磁道(track).

(3)以盘片中心 为圆心,向盘片边缘磁道画直线,被划分的多个扇形区域称为扇区(sector).

(4)柱面(cylinder)是所有盘面相同半径的所有磁道从上到下组成的圆柱形集合,柱面数等于盘面上的磁道数。

(5)一般每个扇区的大小是512字节。

(6)一个柱面包含多个半径相同的磁道,一个磁道包含多个扇区。

(7)磁道大小=扇区大小(512字节)x扇区数;

盘面大小=磁道大小x磁道数;

磁盘大小=柱面大小x柱面数;

柱面大小=磁道大小x磁头数;

磁盘容量=盘面大小x盘面数=扇区大小x扇区数x磁道数x磁道数(磁头数)。


6、磁盘分区

技术分享图片

技术分享图片

技术分享图片


(1)磁盘的0磁头0磁道1扇区存放有主引导记录MBR和硬盘的分区表DPT。主引导记录MBR的作用是检查分区表是否正确以及确定那个分区为引导分区,并在MBR引导结束时把引导分区的启动程序 调入内存使用。

(2)磁盘分区的实质64bytes的分区表进行重新设置,主要是划分起始结束磁头号,扇区号,柱面号。

(3)一个磁盘的分区表仅有64bytes大小,每个分区表占16bytes,因此一个磁盘最多能支持4个分区,即主分区+扩展分区不超过4个。

(4)磁盘分区是按照柱面来划分的。

(5)一个硬盘只能有1个扩展分区,扩展分区不能直接使用,还需要在扩展分区上创建逻辑分区才行。扩展分区有自己的分区表,因此可以创建多个逻辑分区。

(6)主分区是磁盘上必须存在的分区,可以在主分区上安装系统。

(7)逻辑分区必须存在于扩展分区,逻辑分区编号从5开始。


7、分区工具

(1)一般是装完系统后用fdisk进行分区,装系统之前的分区,大多数是系统ISO里面的工具分,或者raid里分小磁盘。

(2)fdisk只能root权限用户使用。

(3)MBR无法支持大于2T的硬盘分区,GPT可以支持大于2T的硬盘分区;

(4)磁盘分区工具:fdisk(适合小于2T的磁盘分区),parted(擅长给大于2T的磁盘分区,也可以给小于2T的磁盘分区),首选fdisk,大于2T的磁盘分区再选parted

(5)用fdisk进行分区适合于对装系统后剩余的空间进行分区,如安装系统时未全部分区或者安装系统后又要增加分区。

(6)磁盘分区工具parted每步操作都是实时生效的,而fdisk如果没执行W则不生效。


8、swap分区构建

(1)swap分区在实际工作中,特别是JAVA环境下,程序写的有问题时会发生内存泄漏,就会占用swap分区。(解决办法:一般是修改程序,或扩大swap,或先swap off再on)

(2)使用物理分区(或使用文件)扩容swap:   fdisk /dev/sdb #分一个分区 /dev/sdb1出来;     mkswap   /dev/sdb1 #将分区fdisk /dev/sdb1设置成swap  ;      free #查看;   swapon   /dev/sdb1   #使分区/dev/sdb1生效;   free #查看;   

 

9、文件系统:

(1)文件系统是一种存储和组织计算机数据的机制或方法,使得对计算机内部数据的访问变得简单容易(文件系统是一套实现了数据存储,分级组织,访问和获取等操作的抽象数据模型)。常见文件系统:ext2,ext3(centos 5.x),ext4(centos 6.x),xfs,zfs,Reiserfs,FAT,NFSISO9660.

(2)磁盘分区并不是直接挂在目录存放数据实体,还需要格式化操作才可以存放数据,格式化是给磁盘分区写入文件系统后才可以被系统识别存放数据。

(3)操作系统中的数据分为文件内容和文件属性,操作系统将文件属性写入inode,将文件内容写入block,操作系统还将文件系统的整体信息(称之为元数据metadata),包括整个文件系统的inode和block总的数量,已经使用量,未使用量信息,写入superblock中。

(4)文件系统磁盘布局

技术分享图片

(5)文件系统选择

技术分享图片


10、挂载点

(1)挂载:将文件系统与目录树相结合的操作称为挂载。

(2)挂载点一定是目录,挂载点是该目录进入文件系统的入口。

11、文件系统操作命令

(1)df    列出文件系统的磁盘使用量;    

(2)du   评估文件系统的使用量

 ( 3 )  ln    链接文件

(4)fdisk /parted  磁盘分区

(5)mkfs  磁盘分区格式化

(6)fsck(e2fsck)  /badblocks  ext4(ext2)磁盘检验(正常使用的磁盘一定不要用!磁盘有坏道时使用)

  ( 7 )mount  / unmount  挂载/卸载

(8)partprobe   把分区表的变化通知内核

(9)mkswap   格式化swap分区

(10)swap on/off  使用/不使用 swap分区

(11)dumpe2fs    查看ext文件系统信息

 ( 12 )tune2fs  /resize2fs   修改文件系统参数

 ( 13 )megacli    查看raid信息

(14)ipmitools 查看硬件信息


二、磁盘阵列(Redundant Arrays of Inexpensive Disks,RAID),把多块独立物理磁盘按不同的技术方式组合起来形成一个磁盘组,扩大了磁盘容量,提升了磁盘系统安全稳定性能和读写性能,提供了不同级别冗余的一种技术。

       RAID技术分为:软RAID技术和硬RAID技术。软RAID技术,省成本,性能差,受系统影响,工作中很少使用。硬RAID技术,性能优,具有检测和纠错修复能力,工作中普遍使用


1、RAID 0:又称条带模式,RAID 0连续以位或字节为单位分割数据,并行执行读/写于多个磁盘上。         速度快,无冗余,容量无损失,至少需要2块磁盘。企业中单盘也要做成raid 0,否则无法使用。

技术分享图片


2、RAID 1:它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。

有冗余,速度无提高,容量损失一半,只支持2块磁盘(最好使用相同规格的两块盘)。

技术分享图片


3、RAID5 :不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。至少需要3块磁盘RAID5后磁盘容量=n-1,n位总磁盘数。

企业中多用raid 5 +  热备盘(冗余备份)

技术分享图片

4、RAID 10 :(又称RAID 0+1)是磁盘分段及镜像的结合,采用2组RAID0的磁盘阵列互为镜像,它们之间又成为一个RAID1的阵列。同时拥有RAID 0的高速度和RAID 1的数据高可靠性,但是CPU占用率同样也更高,而且磁盘的利用率比较低。至少需要4块磁盘。

技术分享图片

技术分享图片

技术分享图片

冗余由好到坏:raid1  raid10   raid5  raid0; 

性能由好到坏:raid0 raid10   raid5  raid1; 

成本由低到高:raid0 raid5   raid10 raid1;

根据存储和访问地需求,去选择对应的级别。

单台服务器,盘不多,数据重要,选raid  1;

数据库服务器,主库raid 10,从库raid 5(为了成本也可选raid0或raid 10);

web服务器,数据不多,raid 5或raid0;监控或其他应用服务器,单盘raid0,多盘raid5。


三、LVM:逻辑卷管理,用于灵活动态管理磁盘的容量,有效利用磁盘空间。

1、LVM:灵活动态管理磁盘的容量,有一定的冗余性能,但很弱;        RAID:侧重性能和数据安全。


以上是关于Linux磁盘知识,RAID,LVM的主要内容,如果未能解决你的问题,请参考以下文章

Linux里面raid和lvm区别是啥?

Linux软件RAID(磁盘冗余阵列)

LINUX 下创建RAID5以及LVM磁盘配额

Linux磁盘管理-Raid5和LVM

Linux 磁盘管理 高级篇 -- quota,RAID,LVM

linux云自动化系统运维19(磁盘阵列raid,lvm管理)