磁盘设备管理

        作为提供系统可靠性与数据可用性的一个重要特性,系统支持磁盘阵列技术,包括硬件和软件实

现磁盘阵列。也支持LVM逻辑卷实现的磁盘管理。

一、划分磁盘分区

      在使用新装的磁盘,设置软件磁盘阵列,创建LAM卷组或逻辑卷之前,通常需要利用fdisk划分磁盘

分区,分区时,可以把整个磁盘划分为一个Linux分区,如果磁盘容量较大,也可以把磁盘划分若干分

区,以分区为单位,创建软件磁盘阵列、创建LVM卷组、或逻辑卷、或直接创建文件系统。

  每个物理磁盘可以划分为一个或多个分区。磁盘分区信息位于磁盘扇区0的分区表中。在Linux系统

中,一个磁盘分区即可用做文件系统,也可以做交换空间。
   

    在Linux系统中,所有磁盘均采用/dev/sdDN形式统计命名。其中,D可以是字母a、b....分别表示第一个

磁盘、第二个磁盘、以此类推。数字N从1开始编号,表示磁盘分区。例如/dev/sda1是系统配置的第一

个磁盘的第一个分区。
   
   通过,Linux系统至少需要两个磁盘分区,分别用做"/"文件系统和交换分区。也可以创建第三个磁盘分

区,用做/boot文件系统,存储系统内核的映像文件,以及引导系统时需要的其他辅助文件。在一个

Intel86 系列及其兼容机中,用于引导系统的BIOS通常只能访问磁盘的前1024个柱面。因此,划分磁盘

分区时需要确保BIOS能够访问到单独的/boot分区,如果系统配置的磁盘容量较大,出于安全、管理、

备份或检测等原因,也可以把磁盘设备划分多个分区。

(1)磁面:每一张磁盘的表面,称为磁面(Head)
 

(2) 磁道:每一个磁面的空间,会逻辑地切割出许多磁道(Track)
 
(3) 扇区:每一个磁道可以再切割出若干扇区(Sector)也是调用磁盘的最小单位。现今磁盘中的扇区

默认大小为512字节(Byte)
 
(4) 磁柱:一个磁盘会有多个磁道,每个磁盘上同一编号的磁道就组成了磁住(Cylinder)。

1.主引导记录(MBR)

     整个磁盘的第0号磁住的第0号磁面的第1个扇区,指的是“主引导记录(Master Boot Record,MBR)

分为以下信息:
初始化程序加载器(Initial Program Loader,IPL)占用446字节的空间,用来存储操作系统的内核
分区表(Partiton Table)占用64字节的空间,存储这个磁盘的分区信息。
验证码:占用2个字节的空间,用来存放初始化程序加载器的检查码

三、分区
 
     一台计算机允许同时安装多个操作系统,不同的操作系统可能会使用不同的文件系统来存放文件数据;可是每一个磁面空间,只能使用同一种文件系统。
 
(1)主分区
 
  分区信息如果存储在主引导记录扇区的分区表中,称为主分区(primary partition)
 
  由于主引导记录扇区的分区数据表大小为64字节,而每一个分区信息都会占用16字节的空间,因此,

一块磁盘最多只能拥有4个主分区。
 
(2)扩展分区
  
     由于主机记录扇区空间的限制,一块磁盘最多只能有4个主要分区;如果需要更多的分区,需要创建

扩展分区(Extended partiton)
  
     注意:扩展分区只能存储分区,无法存储文件的数据
      
     扩展分区的信息必须存储在主引导记录扇区的分区数据表中。一块磁盘只能有一个扩展分区,因此

一次磁盘最多只能有3个主分区+1个扩展分区 

 

(3)逻辑分区
 
      存储在扩展分区中的分区称为逻辑分区(Logic Partiton)。每一个逻辑分区都可以存储一个文件系

统。
   系统标识符位5-Extended的扩展分区:最多只能存储12个逻辑分区的信息
   系统标识符位85-Linux Extended的扩展分区:因磁盘种类的不同会有不同的数量。
   IDE磁盘:最多60个逻辑分区。
   SCSI磁盘:最多12个逻辑分区
   主分区与扩展分区:使用1-4的识别号码
   逻辑分区:使用5-63的识别号码

     fdisk是常见的命令,用于划分磁盘设备,显示磁盘分区的信息。在划分磁盘分区时。通常均采用交

互方式。运行fdisk命令
fdisk [-u] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device
fdisk -l [-u] [device]
fdisk -s partition

选项
-l 获得机器中所有磁盘的个数,也能列出所有磁盘分区情况
-c 禁用旧的DOS兼容模式
-u 以扇区(而不是柱面)的格式显示输出

wKioL1Z4oD_REQ2hAAFCPzlr6lU128.jpg

fdisk子命令 简单说明
n  创建一个新的磁盘分区
d  删除一个磁盘分区
p  显示当前划分的磁盘分区表
t  设置或修改磁盘分区类型标识
l  显示可用的磁盘分区类型标识列表
w  运行fdisk命令期间设置的分区信息写入磁盘分区表
m  显示可用的fdisk子命令
q  退出fdisk命令

 

四、磁盘阵列

磁盘阵列(RAID)基本思路是,把多个小型廉价的磁盘组合成一个阵列,以达到扩大存储容量、提供I/0性能及提高数据容错功能的目的,提供数据的可用性。从系统管理的角度,可以磁盘阵列看做一个逻辑存储单位或磁盘设备。利用磁盘阵列,可以把数据分布到若干个磁盘中,按照RAID定义,磁盘阵列支持数据的均匀分布(RAID 0)、数据镜像(RAID 1)及增加奇偶校验的数据均匀分布(RAID 5)已达到数据,增加I/0带宽的目的。
 
  磁盘阵列可以分为硬件实现的磁盘阵列和软件实现的磁盘阵列。
  硬件磁盘阵列的特点是:速度快、稳定性好,可以有效地提供硬盘的可用性。但需要额外的硬件设备

支持。
   软件磁盘阵列的特点是:有操作系统的软件模块实现,不需要额外的硬件支持,故成本较低,但由于

需要占用较多的CPU和内存资源,因而性能相对较低。

(1)磁盘阵列的类型及定义
  包括RAID 0、RAID 1、RAID 4、RAID 6、RAID10

   RAID 0 :是一种“磁盘均匀分布”技术,主要目的是提供数据的I/O性能。写入磁盘阵列的数据经过

拆分后均匀写入每个成员磁盘或分区,能够以较低的成本提供数据的I/O性能。
  
   RAID 1: RAID 1 也称作“磁盘镜像”为了确保数据的可用性,RAID 1是最常用的磁盘阵列类型之

一。RAID 1磁盘阵列采用"一式两份"的方式,吧同一数据分别写入磁盘阵列中的一个成员设备及其“镜

像”设备,是每个数据均保留一个副本。
  
   RAID 4  采用专用的磁盘存储奇偶校验数据,其他磁盘均匀存储数据,以实现数据的保护。对于所有

的数据写操作,采用专用的奇偶校验磁盘意味着存在潜在的瓶颈。
  
   RAID 5  是最常用的一种RAID技术。与RAID 4不同的是,RAID 5磁盘阵列采用交错的方式,把奇偶校

验数据均匀写入每一个成员设备中,从而减小RAID 4磁盘阵列固有的写数据瓶颈问题。RAID 5磁盘阵

列最少需要3个磁盘或分区
  
   RAID 6   采用复杂的奇偶校验方案,针对每一组数据,均生成两个奇偶交验数据,确保能够恢复磁盘

阵列中任何两个磁盘损坏而丢失数据。

配置磁盘阵列
  mdadm是一个磁盘阵列维护工具,具有丰富的功能,可用于组建、维护以及监控软件实现的磁盘阵

列,增加、删除以及更换失灵的成员设备等。

格式:mdadm [mode] raid-device [options] devices
  -l raid-level  --level=raid-level 设置磁盘设备的RAID类型。当与“--create”选项一起使用时“--leve l”选项

的参数

  例如 以使用两个磁盘分区/dev/sdb1和/sdb2 组建RAID 1 磁盘阵列为例,为了确保数据的可靠性,最好

使用不同磁盘设备的分区创建RAID 1磁盘阵列
 
  (1)使用fdisk命令,在/dev/sdb磁盘上划分两个大小基本相同的分区,把分区标识为fd,保存分区表。
 
  (2)使用下列mdadm命令,组建RAID 1磁盘阵列/dev/md0 (0表示第一个磁盘阵列)
    wKioL1Z4pvqSsKIxAAEEi7WcZtM443.jpg 

   (3)使用下列mkfs命令,在新建的磁盘阵列上创建一个ext4文件系统

    wKioL1Z4qD6Bnt3aAAFZ_C-h0SY653.jpg

   (4)使用mount命令,把新建的文件系统安装到任何一个安装点即可访问磁盘阵列了

   wKiom1Z4qGrymUyXAADga5DZxCQ947.jpg

(5)在磁盘阵列工作期间,可以使用下列mdadm命令查询磁盘阵列的基本信息

wKioL1Z4u37wzGuUAABZNVOGgjk379.jpg

(6) 也可以使用下列mdadm命令查询磁盘阵列的详细信息

wKioL1Z4u8fj0g1cAAEhnHB7bZo575.jpg

在磁盘阵列的运行过程中,如果某个成员设备出现故障,需要及时更换损坏的设备,以保证磁盘阵列

能继续有效工作。
 
  首先需要使用mdadm命令的“-f"选项标记出现故障的设备,然后使用mdadm命令的”-r“选项移除故障

设备。

wKiom1Z4vF_jdd1JAABCvIpuk4w216.jpg

wKioL1Z4vSjwYyWWAABoQyaj51E527.jpg

接着更换磁盘设备,在新的磁盘上划分RAID分区,在使用下列mdadm命令,添加磁盘阵列的成员设备

(这里仍使用原来的磁盘分区/dev/sdb6)

wKioL1Z4vc6znMSMAAA-x18c0DM937.jpg

  如果不想在使用,首选需要使用umount命令卸载磁盘阵列的文件系统。然后使用mdadm命令,停止并

删除磁盘 阵列

 wKiom1Z4v03hHQysAABPFYjsJrY905.jpg

 

逻辑卷 (LVM)

   物理卷(Physical Volume)物理卷指的磁盘、磁盘分区或磁盘阵列等存储设备。物理卷是LVM的基本存储

单元。

  卷组(Logical Volume Group)卷组相当传统的磁盘设备,可由一个或多个物理卷组成。在卷组上可以创

建一个或多个逻辑卷。

  逻辑卷(Logical Volume)逻辑卷相当于传统的磁盘分区,可以在逻辑卷想创建文件系统。必要时,逻辑

卷可以动态地伸缩。

物理扩展单元(Physical Extent)物理卷可以进一步细分为物理扩展单元,每个物理扩展单元具有唯一的编

号,也是LVM能够寻址的最小单元。物理扩展单元的大小可以配置默认值为4MB。

逻辑扩展单元(Logical Extent)逻辑卷也可以为可寻址的逻辑扩展单元。在同一个卷组中,物理扩展单元

与逻辑扩展单元的大小相同,且一一对应。LVM(Logical Volume Management)是一个逻辑卷管理工具,

可用于分配磁盘,分布与镜像数据。以及重新设定逻辑卷的大小。利用LVM,可以提供设备管理的灵

活性、把磁盘、磁盘分区或磁盘阵列等存储设备分配到一个或多个物理卷中。但是,物理卷不能跨盘组

建。为了实现跨盘组合,可以先在每个磁盘上创建一个或多个物理卷,然后把若干物理卷组合成一个

卷组。因此,卷组可以包含多个磁盘、磁盘分区或磁盘阵列。卷组又可以分若干逻辑卷,在每个逻辑

卷上,可以创建Ext4等文件系统。

LVM逻辑卷的优势

  1.在系统运行期间,可以动态扩展或虽小逻辑卷,重新设定逻辑卷的存储空间大小,而不影响文件系

统的访问,即使在增加或更换存储设备时也无需停机,提供了系统的可用性。
  
  2.当卷组中存储设备出现故障或损坏时,其中的数据可以动态迁移到另外一个新的物理卷设备上,而

原先的物理卷设备仍可保持联机工作状态。

 3.逻辑卷可以汇聚多个物理设备,均衡分布数据,提高存储设备的I/0性能,增加数据能力。

 4.可以创建逻辑卷快照,以反映逻辑卷在特定时刻的实时状态,并且能够在常规的系统运行期间进行

精确的备份。

1.创建物理卷

  在使用LVM之前,首选需要使用pvcreate命令,把磁盘或分区转换成物理卷。

 格式:pvcreate [options] PVPaths
其中,PVPaths是物理卷的设备文件名。
例如,如果想把磁盘分区/dev/sdb1转换成物理卷,可以使用fdisk命令划分磁盘分区,确保分区类型是8e。

wKiom1Z4xlvz5A9eAADNSnUvMao791.jpg

  创建完物理卷之后,使用pvdisplay命令查看物理卷的属性信息

wKiom1Z4xpvgda_3AAElmzXiwOU435.jpg

2.创建卷组

格式:vgcreate  vgname pvdevices......
   其中vgname是块设备的名称,PvPDevices是利用pvcreate命令创建的物理卷的设备文件名。
  -l  设置卷组允许的最大逻辑卷数量,对于LVM1而言,默认的数量限制是255,LVM2的默认值是0,

表示没有限制。
   -p  设置卷组允许的最大物理卷数量。同样,默认的数量限制是255,LVM2的默认值是0,表示没有限

制。
  -s  用于设置卷组中物理卷的物理扩展单元的大小。数字后面的字母是选用的,分别表示以KB、MB、

GB或TB为单位,默认单位是MB,物理扩展单元的默认大小是4MB。

例如创建/dev/sdb5物理卷建立出vg0这个卷组,PE块的大小是8MB

 wKioL1Z4yJ7jyzK_AABJLvhwxdE870.jpg

查看卷组的属性信息

wKiom1Z4yZWSEEBEAAEIVm_4n7A077.jpg

3.创建逻辑卷

在创建文件系统之前,首选需要使用lvcreate命令和卷组中的空闲物理扩展单元,创建逻辑卷。lvcreate

命令的主要功能是利用卷组创建新的逻辑卷,格式:
 
  lvcreate [-L size] -n LAVNAME VGNAME
 
  其中的size是逻辑卷的大小,如果没有指定size,lvcreate将以卷组剩余的所有可用空间作为该逻辑卷的大

小,lvname则是逻辑卷的识别名称,vgname则是卷组的识别名称。
 选项
  -i 用于指定数据条块的数量,这个数量应等于物理卷的数量,表示有多少物理卷交错分布,以构成逻

辑卷。

-I 用于指定数据条块的大小,在LVM1中,指定的数值必须等于2^n(n=2-9)在LVM2中,数据条块可以

更大,不能超过物理扩展单元的大小。
-L 用于指定分配给新建逻辑卷的存储容量。指定的数值后面可以附加K、M、G或T等后缀。分别表示

以KB\MB\GB\TB为单位。

-n 用于指定新建逻辑卷的名称

使用卷组vg1(其中包括/dev/sdb1 与/dev/sdb2两个磁盘分区,37G)作为例子,可以利用下列命令,把整

个卷组的所有空间均分配给一个逻辑卷,创建一个37G的逻辑卷lv1

wKioL1Z4zF7R0561AAEfg94Jo0o892.jpg

利用vgdisplay命令确定卷组vg0中拥有多少物理扩展单元

wKioL1Z4zADSEVGaAAA3DWWw1Ys395.jpg

创建逻辑卷之后,查看新建的逻辑卷的属性信息

wKioL1Z4zlCDw_5lAADxNwmA1uw476.jpg

创建逻辑卷之后,可创建文件系统,例如,下列命令将会在逻辑卷lv0创建一个ext4的文件系统

wKiom1Z4zqSjvJRnAAIKz0-ISiQ076.jpg

创建文件系统之后,即可安装文件系统,例如,下列命令将会把文件系统安装到/lvm目录中

wKioL1Z4zyCAyZgEAACVugktpg8213.jpg

如果希望在系统启动自动安装文件,需要修改/etc/fstab文件

wKioL1Z4z6qgNvJmAAHgUqpwdf8359.jpg

 

 

本文出自 “博客之战” 博客,转载请与作者联系!

你可能感兴趣的:(磁盘管理)