Linux 磁盘管理与LVM

1.1,磁盘基础

1,磁盘结构

硬盘(简称HDD)是计算机常用的存储设备之一。

(1)物理结构

    盘片:硬盘有多少个盘片,每盘片2面

    磁头:每面一个磁头

 (2)数据结构

扇区:磁盘上的每个磁道被分为若干个弧段,这些弧段便是硬盘的扇区(Sector)。硬盘的第一个扇区,叫做引导扇区。

磁道:当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道(Track)

柱面:在有多个盘片构成的盘组中,由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面(Cylinder)


(3)存储容量

硬盘存储容量=磁头数x磁道(面)数x每道扇区数x每扇区字节数。
可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域,用fdisk-l 查看分区信息

2.硬盘的接口


硬盘按数据接口不同,大致分为ATA(IDE)和SATA以及SCSI和SAS,接口速度不是实际硬盘数据传输的速度。
ATA,全称AdvancedTechnologyAttachment,并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间大,不利于电脑内部散热,已逐渐被SATA取代

SATA,全称Serial ATA,抗干扰性强,支持热插拔等功能,速度快,纠错能力强。

SCSI,全称是 Small Computer System Interface(小型机系统接口),SCSI 硬盘广为工作站级个人电脑以及服务器所使用,资料传输时CPU 占用率较低,转速快,支持热插拔等。

SAS(Serial Attached SCSI)是新一代的 SCSI技术,和 SATA 硬盘相同,都是采取序列式技术以
获得更高的传输速度,可达到6Gb/s。

1.2 磁盘分区表示


1. MBR

MBR 是主引导记录(Master Boot Record),位于硬盘第一个物理扇区处,MBR 中包含硬盘的主引导程序和硬盘分区表。分区表有4个分区记录区,每个分区记录区占 16个字节。

2,磁盘分区的表示

常见的硬盘可以划分为主分区、扩展分区和逻辑分区,通常情况下主分区只有四个,而扩展分区可以看成是一个特殊的主分区类型,在扩展分区中可以建立逻辑分区。主分区一般用来安装操作系统,扩展分区则多用来存储文件数据。

在Windows系统中,使用盘符的形式(如盘、D盘、E盘等)来表示不同的主分区、逻辑分区而忽略了不能直接存储文件数据的扩展分区。那么在Linux系统中又是如何表示这些分区的呢?

Linux 内核读取光驱、硬盘等资源时均通过“设备文件”的形式进行,因此在Linux系统中,将硬盘和分区分别表示为不同的文件。具体表述形式如下

硬盘:对于IDE接口的硬盘设备,表示为“hdX”形式的文件名;而对于SCSI接口的硬盘设备,则表示为“sdX”形式的文件名。其中“X”可以为a、b、c、d等字母序号。例如,将系统中的第1个IDE设备(硬)表示为“hda”,将第2个SCSI设备表示为“sdb”

分区:表示分区时,以硬盘设备的文件名作为基础,在后边添加该分区(无论主分区、扩展分区、逻辑分区)对应的数字序号即可。例如,第个DE硬盘中的第1个分区表示为“hdal”第2个分区表示为“hda2”,第2个SCSI硬盘中的第3个分区表示为“sdb3”、第5个分区表示为“sdb5”

注意:由于硬盘中的主分区数目只有4个,因此主分区和扩展分区的序号也就限制在1~4,而逻辑分区的序号将始终从5开始。

3.Linux中使用的文件系统类型


文件系统(FileSystem)类型决定了向分区中存放、读取文件数据的方式和效率,在对分区进行格式化时需要选择所使用的文件系统类型。在Windows操作系统中,经常使用的文件系统类型包括FAT32、NTFS等格式;而在Linux系统中,最常使用的文件系统主要包括以下几种格式。


 XFS:是一种高性能的日志文件系统,特别擅长于处理大文件,可支持上百万T字节的存储空间。由于XFS文件系统开启日志功能,所以即便发生宕机也不怕数据遭到破坏,这种文件系统可以根据日志记承在短时间内进行数据恢复

SWAP:交换文件系统,用于为Linux系统建立交换分区。交换分区的作用相当于虚拟内存,能够在一定程度上缓解物理内存不足的问题。一般建议将交换分区的大小设置为物理内存的1.5~2倍

EXT4:第4代扩展文件系统,用于存放文件和目录数据的分区,是Linux系统中默认使用的文件系统(Cent0S7默认使用XFS)。EXT4是典型的日志型文件系统,其特点是保存有盘存取记录的日志数据,便于恢复,在存取性能和稳定性方面更加出色。Linux系统还广泛支持其他各种类型的文件系统,如JFS、FAT16、FAT32、NTFS。

4.管理磁盘及分区

在Linx服务器中,当现有硬盘的分区规划不能满足要求(例如,根分区的剩余空间过少,无法继续安装新的系统程序)时,就需要对硬盘中的分区进行重新规划和调整,有时候还需要添加新的硬盘设备来扩展存储空间。

增加硬盘设备时首先需要在机箱内进行硬盘接口的物理连接。若是在Vware虚拟机环境中,可以修改虚拟主机的设置,添加一块“HardDisk”硬盘设备(如添加一块100GB的SCSI 硬盘)

2.1检测并确认新硬盘

挂接好新的硬盘设备并启动主机后,Linux操作系统会自动检测并加载该硬盘,无须额外安装驱动。执行“fdisk-1”命令可以査看、确认新增硬盘的设备名称和位置。“fdisk-”命令的作用是列出当前系统中所有硬盘设备及其分区的信息,且体操作如下:

[root@localhost ~]# fdisk-l
Disk /dev/sda:107.4GB,107374182400 bytes,209715200 sectors

Units =sectors of 1*512 =512 bytes

Sector size(logical/physical):512 bytes512

bytesI/0 size(minimum/optimal):512 bytes/512 bytes

Disk label type: dos......

上述输出信息中包含了各硬盘的整体情况和分区情况,其中“/dev/sda”为原有的硬盘设备,而“/dev/sdb”为新增的硬盘,没有包含有效的分区信息。对于已有的分区,将通过列表的方式输出以下信息。

Device分区的设备文件名称
Boot是否是引导分区。若是,则有“*”标识
Start该分区在硬盘中的起始位置(柱面数)
End该分区在硬盘中的结束位置(柱面数)
Blocks分区的大小,以Blocks(块)为单位,默认的块大小为1024字节
Id分区对应的系统ID号。83表示Linux中的XFS分区或EXT4分区、8e 表示 LV 逻辑卷。LVM是Linux操作系统中对磁盘分区进行管理的一种逻辑机制
System分区类型。

识别到新的硬盘设备后,就可以在该硬盘中建立新的分区了。在Linux操作系统中,分区和格式化是独立的

2.2规划硬盘中的分区

在硬盘设备中创建、删除、更改分区等操作同样通过fdisk命令进行,只需使用硬盘的设备文件作为参数。例如,执行“fdisk/dev/sdb”命令,即可进入交互式的分区管理界面中

[root@localhost ]# fdisk /dev/sdb

Welcome to disk(util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table

Building a new Dos disklabel with disk identifier x5d8lef3e.
Command (m for help):

(1).“p”指令--列出硬盘中的分区情况

使用“p”指令可以列出详细的分区情况,信息显示的格式与执行“fdisk-1”命令相同。硬盘中尚未建立分区时,输出的列表信息为空

2.“n”指令--新建分区

使用“n”指令可以进行创建分区的操作,包括主分区和扩展分区。根据提示继续输入“p”选择创建主分区,输入“e”选择创建扩展分区。之后依次选择分区序号、起始位置、结束位置或分区大小即可完成新分区的创建。
选择分区号时,主分区和扩展分区的序号只能为1~4。为保证分区连续,分区起始位置一般由fdisk默认识别即可,结束位置或大小可以使用“+sizeM”或“+sizeG”的形式,如“+20G”表示将该分区的容量设置为20GB。
(1)创建1个主分区

(2)创建一个扩展分区和两个逻辑分区


使用剩余的硬盘空间可以创建扩展分区,然后在扩展分区中创建逻辑分区。需要注意的是,若主分区逻辑分区均已创建完毕(四个主分区号已用完),则再次输入“n"指令后将不再提示选择分区类别。
分区),

mkfs /dev/sda

Command(mfor help):n
Partition type:
p primary(2 primary,0 extended,2 free)e extended
Select(default p):
e

Partition number(3,4,default 3):4

First sector(83888128-209715199,default 83888128):

Using default value 83888128
Last sector,+sectors or+size{K,M,G}(83888128-209715199,default 209715199):

Using default value 209715199
Partition 4of type Extended and of size 60 GiB is set

3 "d"指令--删除分区

使用“d”指令可以删除指定的分区,根据提示继续输入需要删除的分区序号即可。在执行删除分区时一定要慎重,应首先使用p指令查看分区的序号,确认无误后再进行删除。需要注意的是,若扩展分区被删除,则扩展分区之下的逻辑分区也将同时被删除。因此建议从最后一个分区开始删除,以免fdisk识别的分区序号发生紊乱。

下面的操作过程将删除上一步建立的逻辑分区/dev/sdb6

Command(mfor help):d

Partition number(1,2,4-6,default 6):6 

Partition 6 is deleted

(4).“t”指令--变更分区的类型

在fdisk分区工具中,新建的分区默认使用的分区类型为Linux,一般不需要更改。但是若新建的分区需要用作Swap交换分区或其他类型的分区,则需要对分区类型进行变更以保持一致性,以避免在理分区时产生混淆

使用“t”指令可以变更分区的ID号。操作时需要依次指定目标分区序号、新的ID号。不同类型的ID号对应不同的分区类型,不同的分区类型支持不同类型的文件系统,以十六进制数表示,在isk交互环境中可以输入“1”指令进行列表。最常用的XFS、Swap文件系统对应的ID号分别为83、82,面用于Windows中的NTFS文件系统对应的ID号一般为86.

执行下面的操作可以将逻辑分区“dev/sdb5”的类型更改为Swap,通过“p”指令可以确认分区/dev/sdb5 的分区ID已由默认的83 变为 82。

Command(m for help):t
Partition number(1,2,4,5,default 5):5Hex code(typeLto list all codes): 82Changed type of partition 'Linux'to 'Linux swap/Solaris'Command(m for help): p

5.“w”和“q”指令--退出 fdisk 分区工具

完成对硬盘的分区操作以后,可以执行“w”或“q”指令退出fdisk分区工具。其中“w”指令将保存分区操作,而“q”指令不会保存对硬盘所做的分区操作。对已包含数据的硬盘进行分区时,一定要做
好数据备份,保存之前要确保操作无误,以免损坏数据。若无法确定本次分区操作是否正确,建议使用“q指令不保存退出。“w”指令的具体操作如下:

Command(m for help):w
The partition table has been altered!
ioctl()to re-read partition table.Calling
Syncing disks

3管理文件系统

在Linux操作系统中,使用fdisk工具在硬盘中建立分区以后,还需要对分区进行格式化并挂载到系统中的指定目录,然后才能用于存储文件、目录等数据。将学习如何格式化并挂载分区

3.1创建文件系统

创建文件系统的过程即格式化分区的过程,在inux操作系统中使用kfs(MakeFiles7sr,创建文件系统)命令工具可以将分区格式化成XFS、EXT4、FAT等不同类型的文件系统,而Sap交操分区是使用swap命令来进行格式化的。

1.mkfs 命令的使用

实际上mfs命令是一个前端工具,可以自动加载不同的程序来创建各种类型的文件系统,而后端包括多个与mfs命令相关的工具程序,这些程序位于/sbin/日录中,支持EXT文件系统的x1程序等

实例:

ls/sbin/mks*

使用mkfs命令时,基本的命令格式

mkfs-t   文件系统类型    分区设备

(1)创建XFS文件系统

当需要创建 XFS文件系统时,只需结合“-txfs”选项指定类型,并指定要被格式化的分区设备即可。例如,执行以下操作将把分区/dev/sdb1格式化为XFS文件系统

[root@localhost ~]# mkfs -t xfs /dev/sdb1 //或执行 mkfs.xfs /dev/sdb1

2.mkswap命令的使用


在Linux操作系统中,Swap分区的作用类似于Windows操作系统中的“虚拟内存”,可以在一定程度上缓解物理内存不足的情况。当Linux主机运行的服务较多,需要更多的交换空间支撑应用时,可以为其增加新的交换分区。

使用mkswap命令工具可以在指定的分区上创建交换文件系统,目标分区应先通过s工具将D号设为82。例如,执行以下操作可以将分区/dev/sdb5创建为交换分区

fdisk -l /dev/sda

mkswap /dev/sda5

3.2挂载、卸载文件系统

在Linux操作系统中,对各种存储设备中的资源访问(如读取、保存文件等)都是通过目录结构进行的,虽然操作系统核心能够通过“设备文件”的方式操纵各种设备,但是对于用户来说,还需要增加个“挂载”的过程,才能像正常访问目录一样访问存储设备中的资源。

1.挂载文件系统

mount 命令的基本使用格式如下:
mount  [  -t 文件  系统类型  ]  存储设备 挂载点

mount /dev/cdrom /media/cdrom

mount 命令的“-t”选项用于指定文件系统类型,而“-o”选项则用来描述设备或文件系统的挂载方式,基本使用格式如下:
mount   [  -o  挂载参数  ]  存储设备  挂载点

2.卸载文件系统

需要卸载文件系统时使用的命令为umount,使用挂载点目录或对应设备的文件名作为卸载参数。Linux操作系统中,由于同一个设备可以被挂载到多个目录下,所以一般建议通过挂载点的目录位置来进行卸载。例如,执行以下操作将分别卸载前面挂载的Linux 分区、光盘设备。[root@localhost ~]#umount /mailbox 

[root@localhost ~]# umount /dev/cdrom/


3.设置文件系统的自动挂载


系统中的/etc/fstab 文件可以视为mount 命令的配置文件,其存储了文件系统的静态挂载数据Linux 操作系统在每次开机时,会自动读取这个文件的内容,自动挂载所指定的文件系统。默认的 fstab文件中包括了根分区、/boot分区、交换分区挂载配置。执行如下命令可以查看当前系统内自动挂载的设备或分区。

cat /etc/fstab

4.查看磁盘使用情况


不带选项及参数的mount命令可以显示分区的挂载情况,若要了解系统中已挂载各文件系统的磁盘使用情况(如剩余磁盘空间比例等),可以使用df命令使用文件或者设备作为命令参数,较常用的选项为“-h”和“-T”。其中,“-h”选项可以显示更易读的容量单位,而“-T”选项用于显示对应文件系统的类型。例如,执行“df-hT”命令可以查看当前系统中挂载的各文件系统的磁盘使用情况,具体操作如下:

[root@localhost ~]# df -hT

二,LVM逻辑卷管理

1 LVM逻辑卷管理


许多Linux操作系统的使用者在安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量。如果当初估计不准确,一旦系统分区不够用就可能不得不备份、删除相关数据,甚至被迫重新规划分区并重装操作系统,以满足应用系统的需要。

1.1 LVM 概述


LVM是Linux操作系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上、文件系统之下的一个逻辑层,在建立文件系统时屏蔽了下层的磁盘分区布局,因此能够在保持现有数据不变的情况下动态调整磁盘容量,从面增强磁盘管理的灵活性。

1.PV(Physical Volume,物理卷)

物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LW的属性,并把存储空间分割成默认大小为B的基本单元(PhysicalExtent,PE),从面构成物理卷,

2.VG(Volume Group,卷组)

由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷,。许多个物理卷可以分别组成不同的卷组,卷组的名称由用户自行定义。

3.LV(Logical Volume,逻辑卷)

逻辑卷建立在卷组之上,与物理卷没有直接关系。对于逻辑卷来说,每一个卷组就是一个整体,从这个整体中“切出”一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷使用mkfs等工具在逻辑卷上创建文件系统以后,就可以挂载到Linux 操作系统中的目录下使用

2.2LVM 的管理命令


为了便于理解,这里先使用fdisk 工具在磁盘设备“/dev/sdb”中划分出三个主分区sdbl、sdb2、sdb3,每个磁盘的空间大小为20GB,将分区类型的ID标记号改为“8e”。磁盘类型的ID为“8e”表示该分区是LinuxLVM类型的,支持LVM机制。若上述分区已被挂载使用,则需要先进行卸载,再进行分区调整操作。
LVM 管理命令主要包括三大类:物理卷(PV)管理、卷组(VG)管理、逻辑卷(LV)管理,对应的命令程序文件分别以“pv”、“vg”、“lv”开头

功能PV 管理命令VG 管理命令LV管理命令
Scan(扫描)pvscanvgscanlvscan
Create(建立)pvcreatevgcreateIvcreate
Display(显示)pvdisplayvgdisplaylvdisplay
Remove(移除)pvremovevgremovelvremove
Extend(扩展)vgextendlvextend
Reduce(减少)vgreducelvreduce

实例:


将硬盘划分为一个独立的主分区并查看    

fdisl -l /dev/sdb /dev/sdc


将分区划分为物理卷    

pvcreate /dev/sdb1 /dev/sdc1


创建一个名为mail的卷组

vgcreate mail /dev/sdb1 /dev/sdc1


在mail中创建一个名为mbox的逻辑卷容量为120GB

 lvcreate -L 120G -n mbox  mail   


使用mkfs 命令对逻辑卷mbox进行格式化  

mkfs -t xfs /dev/mail/mbox

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值