openEuler:物理存储及逻辑卷管理

磁盘存储挂载与使用

磁盘挂载

磁盘挂载(mounting)是指在操作系统中将一个存储设备(如硬盘、SSD、光盘、U盘等)连接到文件系统,使其可以被系统和用户访问和使用。挂载后,存储设备上的文件和目录将会出现在指定的挂载点(通常是一个空的目录)下,用户可以通过这个挂载点来访问和操作这些文件和目录。

使用mount查看磁盘挂载信息

[root@localhost yum.repos.d]# mount
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=4096k,nr_inodes=1048576,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,size=299212k,nr_inodes=819200,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,size=4096k,nr_inodes=1024,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
none on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,rdma)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,net_cls,net_prio)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuset)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,freezer)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,pids)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,hugetlb)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpu,cpuacct)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,perf_event)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,memory)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,blkio)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,devices)
/dev/mapper/openeuler-root on / type ext4 (rw,relatime,seclabel)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,nosuid,noexec,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=35,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=14884)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel,pagesize=2M)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime,seclabel)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime,seclabel)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime,seclabel)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,seclabel,size=748028k,nr_inodes=1048576)
/dev/vda1 on /boot type ext4 (rw,relatime,seclabel)
信息的解释
  • 设备名:例如 /dev/sda1/dev/sda2/dev/sdb1 等,表示挂载的设备或分区。
  • 挂载点:例如 //home/mnt/mydisk 等,表示设备挂载到的目录。
  • 文件系统类型:例如 ext4iso9660squashfs 等,表示设备使用的文件系统类型。
  • 挂载选项:例如 rwrelatimeronosuid 等,表示挂载时使用的选项。

fdisk -l查看磁盘信息

[root@localhost boot]# fdisk -l
Disk /dev/vda:40 GiB,42949672960 字节,83886080 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x849d8593

设备       启动    起点     末尾     扇区 大小 Id 类型
/dev/vda1  *       2048  2099199  2097152   1G 83 Linux
/dev/vda2       2099200 83886079 81786880  39G 8e Linux LVM


Disk /dev/mapper/openeuler-root:36.94 GiB,39665532928 字节,77471744 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


Disk /dev/mapper/openeuler-swap:2.05 GiB,2206203904 字节,4308992 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

使用df -h查看磁盘挂载,容量,利用率

[root@localhost boot]# df -h
文件系统                    容量  已用  可用 已用% 挂载点
devtmpfs                    4.0M     0  4.0M    0% /dev
tmpfs                       731M     0  731M    0% /dev/shm
tmpfs                       293M   30M  263M   11% /run
tmpfs                       4.0M     0  4.0M    0% /sys/fs/cgroup
/dev/mapper/openeuler-root   37G  1.8G   33G    6% /
tmpfs                       731M     0  731M    0% /tmp
/dev/vda1                   974M  151M  756M   17% /boot

磁盘分区

硬盘分区是使用分割编辑器(partition editor)在磁盘上划分几个逻辑部分,碟片一旦划分成数个分割(Partition),不同类的目录与文件可以存储进不同的分割。

磁盘分区主要有 MBRGPT 两种格式,两种不同的磁盘分区表标准

使用 lsblk 列出系统上所有磁盘列表

[root@localhost boot]# lsblk
NAME               MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sr0                 11:0    1 223.5M  0 rom  
vda                252:0    0    40G  0 disk 
├─vda1             252:1    0     1G  0 part /boot
└─vda2             252:2    0    39G  0 part 
  ├─openeuler-root 253:0    0  36.9G  0 lvm  /
  └─openeuler-swap 253:1    0   2.1G  0 lvm  [SWAP]

从输出信息来看,主要分为两个sr0,vda装置,vda中分为两个分区vda1,vda2,vda2中还有 LVM 产生的文件系统

信息解释
  • NAME:装置文件名,会省略 /dev 等前导目录
  • MAJ:MIN:其实核心认识的装置都是通过这两个代码来熟悉的,分别是:主要:次要 装置
  • RM:是否为颗拆卸装置(removable device)。如光盘、USB 磁盘等
  • SIZE:容量
  • RO:是否为只读
  • TYPE:磁盘 disk、分区槽 partition、只读存储器 rom
  • MOUTPOINT:挂载点

分区架构

  • 主分区
  • 扩展分区(它本身不能存储数据,而是一个容器,可以包含多个逻辑分区)
    • 逻辑分区1
    • 逻辑分区2
    • 逻辑分区3

分区命名规则

/dev/vd{a-z}{number}

  • /dev/ 设备名称
  • vd 设备类型( hd/sd )
  • {a-z} 设备序号
  • {number} 分区编号

磁盘分区方案

MBR

使用 parted /dev/vda print 列出磁盘的分区表类型与分区信息

[root@localhost boot]# parted /dev/vda print
型号:Virtio 块设备 (virtblk)
磁盘 /dev/vda:42.9GB
扇区大小 (逻辑/物理):512B/512B
分区表:msdos
磁盘标志:

编号  起始点  结束点  大小    类型     文件系统  标志
 1    1049kB  1075MB  1074MB  primary  ext4      启动
 2    1075MB  42.9GB  41.9GB  primary            lvm

我们看到分区表类型 msdos 是指MBR分区表 — 使用 fdisk 分区工具,执行以下操作对某个磁盘进行操作

fdisk /dev/vda

GPT

  • GPT 分区标准摆脱了 MBR 的最大支持 2TB 的限制,支持更大的磁盘容量
  • 没有主分区和逻辑分区的区别
  • 每一个分区有一个全局标识符(GUID)
  • 使用 gdisk 工具

parted 分区工具

parted /dev/vda 进入交互模式

fstab 介绍

静态存储了磁盘存储挂载信息,在系统启动时,会自动调取该文件进行磁盘挂载,这样就不需要手动进行挂载

fstab文件格式

 #                      
/dev/sda1         /boot           ext4     defaults          1        2
/dev/mapper/root  /               ext4     defaults          0        1
UUID=12345678-9ab /home           ext4     defaults          0        2
  • :文件系统的设备路径或UUID
  • :文件系统要挂载到的路径
  • :文件系统类型
  • :挂载选项,例如defaultsnoautororw
  • :用于备份工具的备份级别,默认为0
  • :用于fsck工具的文件系统检查顺序,默认为0(不检查)
    openEuler:物理存储及逻辑卷管理_第1张图片

逻辑卷管理(LVM)

LVM 是 Linux 系统对磁盘分区的一种管理机制,是在磁盘分区之上建立一个逻辑层,这个逻辑层让多个硬盘或者分区看起来像一块逻辑硬盘,然后将这块逻辑硬盘分成逻辑卷之后使用,从而大大提高了分区的灵活性。

基本概念

  • PE(Physical Extend):物理单元,能被 LVM 寻址的最小单元
  • PV(Physical Volume):物理卷,即实际存在的分区
  • VG(Volume Group):卷组,一个或多个物理卷组成卷组,可以将卷组想象成为一个新的逻辑磁盘
  • LV(Logical Volume):逻辑卷,将卷组重新分配为多个逻辑卷,是用户实际使用的逻辑设备
    openEuler:物理存储及逻辑卷管理_第2张图片

使用 LVM 创建管理逻辑卷

物理卷操作

  • 创建物理卷
    命令为 pvcreate [option] devname
    详细用法使用 pvcreate --help 查看
  • 查看物理卷信息
    命令为 pvdisplay [option] devname ,我们可以看到信息包括如下
--- Physical volume ---
  PV Name               /dev/vda2
  VG Name               openeuler
  PV Size               <39.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              9983
  Free PE               0
  Allocated PE          9983
  PV UUID               yoL1lh-t5IG-VVPT-13dO-LxVD-LXvk-NnkUfE
  • 修改物理卷信息
    命令为 pvchange [option] devname
    详细用法使用 pvchange --help 查看
  • 删除物理卷
    命令为 pvremove [option] devname

卷组操作

  • 创建卷组 vgcreate [option] vgname pvname ...
  • 查看卷组 vgdisplay [option] [vgname]
  • 修改卷组属性 vgchange [option] vgname
  • 扩展卷组 vgextend [option] vgname pvname ...
  • 收缩卷组 vgreduce [option] vgname pvname ...
  • 删除卷组 vgremove [option] vgname

逻辑卷操作

  • 创建逻辑卷 lvcreate [option] -n lvname vgname
  • 查看逻辑卷 lvdisplay [option] [lvname]
  • 调整逻辑卷大小 lvresize [option] lvname
  • 扩展逻辑卷 lvextend [option] lvname
  • 收缩逻辑卷 lvreduce [option] lvname
  • 删除逻辑卷 lvremove [option] lvname

参考文章:

  • Linux LVM 逻辑卷管理器

你可能感兴趣的:(openEuler学习,服务器,linux,运维)