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,NFS,ISO9660.
(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:侧重性能和数据安全。
原文地址:http://blog.51cto.com/12674559/2103967