磁盘管理与逻辑卷

磁盘管理

会在linux中使用硬盘

  • 分区

  • 格式化(重新安装文件系统)

  • 挂载

磁盘的硬件架构

  1. 扇区:一个扇区512字节,是磁盘的最小单位

  2. 磁道:同一盘片不同半径的同心圆

  3. 柱面:不同盘片相同半径构成的圆(柱面和磁道数量相同)

mbr

mbr分区(老技术)gpt(新技术)

mbr:2TB以下的硬盘 fdisk

GPT:2TB以上的硬盘 gdisk

mbr位于磁盘的第一个扇区,其中包含

  1. 主引导程序

  2. 分区表

主引导程序:

加电,主板bios,检测硬件是否故障,启动硬件,根据bios中的设置去找系统

默认的优先级 本地硬盘——>本地光驱——>外接设备——>网卡

找硬盘,先找到硬盘的第一扇区(mbr)

mbr中的主引导程序会协助硬件找到操作系统

mbr分区

只能分4个

分区类型:

  1. 主分区:可以直接使用,安装操作系统,存储文件等

  2. 扩展分区:不可以直接使用,需要再划分逻辑分区,让分区超过4个

  3. 逻辑分区:可以直接使用,存储文件

文件系统:用来管理(增删改查恢复)文件的程序

文件系统

文件系统的组成

  • 内核中的模块:ext4,xfs,vfat

  • Linux的虚拟文件系统:VFS

  • 用户空间的管理工具:mkfs.ext4,mkfs.xfs,mkfs.vfat

xfs centos7默认文件系统

ntfs win 默认文件系统

ext4

swap

  • 硬盘接口刷新命令:

echo "- - -" >/sys/class/scsi_host/host0/scan

echo "- - -" >/sys/class/scsi_host/host1/scan

echo "- - -" >/sys/class/scsi_host/host2/scan

硬盘多就以下往下刷新,在市场环境中不允许服务器重启的情况下使用,一般都不允许重启服务器,常用命令

mkfs -t:指定文件系统类型

lsblk:显示块设备(磁盘)显示比较详细

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  100G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   99G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  └─centos-home 253:4    0   47G  0 lvm  /home
sdb               8:16   0   20G  0 disk 
└─sdb1            8:17   0   20G  0 part 
  ├─vg01-lvol0  253:2    0   15G  0 lvm  
  └─vg01-cxk    253:3    0   20G  0 lvm  
sdc               8:32   0   20G  0 disk 
└─sdc1            8:33   0   20G  0 part 
  └─vg01-cxk    253:3    0   20G  0 lvm  
sr0              11:0    1  4.2G  0 rom  
​

partprobe:分完区以后,系统未识别可是使用该命令刷新分区表

blkid:查看设备的唯一

[root@localhost ~]# blkid
/dev/sda1: UUID="a70be810-5c71-48cb-a389-a4358ba97829" TYPE="xfs" 
/dev/sda2: UUID="fFpEHT-PN0A-Zo4h-Y93e-hMvc-KOMP-EoDI4j" TYPE="LVM2_member" 
/dev/sdb1: UUID="7P5Ypp-kVOc-WxEU-eyPa-Zz2X-sdDp-xuMHcT" TYPE="LVM2_member" 
/dev/sdc1: UUID="7CDYAo-aUVH-MFpF-C5RA-npyU-sbLL-c3tB18" TYPE="LVM2_member" 
/dev/sr0: UUID="2017-09-06-10-51-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/mapper/centos-root: UUID="14a2fd8f-0233-499e-a65c-a05fd60ebd51" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="a24fac42-07c1-4a59-a869-1ab8a0c8c36a" TYPE="swap" 
/dev/mapper/vg01-cxk: UUID="4d603c8b-4abb-4af2-88a4-7ed089060f83" TYPE="xfs" 
/dev/mapper/centos-home: UUID="18031c09-075d-4185-a966-9650b3f7be62" TYPE="xfs" 
​

创建分区

普通分区fdisk /dev/sdb > n > p>w

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
​
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
​
Device does not contain a recognized partition table
使用磁盘标识符 0x36c531ec 创建新的 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):+10G
分区 1 已设置为 Linux 类型,大小设为 10 GiB
​
命令(输入 m 获取帮助):w
The partition table has been altered!
​
Calling ioctl() to re-read partition table.
正在同步磁盘。
​

扩展分区fdisk /dev/sdb > n > e>w

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
​
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
​
​
命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e
分区号 (2-4,默认 2):
起始 扇区 (20973568-41943039,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):
将使用默认值 41943039
分区 2 已设置为 Extended 类型,大小设为 10 GiB
​
命令(输入 m 获取帮助):w
The partition table has been altered!
​
Calling ioctl() to re-read partition table.
正在同步磁盘。
​

逻辑分区fdisk /dev/sdb > n > l>w

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
​
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
​
​
命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l
添加逻辑分区 5
起始 扇区 (20975616-41943039,默认为 20975616):
将使用默认值 20975616
Last 扇区, +扇区 or +size{K,M,G} (20975616-41943039,默认为 41943039):
将使用默认值 41943039
分区 5 已设置为 Linux 类型,大小设为 10 GiB
​
命令(输入 m 获取帮助):
命令(输入 m 获取帮助):w
The partition table has been altered!
​
Calling ioctl() to re-read partition table.
正在同步磁盘。
​

格式化

mkfs.xfs /dev/sdb1

[root@localhost ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, 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
​

挂载

mount:临时挂载

[root@localhost ~]# mount /dev/sdb1 /mnt
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  100G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   99G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  └─centos-home 253:2    0   47G  0 lvm  /home
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0   10G  0 part /mnt
├─sdb2            8:18   0    1K  0 part 
└─sdb5            8:21   0   10G  0 part 
sdc               8:32   0   20G  0 disk 
sr0              11:0    1 1024M  0 rom  
​

/etc/fstab:永久挂在

一定使用UUID绑定挂载:blkid查看块设备UUID

设备名 挂载点 文件系统类型 权限 0 0

fsck:修复文件系统

swap分区

当内存不足时将硬盘空间当成内存使用

分区

[root@localhost ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。
​
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
​
Device does not contain a recognized partition table
使用磁盘标识符 0x742e2b6e 创建新的 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 列出所有代码):82
已将分区“Linux”的类型更改为“Linux swap / Solaris”
​
命令(输入 m 获取帮助):w
The partition table has been altered!
​
Calling ioctl() to re-read partition table.
正在同步磁盘。

格式化

mkfs.xfs /dev/sdc1

挂载 > 开启

  • 关闭swap分区

    • swapoff -a 【设备名】

  • 开启swap分区

    • swapon -a 【设备名】

逻辑卷

分区缺点

1.没有备份功能

2.无法扩容

3,性能取决于硬盘本身

逻辑卷原理:lvm分区(t要8e) 一整块磁盘

1.先确定可以使用的磁盘或分区

2.先将硬盘拆分成一个个小的块(块大小默认为4M)

3.然后将这些块组成一个集合

4.从这个集合中取块(去空间)

逻辑卷解决了分区无法扩容的问题

/boot分区用于存放引导文件,不能基于创建

图形界面管理工具

LVM的管理命令

主要命令

功能 物理卷管理(pv) 卷组管理(vg) 逻辑卷管理(lv)
scan pvscan vgscan lvscan
create pvcreate vgcreate lvcreate
display pvdisplay vgdisplay lvdisplay
remove pvremove vgremove lvremove
extend vgextend lvextend
reduce vgreduce lvreduce

pvcreat 设备1 [设备2.....]

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

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

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
​
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
​
​
命令(输入 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
已将分区“Linux”的类型更改为“Linux LVM”
​
命令(输入 m 获取帮助):p
​
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x36c531ec
​
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41943039    20970496   8e  Linux LVM
​
命令(输入 m 获取帮助):w
The partition table has been altered!
​
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。
​
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
​
​
命令(输入 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
已将分区“Linux”的类型更改为“Linux LVM”
​
命令(输入 m 获取帮助):w
The partition table has been altered!
​
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# pvcreate /dev/sdb1 /dev/sdc1
WARNING: xfs signature detected on /dev/sdb1 at offset 0. Wipe it? [y/n]: y
  Wiping xfs signature on /dev/sdb1.
WARNING: xfs signature detected on /dev/sdc1 at offset 0. Wipe it? [y/n]: y
  Wiping xfs signature on /dev/sdc1.
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdc1" successfully created.
[root@localhost ~]# vgcreate vg01 /dev/sdb1  /dev/sdc1
  Volume group "vg01" successfully created
[root@localhost ~]# lvcreate -L +10G -n cxk vg01
  Logical volume "cxk" created.
[root@localhost ~]# mkfs.xfs /dev/vg01/cxk
meta-data=/dev/vg01/cxk          isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, 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
[root@localhost ~]# mount /dev/vg01/cxk /mnt
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  100G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   99G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  └─centos-home 253:2    0   47G  0 lvm  /home
sdb               8:16   0   20G  0 disk 
└─sdb1            8:17   0   20G  0 part 
  └─vg01-cxk    253:3    0   10G  0 lvm  /mnt
sdc               8:32   0   20G  0 disk 
└─sdc1            8:33   0   20G  0 part 
sr0              11:0    1 1024M  0 rom  
​
​
​

相关推荐

  1. 磁盘管理逻辑

    2024-04-11 14:44:05       17 阅读
  2. Linux磁盘分区————逻辑

    2024-04-11 14:44:05       21 阅读

最近更新

  1. 探讨SpringMVC的工作原理

    2024-04-11 14:44:05       0 阅读
  2. CSS布局艺术:掌握水平与垂直对齐的秘诀

    2024-04-11 14:44:05       0 阅读
  3. SQL 游标

    2024-04-11 14:44:05       0 阅读
  4. 0706_ARM8

    2024-04-11 14:44:05       0 阅读

热门阅读

  1. 蓝桥杯刷题 二分-[364]跳石头(C++)

    2024-04-11 14:44:05       19 阅读
  2. 使用Python快速模拟前端常用页面数据格式

    2024-04-11 14:44:05       18 阅读
  3. 单例模式基本介绍及两种实现方式详解

    2024-04-11 14:44:05       17 阅读
  4. 鸿蒙开发 一 (二)、熟悉鸿蒙之剑 ArkTS

    2024-04-11 14:44:05       20 阅读
  5. 腾讯云短暂崩溃2小时

    2024-04-11 14:44:05       18 阅读
  6. MySQL | 加索引报错

    2024-04-11 14:44:05       17 阅读