メインコンテンツへスキップ
  1. ノート/
  2. システム底层/

ディスク関連:ボリューム

·3228 文字·7 分· loading · loading · · ·
ICE345
著者
ICE345
CS Student | System | Linux | OCaml
この記事は中国語版をもとにした日本語版メモです。コマンド、コード、数式、画像リンクは原文の意味を壊さないように保持し、説明文と見出しを日本語向けに整理しています。

LVM(逻辑卷管理器)的概念
#

LVM(Logical Volume Manager,逻辑卷管理器)是一种用于管理计算机存储设备上磁盘空间分配的方法。它提供了一种更灵活和动态的磁盘管理方式,与传统的パーティション方式相比,更加灵活和便于调整。

1. 物理卷(Physical Volume,PV)
#

物理卷是 LVM 的基本存储单元,通常对应于物理ディスクパーティション或整个ディスク。一个物理卷できます包含在一个或多个卷组中。

  • 物理卷的作成: 你できます使用 pvcreate コマンド将一个物理パーティション或ディスク初始化为物理卷。たとえば:

    sudo pvcreate /dev/sda3
  • 物理卷的信息: 通过 pvs コマンドできます確認所有物理卷的信息。

    sudo pvs

2. 卷组(Volume Group,VG)
#

卷组是 LVM 的第二个层次,包含了一个或多个物理卷。一个卷组できます看作是一个存储池,できます在其上作成逻辑卷。

  • 卷组的作成: できます使用 vgcreate コマンド将一个或多个物理卷组合成一个卷组。たとえば:

    sudo vgcreate ubuntu-vg /dev/sda3
  • 卷组的信息: 通过 vgdisplay コマンドできます確認卷组的详细信息。

    sudo vgdisplay

3. 逻辑卷(Logical Volume,LV)
#

逻辑卷是在卷组之上作成的,できます看作是传统的パーティション。它提供了实际的存储空间,できます像普通パーティション一样使用(格式化、挂载等)。

  • 逻辑卷的作成: できます使用 lvcreate コマンド在卷组上作成逻辑卷。たとえば:

    sudo lvcreate -L 100G -n ubuntu-lv ubuntu-vg
  • 逻辑卷的信息: 通过 lvdisplay コマンドできます確認逻辑卷的详细信息。

    sudo lvdisplay

它们之间的关系
#

  • 物理卷(PV): 物理卷是 LVM 管理的最基本单位,它们是ディスクパーティション或整块ディスク。多个物理卷できます加入到一个卷组中。

  • 卷组(VG): 卷组由一个或多个物理卷组成,它们将多个物理卷的空间整合在一起,形成一个大的存储池。卷组提供了逻辑卷作成和管理的基础。

  • 逻辑卷(LV): 逻辑卷是在卷组之上作成的虚拟パーティション,它们できます动态调整大小,并且できます像普通的パーティション一样进行格式化和挂载。

与ディスク的关系及使用
#

  • ディスクパーティション(或整块ディスク): まず将ディスクパーティション(如 /dev/sda1/dev/sda2 等)初始化为物理卷。

  • 作成卷组: 将一个或多个物理卷追加到卷组中,形成一个统一的存储池。

  • 作成逻辑卷: 在卷组上作成一个或多个逻辑卷,逻辑卷将使用卷组中的空间。

  • 格式化和挂载: 作成好的逻辑卷できます进行格式化,如 ext 4 ファイルシステム,并挂载到ファイルシステムパス上。

使用ディスク空间的方式
#

  1. 初始化物理卷

    • たとえば,使用 pvcreate /dev/sda3 将物理パーティション初始化为物理卷。
  2. 作成卷组

    • 使用 vgcreate コマンド将一个或多个物理卷组合成一个卷组,如 vgcreate ubuntu-vg /dev/sda3
  3. 作成逻辑卷

    • 使用 lvcreate コマンド在卷组上作成逻辑卷,如 lvcreate -L 100G -n ubuntu-lv ubuntu-vg
  4. 格式化逻辑卷

    • たとえば,使用 mkfs.ext4 /dev/ubuntu-vg/ubuntu-lv 格式化逻辑卷。
  5. 挂载逻辑卷

    • 使用 mount コマンド挂载逻辑卷,如 mount /dev/ubuntu-vg/ubuntu-lv /mnt

通过这些手順,你できます动态地管理和调整存储空间,而不必像传统パーティション那样必要在作成时确定固定的大小。这种灵活性对于サーバー和大规模存储管理尤其重要。

コマンド及其解释
#

  1. sudo vgdisplay: 显示卷组(Volume Group,VG)的详细信息。

    sudo vgdisplay

    输出解释

    --- Volume group ---
    VG Name               ubuntu-vg                    # 卷组的名称
    System ID
    Format                lvm2                         # 卷组使用的LVM版本
    Metadata Areas        1                            # 元数据区域数量
    Metadata Sequence No  2                            # 元数据序列号
    VG Access             read/write                   # 卷组的访问权限
    VG Status             resizable                    # 卷组的状态
    MAX LV                0                            # 最大逻辑卷数量(0表示没有限制)
    Cur LV                1                            # 当前逻辑卷数量
    Open LV               1                            # 当前打开的逻辑卷数量
    Max PV                0                            # 最大物理卷数量(0表示没有限制)
    Cur PV                1                            # 当前物理卷数量
    Act PV                1                            # 当前活动的物理卷数量
    VG Size               <462.71 GiB                  # 卷组的总大小
    PE Size               4.00 MiB                     # 每个物理扩展区(PE)的大小
    Total PE              118453                       # 总的物理扩展区数量
    Alloc PE / Size       25600 / 100.00 GiB           # 已分配的物理扩展区数量及大小
    Free  PE / Size       92853 / <362.71 GiB          # 未分配的物理扩展区数量及大小
    VG UUID               xDrQn5-82mb-GSRY-IqDV-VR4V-fNOk-JodsIE # 卷组的唯一标识符
  2. sudo lvdisplay: 显示逻辑卷(Logical Volume,LV)的详细信息。

    sudo lvdisplay

    输出解释

    --- Logical volume ---
    LV Path                /dev/ubuntu-vg/ubuntu-lv      # 逻辑卷的路径
    LV Name                ubuntu-lv                     # 逻辑卷的名称
    VG Name                ubuntu-vg                     # 逻辑卷所属的卷组名称
    LV UUID                OeCqDd-O039-JMhk-TWaJ-og8T-BPgi-rL6hcd # 逻辑卷的唯一标识符
    LV Write Access        read/write                    # 逻辑卷的访问权限
    LV Creation host, time ubuntu-server, 2024-07-13 10:44:07 +0000 # 逻辑卷创建的主机和时间
    LV Status              available                     # 逻辑卷的状态
    # open                 1                             # 当前打开的逻辑卷数量
    LV Size                100.00 GiB                    # 逻辑卷的大小
    Current LE             25600                         # 当前逻辑扩展区数量
    Segments               1                             # 逻辑卷的段数
    Allocation             inherit                       # 分配策略
    Read ahead sectors     auto                          # 预读扇区数
    - currently set to     256                           # 当前设置的预读扇区数
    Block device           252:0                         # 逻辑卷的块设备号
  3. sudo pvs: 显示物理卷(Physical Volume,PV)的信息。

    sudo pvs

    输出解释

    PV         VG        Fmt  Attr PSize    PFree
    /dev/sda3  ubuntu-vg lvm2 a--  <462.71g <362.71g
    • PV: 物理卷的パス。
    • VG: 所属的卷组名称。
    • Fmt: 物理卷的格式(LVM 版本)。
    • Attr: 属性(a-- 表示激活状态)。
    • PSize: 物理卷的总大小。
    • PFree: 物理卷的空闲大小。
  4. sudo vgs: 显示卷组的摘要信息。

    sudo vgs

    输出解释

    VG        #PV #LV #SN Attr   VSize    VFree
    ubuntu-vg   1   1   0 wz--n- <462.71g <362.71g
    • VG: 卷组的名称。
    • #PV: 物理卷数量。
    • #LV: 逻辑卷数量。
    • #SN: 快照数量。
    • Attr: 属性(wz--n- 表示可写状态、可调整大小、未关闭的卷组)。
    • VSize: 卷组的总大小。
    • VFree: 卷组的空闲大小。
  5. sudo lvs: 显示逻辑卷的摘要信息。

    sudo lvs

    输出解释

    LV        VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
    ubuntu-lv ubuntu-vg -wi-ao---- 100.00g
    • LV: 逻辑卷的名称。
    • VG: 所属的卷组名称。
    • Attr: 属性(-wi-ao---- 表示写入状态、初始化状态、可用状态)。
    • LSize: 逻辑卷的大小。
    • Pool: 池(もし是精简卷池)。
    • Origin: 源(もし是快照)。
    • Data%: 已使用数据的百分比(对于精简卷池)。
    • Meta%: 已使用元数据的百分比(对于精简卷池)。
    • Move Log: 移动日志。
    • Cpy%Sync: 同步的复制百分比。
    • Convert: 转换状态。

这些コマンド及其输出提供了详细的 LVM 布局和卷的状态信息,帮助你管理和监控你的存储設定。もし有其他問題或必要进一步的解释,请告诉我。

コマンド
#

在 Linux システム中,逻辑卷管理(LVM,Logical Volume Manager)是一种用于管理磁盘存储设备的ツール。LVM 使得システム管理员できます更灵活地管理ファイルシステム和磁盘パーティション。以下是一些常用的 LVM コマンド以及它们的详细紹介:

1. 物理卷 (Physical Volume, PV)
#

物理卷是 LVM 的基本存储单元。物理卷できます是整个ディスク,ディスクパーティション,或者是 RAID 设备。

  • 作成物理卷:

    pvcreate /dev/sda1
  • 確認物理卷:

    pvdisplay
  • 確認物理卷信息:

    pvscan
  • 削除物理卷:

    pvremove /dev/sda1

2. 卷组 (Volume Group, VG)
#

卷组是由一个或多个物理卷组成的逻辑集合。逻辑卷是在卷组上作成的。

  • 作成卷组:

    vgcreate my_vg /dev/sda1 /dev/sdb1
  • 扩展卷组:

    vgextend my_vg /dev/sdc1
  • 確認卷组:

    vgdisplay
  • 確認卷组信息:

    vgscan
  • 减少卷组:

    vgreduce my_vg /dev/sdc1
  • 削除卷组:

    vgremove my_vg

3. 逻辑卷 (Logical Volume, LV)
#

逻辑卷是在卷组上作成的,它类似于传统的磁盘パーティション,但更灵活。

  • 作成逻辑卷:

    lvcreate -L 10G -n my_lv my_vg
  • 扩展逻辑卷:

    lvextend -L +5G /dev/my_vg/my_lv
  • 確認逻辑卷:

    lvdisplay
  • 確認逻辑卷信息:

    lvscan
  • 减少逻辑卷(在减小逻辑卷之前,请确保ファイルシステム大小已经减小):

    lvreduce -L -5G /dev/my_vg/my_lv
  • 削除逻辑卷:

    lvremove /dev/my_vg/my_lv

4. ファイルシステム
#

在作成逻辑卷后,通常必要在其上作成ファイルシステム。

  • 作成ファイルシステム:

    mkfs.ext4 /dev/my_vg/my_lv
  • 挂载ファイルシステム:

    mount /dev/my_vg/my_lv /mnt/my_mount_point
  • 確認挂载的ファイルシステム:

    df -h

5. 其他有用的 LVM コマンド
#

  • 显示所有 LVM 信息:

    lvs
    vgs
    pvs
  • 显示详细的 LVM 信息:

    lvdisplay
    vgdisplay
    pvdisplay

通过这些コマンド,システム管理员できます更灵活地管理存储资源,动态调整存储容量,并且减少システム停机时间。

补充
#

在 Ubuntu 中確認磁盘空间できます使用以下コマンド:

  1. df -h:显示磁盘使用情况,以人类可读的格式(たとえば GB、MB)。

    df -h
  2. du -sh /path/to/directory:显示指定ディレクトリ的大小,以人类可读的格式。

    du -sh /home
  3. lsblk:列出所有块设备,包括它们的挂载点和大小。

    lsblk
  4. fdisk -l:列出所有パーティション和详细信息。

    sudo fdisk -l
  5. lsblk:列出所有块设备及其大小。

    lsblk
  6. fdisk -l:显示所有磁盘及其パーティション信息。

    sudo fdisk -l
  7. df -h:显示各个挂载点的使用情况,包括总空间、已用空间和可用空间。

    df -h
  8. parted -l:显示所有磁盘及其パーティション信息。

    sudo parted -l

这些コマンド将帮助你確認ディスク的总大小和パーティション信息。