Linux磁盘管理与LVM磁盘配额

一 磁盘的结构与分区

1.1 物理结构

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

磁头:每面一个磁头

1.2 数据结构

扇区:盘面被分成多个扇形区域,每个扇区存放512个字节的数据

PS:硬盘的第一个扇区,叫做引导扇区

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

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

PS:固态硬盘:电子芯片存储,速度快,但是数据丢失无法恢复

​ 机械硬盘:磁道存储,速度一般,数据丢失有几率恢复

1.3 磁盘接口类型

ATA(IDE 并口):现在已经很少见到,逐渐被SATA所取代
SATA(串口):全称是Serial ATA,抗干扰性强,支持热插热拔等功能,速度快,纠错能力强。
SCSI:全称是 Small Computer System Interface(小型机系统接口),SCSI硬盘广为工作站级个人电脑以及服务器所使用的,资料传输时CPU占用率较低,转速快,支持热插热拔等
SAS(Serial Attached SCSI):是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到6Gb/s

1.4 磁盘分区

主引导记录MBR

1.Master Boot Record,位于硬盘第一个物理扇区处(引导扇区)

2.MBR中包含硬盘的主引导程序和硬盘分区表。分区表有4个分区记录区,每个分区记录区占16个字节

3.MBR最多四个分区,可创建逻辑分区
磁盘分区类型
常见的硬盘可以划分为主分区,扩展分区和逻辑分区,通常情况下主分区只有四个,而扩展分区可以看成是一个特殊的主分区类型,在扩展分区中可以建立逻辑分区。

二 磁盘检测与创建

2.1 fdisk 命令

用于查看和管理磁盘分区
fdisk -l [磁盘设备]

fdisk [磁盘设备]
fdisk /dev/sdb 进入交互式的分区管理界面

交互式界面常用指令

参数释义
p列出硬盘中的分区情况,信息显示的格式与执行"fdisk -l"命令相同
n创建新分区
d删除分区
t变更分区类型,转换格式
w保存配置
q退出
l查看分区对应的系统ID号

2.2 mkfs命令

在Linux系统中使用mkfs(Make Filesystem,创建文件系统)命令格式可以格式化XFS , EXT4 ,FAT等不同类型的分区,而使用mkswap命令可以格式化Swap交换分区

创建文件系统(格式化)

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

[root@localhost ~]# mkfs.xfs /dev/卷组名/逻辑卷名

创建EXT4文件系统

mkfs -t ext4 /dev/sda2

创建FAT32文件系统
方法一:
[root@hostname ~]# mkfs -t vfat -F 32 /dev/sdb3
方法二:
[root@hostname ~]# mkfs.vfat -F 32 /dev/sdb3

2.3 mkswap命令

在指定的分区上创建交换文件系统,目标分区应先通过fdisk工具将ID号设为82。Swap分区的作用类似于Windows系统中的“虚拟内存”,可以在一定程度上缓解物理内存不足的情况。

mkswap 分区设备

三 文件的挂载与卸载

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

3.1 mount命令

挂载文件系统
-a :all,挂载fstab中的所有文件系统
-o:options 挂载选项列表,以英文逗号隔开

[root@node1 home]# mount /dev/cdrom /mnt/

3.2 umount命令

卸载文件系统

[root@node1 home]# umount /dev/cdrom

3.3 永久挂载

系统中的/etc/fstab文件可以视为mount命令的配置文件,其中存储了文件系统的静态挂载数据,Linux系统在每次开机时,会自动读取这个文件的内容,自动挂载所指定的文件系统。在/etc/fstab文件中添加挂载目录即可实现永久挂载。

在/etc/fstab文件中,每一行记录对应一个分区或设备的挂载配置信息,从左到右包括六个字段,含义如下:

字段释义
第一字段分区/设备名/设备卷标名
第二字段挂载点,文件系统的挂载点目录的位置
第三字段文件系统类型,如xfs,Swap等
第四字段挂载参数(包括权限和功能),即mount命令“-o”选项后可使用的参数。例如:defaults,rw,ro,noexec分别表示默认参数,可写,只读,禁用执行程序。
第五字段表示文件系统是否需要dump备份(dump是一个备份工具),设为1时表示需要,设为0时将被dump忽略
第六字段该字段用于决定系统启动时进行磁盘检查的顺序。0:不进行检查。1:优先检查。2:其次检查、对于根分区应设为1,其他分区设为2

四 LVM逻辑卷管理

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制

4.1 物理卷PV

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

4.2 卷组VG

由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷

4.3 逻辑卷LV

逻辑卷建立在卷组之上,与物理卷没有直接关系。对于逻辑卷来说,每一个卷组就是一个整体,从这个整体中“切出”一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷

4.4 LVM的管理

LVM管理Scan(显示概要信息)Create(建立)Display(显示详细信息)Remove(删除)Extend(扩展)Reduce(减少)
物理卷管理(PV)pvscanpvcreatepvdisplaypvremove
卷组管理(VG)vgscanvgcreatevgdisplayvgremovevgextendvgreduce
逻辑卷管理(LV)lvscanlvcreatelvdisplaylvremovelvextendlvreduce

常用命令格式:

pvcreate 设备名(磁盘) [设备名2 … …]

vgcreate 卷组名 物理卷名1 物理卷名2

lvcreate -L 容量大小 -n 逻辑卷名 卷组名

lvextend -l +大小 /dev/卷组名/逻辑卷名

五 LVM案例

5.1 在centos 7系统中添加两块磁盘,查看磁盘是否添加成功

[root@localhost ~]# fdisk -l		

磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理)512 字节 / 512 字节
I/O 大小(最小/最佳)512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000c1f00

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    12584959     6291456   83  Linux
/dev/sda2        12584960    54527999    20971520   83  Linux
/dev/sda3        54528000    62916607     4194304   82  Linux swap / Solaris
/dev/sda4        62916608    83886079    10484736    5  Extended
/dev/sda5        62918656    83886079    10483712   83  Linux

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理)512 字节 / 512 字节
I/O 大小(最小/最佳)512 字节 / 512 字节


磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理)512 字节 / 512 字节
I/O 大小(最小/最佳)512 字节 / 512 字节
    

5.2 创建分区,并以同样的方法创建/dev/sdc

[root@localhost ~]# fdisk /dev/sdb		
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x50f1e234 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码)8e		//分区ID改成8e,8e是lvm格式,我们保持前后格式相同
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

5.3 查看分区创建情况

[root@localhost ~]# fdisk -l		
磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理)512 字节 / 512 字节
I/O 大小(最小/最佳)512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000c1f00

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    12584959     6291456   83  Linux
/dev/sda2        12584960    54527999    20971520   83  Linux
/dev/sda3        54528000    62916607     4194304   82  Linux swap / Solaris
/dev/sda4        62916608    83886079    10484736    5  Extended
/dev/sda5        62918656    83886079    10483712   83  Linux

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理)512 字节 / 512 字节
I/O 大小(最小/最佳)512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x50f1e234

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41943039    20970496   8e  Linux LVM

磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理)512 字节 / 512 字节
I/O 大小(最小/最佳)512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x6a90762a

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048    41943039    20970496   8e  Linux LVM

5.4 创建物理卷PV

[root@localhost ~]# pvcreate /dev/sd[b-c]1
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdc1" successfully created.
[root@localhost ~]# pvscan		'//查看物理卷'
  PV /dev/sdc1                      lvm2 [<20.00 GiB]
  PV /dev/sdb1                      lvm2 [<20.00 GiB]
  Total: 2 [<40.00 GiB] / in use: 0 [0   ] / in no VG: 2 [<40.00 GiB]

5.5 创建卷组VG

5.创建卷组
[root@localhost ~]# vgcreate mail_stor /dev/sd[b-c]1
  Volume group "mail_stor" successfully created
[root@localhost ~]# vgscan		'//扫描卷组'
  Reading volume groups from cache.
  Found volume group "mail_stor" using metadata type lvm2
[root@localhost ~]# vgdisplay		'//查看卷组详细信息'
  --- Volume group ---
  VG Name               mail_stor
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               39.99 GiB
  PE Size               4.00 MiB
  Total PE              10238
  Alloc PE / Size       0 / 0   
  Free  PE / Size       10238 / 39.99 GiB
  VG UUID               iEKi0I-hg0i-it0a-cOwe-DfPj-FkXs-fnSP4N

5.6 创建逻辑卷

[root@localhost ~]# lvcreate -L 20G -n mbox mail_stor
  Logical volume "mbox" created.
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/mail_stor/mbox
  LV Name               mbox
  VG Name                mail_stor
  LV UUID                VXD0B0-wxqV-wXgk-b7N4-GEPE-c1au-u6nGBs
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2019-11-04 14:45:59 +0800
  LV Status              available
  # open                 0
  LV Size                20.00 GiB
  Current LE             5120
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

5.7 格式化逻辑卷

[root@localhost 1]# mkfs.xfs /dev/mail_stor/mbox
meta-data=/dev/mail_stor/mbox              isize=512    agcount=4, agsize=1310720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242880, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

5.8 创建挂载点,设置自动挂载

[root@localhost 1]# mkdir mailbox
[root@localhost 1]# vim /etc/fstab

5.9 启用挂载

[root@localhost 1]# mount -a
[root@localhost 1]# df -hT		'//查看是否挂载成功'

5.10给逻辑卷扩容10G

[root@localhost 1]# lvextend -L +10G /dev/mail_stor/mbox
  Size of logical volume 1/11 changed from 20.00 GiB (5120 extents) to 30.00 GiB (7680 extents).
  Logical volume 1/11 successfully resized.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值